diff --git a/apps/extension/README.md b/apps/extension/README.md index 15c6dcb6e..abbaa525a 100644 --- a/apps/extension/README.md +++ b/apps/extension/README.md @@ -38,13 +38,13 @@ yarn lint:fix ## Installation of extension -Once you have run `yarn build`, you can use the files in `./dist` to install the extension: +Once you have run `yarn build`, you can use the files in `./build` to install the extension: ### Chrome 1. In Chrome, select `Manage Extensions` 2. Click the toggle to enable `Developer Mode` -3. Click `Load Unpacked` and point to the `dist` folder in this project +3. Click `Load Unpacked` and point to the `build` folder in this project ### Firefox diff --git a/apps/extension/package.json b/apps/extension/package.json index 12488206b..7c5135247 100644 --- a/apps/extension/package.json +++ b/apps/extension/package.json @@ -41,7 +41,7 @@ "@ledgerhq/hw-transport": "^6.30.0", "@ledgerhq/hw-transport-webhid": "^6.28.0", "@ledgerhq/hw-transport-webusb": "^6.28.0", - "@zondax/ledger-namada": "^0.0.4", + "@zondax/ledger-namada": "^0.0.6", "bignumber.js": "^9.1.1", "buffer": "^6.0.3", "dompurify": "^3.0.2", diff --git a/apps/extension/src/App/index.tsx b/apps/extension/src/App/index.tsx index ed71a7931..519fafcf5 100644 --- a/apps/extension/src/App/index.tsx +++ b/apps/extension/src/App/index.tsx @@ -9,20 +9,17 @@ import "@namada/components/src/base.css"; import "../global.css"; import "../tailwind.css"; -export default ((): void => { - const container = document.getElementById("root"); - const root = createRoot(container!); - root.render( - - - - - - - - - - - - ); -})(); +const container = document.getElementById("root")!; +createRoot(container).render( + + + + + + + + + + + +); diff --git a/apps/extension/src/Approvals/Approvals.tsx b/apps/extension/src/Approvals/Approvals.tsx index a503b1647..44dcaa866 100644 --- a/apps/extension/src/Approvals/Approvals.tsx +++ b/apps/extension/src/Approvals/Approvals.tsx @@ -23,7 +23,7 @@ export type ApprovalDetails = { signer: string; accountType: AccountType; msgId: string; - txDetails: TxDetails; + txDetails: TxDetails[]; }; export type SignArbitraryDetails = { @@ -55,11 +55,11 @@ export const Approvals: React.FC = () => { /> } + element={details && } /> } + element={details && } /> { /> } + element={ + signArbitraryDetails && ( + + ) + } /> diff --git a/apps/extension/src/Approvals/ApproveIcon.tsx b/apps/extension/src/Approvals/ApproveIcon.tsx new file mode 100644 index 000000000..83a3ff0b7 --- /dev/null +++ b/apps/extension/src/Approvals/ApproveIcon.tsx @@ -0,0 +1,32 @@ +export const ApproveIcon = (): JSX.Element => { + return ( + + + + + + ); +}; diff --git a/apps/extension/src/Approvals/ApproveSignArbitrary.tsx b/apps/extension/src/Approvals/ApproveSignArbitrary.tsx index bda88126c..ce916c9b7 100644 --- a/apps/extension/src/Approvals/ApproveSignArbitrary.tsx +++ b/apps/extension/src/Approvals/ApproveSignArbitrary.tsx @@ -31,7 +31,7 @@ export const ApproveSignArbitrary: React.FC = ({ const navigate = useNavigate(); const params = useSanitizedParams(); const requester = useRequester(); - const signer = params?.signer; + const signer = params.signer!; const query = useQuery(); const { msgId } = query.getAll(); diff --git a/apps/extension/src/Approvals/ApproveSignTx.tsx b/apps/extension/src/Approvals/ApproveSignTx.tsx index 307561107..b69562e77 100644 --- a/apps/extension/src/Approvals/ApproveSignTx.tsx +++ b/apps/extension/src/Approvals/ApproveSignTx.tsx @@ -85,20 +85,23 @@ export const ApproveSignTx: React.FC = ({ details, setDetails }) => { const getDataAsText = (): string => { if (!details) return ""; - return JSON.stringify( - { - ...details.txDetails, - commitments: details.txDetails.commitments.map((cmt) => ({ - ...cmt, - txType: TxTypeLabel[cmt.txType as TxType], - })), - }, - null, - 2 - ); + + const data = details.txDetails.map((d) => ({ + ...d, + commitments: d.commitments.map((cmt) => ({ + ...cmt, + txType: TxTypeLabel[cmt.txType as TxType], + })), + })); + + return JSON.stringify(data.length === 1 ? data[0] : data, null, 2); }; - const numberOfTx = details?.txDetails.commitments.length || 0; + const numberOfTx = + details?.txDetails.reduce((len, details) => { + return len + details.commitments.length || 0; + }, 0) || 0; + return ( = ({ details, setDetails }) => { onChangeViewData={setDisplayTransactionData} viewTransactionData={displayTransactionData} /> - {!displayTransactionData && - details?.txDetails?.commitments?.length && ( - - {details.txDetails.commitments.map((tx, i) => ( - - ))} - - )} + {!displayTransactionData && ( + + {details?.txDetails?.map( + ({ commitments }) => + commitments?.length && + commitments.map((tx, i) => ( + + )) + )} + + )} {displayTransactionData && details?.txDetails && ( )} diff --git a/apps/extension/src/Approvals/ConfirmSignArbitrary.tsx b/apps/extension/src/Approvals/ConfirmSignArbitrary.tsx index 3891b0afb..1355bfc4a 100644 --- a/apps/extension/src/Approvals/ConfirmSignArbitrary.tsx +++ b/apps/extension/src/Approvals/ConfirmSignArbitrary.tsx @@ -18,11 +18,11 @@ import { Ports } from "router"; import { closeCurrentTab } from "utils"; type Props = { - details?: SignArbitraryDetails; + details: SignArbitraryDetails; }; export const ConfirmSignature: React.FC = ({ details }) => { - const { msgId, signer } = details || {}; + const { msgId, signer } = details; const navigate = useNavigate(); const requester = useRequester(); @@ -32,10 +32,6 @@ export const ConfirmSignature: React.FC = ({ details }) => { const [statusInfo, setStatusInfo] = useState(""); const handleApproveSignature = useCallback(async (): Promise => { - if (!msgId || !signer) { - throw new Error("Not all required arguments were provided!"); - } - const address = shortenAddress(signer, 24); setStatus(Status.Pending); diff --git a/apps/extension/src/Approvals/ConfirmSignLedgerTx.tsx b/apps/extension/src/Approvals/ConfirmSignLedgerTx.tsx index b162a7654..9340e5a11 100644 --- a/apps/extension/src/Approvals/ConfirmSignLedgerTx.tsx +++ b/apps/extension/src/Approvals/ConfirmSignLedgerTx.tsx @@ -1,21 +1,67 @@ -import { useCallback, useEffect, useState } from "react"; +import clsx from "clsx"; +import { ReactNode, useCallback, useEffect, useState } from "react"; -import { Ledger } from "@heliax/namada-sdk/web"; -import { ActionButton, Alert, Stack } from "@namada/components"; -import { LedgerError } from "@zondax/ledger-namada"; +import { Ledger, makeBip44Path } from "@heliax/namada-sdk/web"; +import { ActionButton, Stack } from "@namada/components"; +import { LedgerError, ResponseSign } from "@zondax/ledger-namada"; +import { fromBase64 } from "@cosmjs/encoding"; +import { chains } from "@namada/chains"; +import { PageHeader } from "App/Common"; import { ApprovalDetails, Status } from "Approvals/Approvals"; +import { + QueryPendingTxBytesMsg, + SubmitApprovedSignLedgerTxMsg, +} from "background/approvals"; +import { QueryAccountDetailsMsg } from "background/keyring"; +import { useRequester } from "hooks/useRequester"; +import { Ports } from "router"; import { closeCurrentTab } from "utils"; +import { ApproveIcon } from "./ApproveIcon"; +import { LedgerIcon } from "./LedgerIcon"; +import { StatusBox } from "./StatusBox"; type Props = { - details?: ApprovalDetails; + details: ApprovalDetails; +}; + +const Step: React.FC<{ + title: string; + description: string; + icon: ReactNode; + selected: boolean; + disabled?: boolean; +}> = ({ title, description, icon, selected, disabled }) => { + return ( +
+
+
+ {icon} +
+
+
+ {title} +
+
{description}
+
+
+
+ ); }; export const ConfirmSignLedgerTx: React.FC = ({ details }) => { + const requester = useRequester(); const [error, setError] = useState(); const [status, setStatus] = useState(); const [statusInfo, setStatusInfo] = useState(""); - const { msgId } = details || {}; + const [isLedgerConnected, setIsLedgerConnected] = useState(false); + const { msgId, signer } = details; useEffect(() => { if (status === Status.Completed) { @@ -27,33 +73,27 @@ export const ConfirmSignLedgerTx: React.FC = ({ details }) => { ledger: Ledger, bytes: Uint8Array, path: string - ): Promise => { + ): Promise => { // Open ledger transport - if (!msgId) { - throw new Error("msgId was not provided!"); - } - setStatusInfo(`Review and approve transaction on your Ledger`); - try { - // Sign with Ledger - const signatures = await ledger.sign(bytes, path); - const { errorMessage, returnCode } = signatures; + // Sign with Ledger + const signature = await ledger.sign(bytes, path); + const { errorMessage, returnCode } = signature; - if (returnCode !== LedgerError.NoErrors) { - throw new Error(`Signing error encountered: ${errorMessage}`); - } - setStatus(Status.Completed); - } catch (e) { - await ledger.closeTransport(); - setError(`${e}`); - setStatus(Status.Failed); + if (returnCode !== LedgerError.NoErrors) { + throw new Error(`Signing error encountered: ${errorMessage}`); } + return signature; }; const handleApproveLedgerSignTx = useCallback( async (e: React.FormEvent): Promise => { e.preventDefault(); + setIsLedgerConnected(false); + setStatusInfo(`Connecting Ledger...`); + setStatus(Status.Pending); + const ledger = await Ledger.init().catch((e) => { setError(`${e}`); setStatus(Status.Failed); @@ -71,50 +111,95 @@ export const ConfirmSignLedgerTx: React.FC = ({ details }) => { if (returnCode !== LedgerError.NoErrors) { await ledger.closeTransport(); setError(errorMessage); - return setStatus(Status.Failed); + setStatus(Status.Failed); } + setIsLedgerConnected(true); setStatusInfo("Preparing transaction..."); - setStatus(Status.Pending); try { - // TODO: Bytes and Path will now be provided by interface when submitted for approval, - // which is now responsible for building Tx! - await signLedgerTx(ledger, new Uint8Array([]), ""); + const accountDetails = await requester.sendMessage( + Ports.Background, + new QueryAccountDetailsMsg(signer) + ); + if (!accountDetails) { + throw new Error(`Failed to query account details for ${signer}`); + } + const path = makeBip44Path( + chains.namada.bip44.coinType, + accountDetails.path + ); + const pendingTxs = await requester.sendMessage( + Ports.Background, + new QueryPendingTxBytesMsg(msgId) + ); + + if (!pendingTxs) { + throw new Error( + `Pending transactions for msgId: ${msgId} not found!` + ); + } + + const signatures: ResponseSign[] = []; + + for await (const tx of pendingTxs) { + const signature = await signLedgerTx(ledger, fromBase64(tx), path); + signatures.push(signature); + } + + await requester.sendMessage( + Ports.Background, + new SubmitApprovedSignLedgerTxMsg(msgId, signatures) + ); + + setStatus(Status.Completed); } catch (e) { await ledger.closeTransport(); setError(`${e}`); setStatus(Status.Failed); + setIsLedgerConnected(false); } }, [] ); + const handleRejectButton = useCallback(() => { + void closeCurrentTab(); + }, []); + return ( - - {status !== Status.Pending && status !== Status.Completed && ( - - Make sure your Ledger is unlocked, and click "Submit" - - )} - {status === Status.Failed && ( - - {error} -
- Try again -
- )} - {status === Status.Pending && {statusInfo}} - {status !== Status.Pending && status !== Status.Completed && ( - <> -

- Make sure your Ledger is unlocked, and click "Submit" -

-
- Submit -
- - )} + + + + + } + selected={!isLedgerConnected} + disabled={isLedgerConnected} + /> + } + selected={isLedgerConnected} + /> +
+ + + Submit + + + Reject + + + ); }; diff --git a/apps/extension/src/Approvals/ConfirmSignTx.tsx b/apps/extension/src/Approvals/ConfirmSignTx.tsx index 6214a7d7e..026397a9c 100644 --- a/apps/extension/src/Approvals/ConfirmSignTx.tsx +++ b/apps/extension/src/Approvals/ConfirmSignTx.tsx @@ -1,20 +1,22 @@ import { useCallback, useEffect, useState } from "react"; import { useNavigate } from "react-router-dom"; -import { ActionButton, Alert, Input, Stack } from "@namada/components"; +import { ActionButton, Input, Stack } from "@namada/components"; +import { PageHeader } from "App/Common"; import { ApprovalDetails, Status } from "Approvals/Approvals"; import { SubmitApprovedSignTxMsg } from "background/approvals"; import { UnlockVaultMsg } from "background/vault"; import { useRequester } from "hooks/useRequester"; import { Ports } from "router"; import { closeCurrentTab } from "utils"; +import { StatusBox } from "./StatusBox"; type Props = { - details?: ApprovalDetails; + details: ApprovalDetails; }; export const ConfirmSignTx: React.FC = ({ details }) => { - const { msgId, signer } = details || {}; + const { msgId, signer } = details; const navigate = useNavigate(); const requester = useRequester(); @@ -30,13 +32,6 @@ export const ConfirmSignTx: React.FC = ({ details }) => { setStatusInfo(`Decrypting keys and signing transaction...`); try { - if (!msgId) { - throw new Error("msgId was not provided!"); - } - if (!signer) { - throw new Error("signer not provided!"); - } - const isAuthenticated = await requester.sendMessage( Ports.Background, new UnlockVaultMsg(password) @@ -53,7 +48,6 @@ export const ConfirmSignTx: React.FC = ({ details }) => { setStatus(Status.Completed); } catch (e) { - console.info(e); setError(`${e}`); setStatus(Status.Failed); } @@ -68,29 +62,38 @@ export const ConfirmSignTx: React.FC = ({ details }) => { }, [status]); return ( - - {status === Status.Pending && {statusInfo}} - {status === Status.Failed && ( - - {error} -
- Try again -
- )} - {status !== (Status.Pending || Status.Completed) && ( - <> - Verify your password to continue - setPassword(e.target.value)} - /> - - Authenticate - navigate(-1)}>Back - - - )} + + + + + setPassword(e.target.value)} + /> +
+ + + Authenticate + + navigate(-1)} + > + Reject + + + ); }; diff --git a/apps/extension/src/Approvals/LedgerIcon.tsx b/apps/extension/src/Approvals/LedgerIcon.tsx new file mode 100644 index 000000000..45b7a6280 --- /dev/null +++ b/apps/extension/src/Approvals/LedgerIcon.tsx @@ -0,0 +1,16 @@ +export const LedgerIcon = (): JSX.Element => { + return ( + + + + ); +}; diff --git a/apps/extension/src/Approvals/StatusBox.tsx b/apps/extension/src/Approvals/StatusBox.tsx new file mode 100644 index 000000000..2493f542f --- /dev/null +++ b/apps/extension/src/Approvals/StatusBox.tsx @@ -0,0 +1,33 @@ +import { Alert } from "@namada/components"; +import { Status } from "Approvals/Approvals"; + +type Props = { + status?: Status; + idleText?: string; + pendingText?: string; + errorText?: string; +}; + +export const StatusBox: React.FC = ({ + status, + idleText, + pendingText, + errorText, +}) => { + if (!status) { + return <>{idleText && {idleText}}; + } + if (status === Status.Pending) { + return {pendingText}; + } + if (status === Status.Failed) { + return ( + + {errorText} +
+ Try again +
+ ); + } + return null; +}; diff --git a/apps/extension/src/Approvals/index.tsx b/apps/extension/src/Approvals/index.tsx index 1dbe2f75f..61d3e3c96 100644 --- a/apps/extension/src/Approvals/index.tsx +++ b/apps/extension/src/Approvals/index.tsx @@ -1,5 +1,5 @@ import React from "react"; -import ReactDOM from "react-dom"; +import { createRoot } from "react-dom/client"; import { HashRouter } from "react-router-dom"; import { getTheme } from "@namada/utils"; @@ -11,18 +11,15 @@ import "@namada/components/src/base.css"; import "../global.css"; import "../tailwind.css"; -export default ((): void => { - const theme = getTheme("dark"); - ReactDOM.render( - - - - - - - - - , - document.getElementById("root") - ); -})(); +const container = document.getElementById("root")!; +createRoot(container).render( + + + + + + + + + +); diff --git a/apps/extension/src/background/approvals/handler.test.ts b/apps/extension/src/background/approvals/handler.test.ts index dc4533966..fdc0b38aa 100644 --- a/apps/extension/src/background/approvals/handler.test.ts +++ b/apps/extension/src/background/approvals/handler.test.ts @@ -1,5 +1,4 @@ /* eslint-disable @typescript-eslint/no-explicit-any */ -import { TxType } from "@heliax/namada-sdk/web"; import createMockInstance from "jest-create-mock-instance"; import { ApproveConnectInterfaceMsg, @@ -47,11 +46,10 @@ describe("approvals handler", () => { }; const approveTxMsg = new ApproveSignTxMsg( - TxType.Transfer, - { txBytes: "", signingDataBytes: [""] }, - "signer", - "" + [{ txBytes: "", signingDataBytes: [""] }], + "signer" ); + handler(env, approveTxMsg); expect(service.approveSignTx).toBeCalled(); diff --git a/apps/extension/src/background/approvals/handler.ts b/apps/extension/src/background/approvals/handler.ts index d8c526873..02153b0cd 100644 --- a/apps/extension/src/background/approvals/handler.ts +++ b/apps/extension/src/background/approvals/handler.ts @@ -7,12 +7,14 @@ import { import { Env, Handler, InternalHandler, Message } from "router"; import { ConnectInterfaceResponseMsg, + QueryPendingTxBytesMsg, QuerySignArbitraryDataMsg, QueryTxDetailsMsg, RejectSignArbitraryMsg, RejectSignTxMsg, RevokeConnectionMsg, SubmitApprovedSignArbitraryMsg, + SubmitApprovedSignLedgerTxMsg, SubmitApprovedSignTxMsg, } from "./messages"; import { ApprovalsService } from "./service"; @@ -66,11 +68,21 @@ export const getHandler: (service: ApprovalsService) => Handler = (service) => { ); case QueryTxDetailsMsg: return handleQueryTxDetails(service)(env, msg as QueryTxDetailsMsg); + case QueryPendingTxBytesMsg: + return handleQueryPendingTxBytes(service)( + env, + msg as QueryPendingTxBytesMsg + ); case QuerySignArbitraryDataMsg: return handleQuerySignArbitraryData(service)( env, msg as QuerySignArbitraryDataMsg ); + case SubmitApprovedSignLedgerTxMsg: + return handleSubmitApprovedSignLedgerTxMsg(service)( + env, + msg as SubmitApprovedSignLedgerTxMsg + ); default: throw new Error("Unknown msg type"); @@ -121,14 +133,8 @@ const handleRevokeConnectionMsg: ( const handleApproveSignTxMsg: ( service: ApprovalsService ) => InternalHandler = (service) => { - return async (_, { signer, tx, txType, wrapperTxMsg, checksums }) => { - return await service.approveSignTx( - txType, - signer, - tx, - wrapperTxMsg, - checksums - ); + return async (_, { signer, tx, checksums }) => { + return await service.approveSignTx(signer, tx, checksums); }; }; @@ -180,6 +186,14 @@ const handleQueryTxDetails: ( }; }; +const handleQueryPendingTxBytes: ( + service: ApprovalsService +) => InternalHandler = (service) => { + return async (_, { msgId }) => { + return await service.queryPendingTxBytes(msgId); + }; +}; + const handleQuerySignArbitraryData: ( service: ApprovalsService ) => InternalHandler = (service) => { @@ -187,3 +201,11 @@ const handleQuerySignArbitraryData: ( return await service.querySignArbitraryDetails(msgId); }; }; + +const handleSubmitApprovedSignLedgerTxMsg: ( + service: ApprovalsService +) => InternalHandler = (service) => { + return async ({ senderTabId: popupTabId }, { msgId, responseSign }) => { + return await service.submitSignLedgerTx(popupTabId, msgId, responseSign); + }; +}; diff --git a/apps/extension/src/background/approvals/init.ts b/apps/extension/src/background/approvals/init.ts index ff7b37b6e..dcf3cc9be 100644 --- a/apps/extension/src/background/approvals/init.ts +++ b/apps/extension/src/background/approvals/init.ts @@ -7,12 +7,14 @@ import { import { Router } from "router"; import { ConnectInterfaceResponseMsg, + QueryPendingTxBytesMsg, QuerySignArbitraryDataMsg, QueryTxDetailsMsg, RejectSignArbitraryMsg, RejectSignTxMsg, RevokeConnectionMsg, SubmitApprovedSignArbitraryMsg, + SubmitApprovedSignLedgerTxMsg, SubmitApprovedSignTxMsg, } from "./messages"; @@ -27,12 +29,14 @@ export function init(router: Router, service: ApprovalsService): void { router.registerMessage(RejectSignArbitraryMsg); router.registerMessage(SubmitApprovedSignTxMsg); router.registerMessage(SubmitApprovedSignArbitraryMsg); + router.registerMessage(SubmitApprovedSignLedgerTxMsg); router.registerMessage(IsConnectionApprovedMsg); router.registerMessage(ApproveConnectInterfaceMsg); router.registerMessage(ConnectInterfaceResponseMsg); router.registerMessage(RevokeConnectionMsg); router.registerMessage(QueryTxDetailsMsg); router.registerMessage(QuerySignArbitraryDataMsg); + router.registerMessage(QueryPendingTxBytesMsg); router.addHandler(ROUTE, getHandler(service)); } diff --git a/apps/extension/src/background/approvals/messages.ts b/apps/extension/src/background/approvals/messages.ts index 17a81d542..2ee94399c 100644 --- a/apps/extension/src/background/approvals/messages.ts +++ b/apps/extension/src/background/approvals/messages.ts @@ -2,17 +2,20 @@ import { Message } from "router"; import { ROUTE } from "./constants"; import { TxDetails } from "@namada/types"; +import { ResponseSign } from "@zondax/ledger-namada"; import { validateProps } from "utils"; export enum MessageType { RejectSignTx = "reject-sign-tx", SubmitApprovedSignTx = "submit-approved-sign-tx", SubmitApprovedSignArbitrary = "submit-approved-sign-arbitrary", + SubmitApprovedSignLedgerTx = "submit-approved-sign-ledger-tx", RejectSignArbitrary = "reject-sign-arbitrary", ConnectInterfaceResponse = "connect-interface-response", RevokeConnection = "revoke-connection", QueryTxDetails = "query-tx-details", QuerySignArbitraryData = "query-sign-arbitrary-data", + QueryPendingTxBytes = "query-pending-tx-bytes", } export class SubmitApprovedSignTxMsg extends Message { @@ -40,6 +43,31 @@ export class SubmitApprovedSignTxMsg extends Message { } } +export class SubmitApprovedSignLedgerTxMsg extends Message { + public static type(): MessageType { + return MessageType.SubmitApprovedSignLedgerTx; + } + + constructor( + public readonly msgId: string, + public readonly responseSign: ResponseSign[] + ) { + super(); + } + + validate(): void { + validateProps(this, ["msgId", "responseSign"]); + } + + route(): string { + return ROUTE; + } + + type(): string { + return SubmitApprovedSignLedgerTxMsg.type(); + } +} + export class RejectSignTxMsg extends Message { public static type(): MessageType { return MessageType.RejectSignTx; @@ -162,7 +190,7 @@ export class RevokeConnectionMsg extends Message { } } -export class QueryTxDetailsMsg extends Message { +export class QueryTxDetailsMsg extends Message { public static type(): MessageType { return MessageType.QueryTxDetails; } @@ -184,6 +212,28 @@ export class QueryTxDetailsMsg extends Message { } } +export class QueryPendingTxBytesMsg extends Message { + public static type(): MessageType { + return MessageType.QueryPendingTxBytes; + } + + constructor(public readonly msgId: string) { + super(); + } + + validate(): void { + validateProps(this, ["msgId"]); + } + + route(): string { + return ROUTE; + } + + type(): string { + return QueryPendingTxBytesMsg.type(); + } +} + export class QuerySignArbitraryDataMsg extends Message { public static type(): MessageType { return MessageType.QuerySignArbitraryData; diff --git a/apps/extension/src/background/approvals/service.test.ts b/apps/extension/src/background/approvals/service.test.ts index b26ca909c..d54c41122 100644 --- a/apps/extension/src/background/approvals/service.test.ts +++ b/apps/extension/src/background/approvals/service.test.ts @@ -1,5 +1,4 @@ /* eslint-disable @typescript-eslint/no-explicit-any */ -import { TxType } from "@heliax/namada-sdk/web"; import { paramsToUrl } from "@namada/utils"; import { ChainsService } from "background/chains"; import { KeyRingService } from "background/keyring"; @@ -217,12 +216,13 @@ describe("approvals service", () => { (keyRingService.queryAccountDetails as any).mockResolvedValue(() => ({})); - const signaturePromise = service.approveSignTx( - TxType.Bond, - signer, - { txBytes, signingDataBytes: [signingDataBytes] }, - "" - ); + const signaturePromise = service.approveSignTx(signer, [ + { + txBytes, + signingDataBytes: [signingDataBytes], + }, + ]); + jest.spyOn(service as any, "_clearPendingTx"); (webextensionPolyfill.windows.create as any).mockResolvedValue({ diff --git a/apps/extension/src/background/approvals/service.ts b/apps/extension/src/background/approvals/service.ts index 5040f8a40..58ff79ae0 100644 --- a/apps/extension/src/background/approvals/service.ts +++ b/apps/extension/src/background/approvals/service.ts @@ -1,12 +1,13 @@ -import { fromBase64 } from "@cosmjs/encoding"; +import { fromBase64, toBase64 } from "@cosmjs/encoding"; import { v4 as uuid } from "uuid"; import browser, { Windows } from "webextension-polyfill"; -import { BuiltTx, TxType } from "@heliax/namada-sdk/web"; +import { BuiltTx } from "@heliax/namada-sdk/web"; import { KVStore } from "@namada/storage"; import { SignArbitraryResponse, TxDetails } from "@namada/types"; import { paramsToUrl } from "@namada/utils"; +import { ResponseSign } from "@zondax/ledger-namada"; import { ChainsService } from "background/chains"; import { KeyRingService } from "background/keyring"; import { SdkService } from "background/sdk"; @@ -36,12 +37,10 @@ export class ApprovalsService { ) {} async approveSignTx( - txType: TxType, signer: string, - tx: EncodedTxData, - wrapperTxMsg: string, + txs: EncodedTxData[], checksums?: Record - ): Promise { + ): Promise { const msgId = uuid(); const details = await this.keyRingService.queryAccountDetails(signer); @@ -49,19 +48,15 @@ export class ApprovalsService { throw new Error(`Could not find account for ${signer}`); } - const pendingTx = { - txBytes: fromBase64(tx.txBytes), - signingDataBytes: tx.signingDataBytes.map((bytes) => fromBase64(bytes)), - }; - - // Set PendingTx - await this.txStore.set(msgId, { - txType, - tx: pendingTx, + const pendingTx: PendingTx = { signer, - wrapperTxMsg: fromBase64(wrapperTxMsg), + txs: txs.map(({ txBytes, signingDataBytes }) => ({ + txBytes: fromBase64(txBytes), + signingDataBytes: signingDataBytes.map((bytes) => fromBase64(bytes)), + })), checksums, - }); + }; + await this.txStore.set(msgId, pendingTx); const url = `${browser.runtime.getURL( "approvals.html" @@ -127,18 +122,53 @@ export class ApprovalsService { throw new Error(`Signing data for ${msgId} not found!`); } - const builtTx = new BuiltTx( - pendingTx.txType, - pendingTx.tx.txBytes, - // TODO: In shared, fix "into_serde" call to handle Uint8Array so the following - // isn't needed: - pendingTx.tx.signingDataBytes.map((bytes) => [...bytes]), - pendingTx.wrapperTxMsg - ); + const txs = pendingTx.txs.map(({ txBytes, signingDataBytes }) => { + return new BuiltTx( + txBytes, + signingDataBytes.map((sdBytes) => [...sdBytes]) + ); + }); try { - const signature = await this.keyRingService.sign(builtTx, signer); - resolvers.resolve(signature); + const signedBytes: Uint8Array[] = []; + for await (const tx of txs) { + signedBytes.push(await this.keyRingService.sign(tx, signer)); + } + resolvers.resolve(signedBytes); + } catch (e) { + resolvers.reject(e); + } + + await this._clearPendingSignature(msgId); + } + + async submitSignLedgerTx( + popupTabId: number, + msgId: string, + responseSign: ResponseSign[] + ): Promise { + const pendingTx = await this.txStore.get(msgId); + const resolvers = this.resolverMap[popupTabId]; + + if (!resolvers) { + throw new Error(`no resolvers found for tab ID ${popupTabId}`); + } + + if (!pendingTx || !pendingTx.txs) { + throw new Error(`Transaction data for ${msgId} not found!`); + } + + if (pendingTx.txs.length !== responseSign.length) { + throw new Error(`Did not receive correct signatures for tx ${msgId}`); + } + + const { tx } = this.sdkService.getSdk(); + + try { + const signedTxs = pendingTx.txs.map(({ txBytes }, i) => { + return tx.appendSignature(txBytes, responseSign[i]); + }); + resolvers.resolve(signedTxs); } catch (e) { resolvers.reject(e); } @@ -265,7 +295,7 @@ export class ApprovalsService { await this.broadcaster.revokeConnection(); } - async queryTxDetails(msgId: string): Promise { + async queryTxDetails(msgId: string): Promise { const pendingTx = await this.txStore.get(msgId); if (!pendingTx) { @@ -273,7 +303,21 @@ export class ApprovalsService { } const { tx } = this.sdkService.getSdk(); - return tx.deserialize(pendingTx.tx.txBytes, pendingTx.checksums || {}); + return pendingTx.txs.map(({ txBytes }) => + tx.deserialize(txBytes, pendingTx.checksums || {}) + ); + } + + async queryPendingTxBytes(msgId: string): Promise { + const pendingTx = await this.txStore.get(msgId); + + if (!pendingTx) { + throw new Error(`Tx not found for ${msgId}`); + } + + if (pendingTx.txs) { + return pendingTx.txs.map(({ txBytes }) => toBase64(txBytes)); + } } async querySignArbitraryDetails(msgId: string): Promise { diff --git a/apps/extension/src/background/approvals/types.ts b/apps/extension/src/background/approvals/types.ts index 96f8e3554..2e56657fd 100644 --- a/apps/extension/src/background/approvals/types.ts +++ b/apps/extension/src/background/approvals/types.ts @@ -1,18 +1,16 @@ -import { TxType } from "@heliax/namada-sdk/web"; import { TxData } from "@namada/types"; export type ApprovedOriginsStore = string[]; export type PendingTx = { - txType: TxType; - tx: TxData; - wrapperTxMsg: Uint8Array; + txs: TxData[]; signer: string; checksums?: Record; }; export type PendingSignArbitrary = string; +// base64 encoded Tx data for use with postMessage export type EncodedTxData = { txBytes: string; signingDataBytes: string[]; diff --git a/apps/extension/src/background/keyring/handler.ts b/apps/extension/src/background/keyring/handler.ts index cd7f80520..a39b6fd21 100644 --- a/apps/extension/src/background/keyring/handler.ts +++ b/apps/extension/src/background/keyring/handler.ts @@ -11,6 +11,7 @@ import { DeriveAccountMsg, GenerateMnemonicMsg, GetActiveAccountMsg, + QueryAccountDetailsMsg, QueryParentAccountsMsg, RenameAccountMsg, RevealAccountMnemonicMsg, @@ -83,6 +84,11 @@ export const getHandler: (service: KeyRingService) => Handler = (service) => { ); case VerifyArbitraryMsg: return handleVerifyAbitraryMsg(service)(env, msg as VerifyArbitraryMsg); + case QueryAccountDetailsMsg: + return handleQueryAccountDetails(service)( + env, + msg as QueryAccountDetailsMsg + ); default: throw new Error("Unknown msg type"); } @@ -223,3 +229,11 @@ const handleVerifyAbitraryMsg: ( return await service.verifyArbitrary(publicKey, hash, signature); }; }; + +const handleQueryAccountDetails: ( + service: KeyRingService +) => InternalHandler = (service) => { + return async (_, { address }) => { + return await service.queryAccountDetails(address); + }; +}; diff --git a/apps/extension/src/background/keyring/init.ts b/apps/extension/src/background/keyring/init.ts index 63af79247..75c363238 100644 --- a/apps/extension/src/background/keyring/init.ts +++ b/apps/extension/src/background/keyring/init.ts @@ -13,6 +13,7 @@ import { DeriveAccountMsg, GenerateMnemonicMsg, GetActiveAccountMsg, + QueryAccountDetailsMsg, QueryParentAccountsMsg, RenameAccountMsg, RevealAccountMnemonicMsg, @@ -29,6 +30,7 @@ export function init(router: Router, service: KeyRingService): void { router.registerMessage(QueryAccountsMsg); router.registerMessage(QueryDefaultAccountMsg); router.registerMessage(QueryParentAccountsMsg); + router.registerMessage(QueryAccountDetailsMsg); router.registerMessage(SaveAccountSecretMsg); router.registerMessage(SetActiveAccountMsg); router.registerMessage(DeleteAccountMsg); diff --git a/apps/extension/src/background/keyring/messages.ts b/apps/extension/src/background/keyring/messages.ts index 462b5b571..ef776fb13 100644 --- a/apps/extension/src/background/keyring/messages.ts +++ b/apps/extension/src/background/keyring/messages.ts @@ -1,6 +1,7 @@ import { PhraseSize } from "@heliax/namada-sdk/web"; import { AccountType, Bip44Path, DerivedAccount } from "@namada/types"; import { Result } from "@namada/utils"; +import { ResponseSign } from "@zondax/ledger-namada"; import { Message } from "router"; import { validatePrivateKey } from "utils"; import { ROUTE } from "./constants"; @@ -25,6 +26,8 @@ enum MessageType { AddLedgerAccount = "add-ledger-account", RevealAccountMnemonic = "reveal-account-mnemonic", RenameAccount = "rename-account", + QueryAccountDetails = "query-account-details", + AppendLedgerSignature = "append-ledger-signature", } export class GenerateMnemonicMsg extends Message { @@ -350,3 +353,60 @@ export class DeleteAccountMsg extends Message< return DeleteAccountMsg.type(); } } + +export class QueryAccountDetailsMsg extends Message< + DerivedAccount | undefined +> { + public static type(): MessageType { + return MessageType.QueryAccountDetails; + } + + constructor(public address: string) { + super(); + } + + validate(): void { + if (!this.address) { + throw new Error("Account address is required!"); + } + return; + } + + route(): string { + return ROUTE; + } + + type(): string { + return QueryAccountDetailsMsg.type(); + } +} + +export class AppendLedgerSignatureMsg extends Message { + public static type(): MessageType { + return MessageType.AppendLedgerSignature; + } + + constructor( + public txBytes: Uint8Array, + public signature: ResponseSign + ) { + super(); + } + + validate(): void { + if (!this.txBytes) { + throw new Error("txBytes is required!"); + } + if (!this.signature) { + throw new Error("signature is required!"); + } + } + + route(): string { + return ROUTE; + } + + type(): string { + return AppendLedgerSignatureMsg.type(); + } +} diff --git a/apps/extension/src/background/keyring/service.ts b/apps/extension/src/background/keyring/service.ts index 5641a0676..a343739e1 100644 --- a/apps/extension/src/background/keyring/service.ts +++ b/apps/extension/src/background/keyring/service.ts @@ -1,6 +1,4 @@ -import { fromHex } from "@cosmjs/encoding"; - -import { PhraseSize, publicKeyToBech32 } from "@heliax/namada-sdk/web"; +import { PhraseSize } from "@heliax/namada-sdk/web"; import { IndexedDBKVStore, KVStore } from "@namada/storage"; import { AccountType, @@ -78,9 +76,6 @@ export class KeyRingService { publicKey: string, bip44Path: Bip44Path ): Promise { - const publicKeyBytes = fromHex(publicKey); - const bech32PublicKey = publicKeyToBech32(publicKeyBytes); - const account = await this._keyRing.queryAccountByAddress(address); if (account) { throw new Error( @@ -91,7 +86,7 @@ export class KeyRingService { const response = await this._keyRing.storeLedger( alias, address, - bech32PublicKey, + publicKey, bip44Path ); diff --git a/apps/extension/src/provider/InjectedNamada.ts b/apps/extension/src/provider/InjectedNamada.ts index 206e957cc..58d822f05 100644 --- a/apps/extension/src/provider/InjectedNamada.ts +++ b/apps/extension/src/provider/InjectedNamada.ts @@ -34,8 +34,8 @@ export class InjectedNamada implements INamada { ); } - public async sign(props: SignProps): Promise { - return await InjectedProxy.requestMethod( + public async sign(props: SignProps): Promise { + return await InjectedProxy.requestMethod( "sign", props ); diff --git a/apps/extension/src/provider/Namada.ts b/apps/extension/src/provider/Namada.ts index 414602515..775db3a44 100644 --- a/apps/extension/src/provider/Namada.ts +++ b/apps/extension/src/provider/Namada.ts @@ -1,5 +1,4 @@ import { toBase64 } from "@cosmjs/encoding"; -import { TxType } from "@heliax/namada-sdk/web"; import { Chain, DerivedAccount, @@ -61,24 +60,16 @@ export class Namada implements INamada { ); } - public async sign(props: SignProps): Promise { - const { - txType, - signer, - tx: { txBytes, signingDataBytes }, - wrapperTxMsg, - checksums, - } = props; + public async sign(props: SignProps): Promise { + const { signer, txs, checksums } = props; return await this.requester?.sendMessage( Ports.Background, new ApproveSignTxMsg( - txType as TxType, - { + txs.map(({ txBytes, signingDataBytes }) => ({ txBytes: toBase64(txBytes), signingDataBytes: signingDataBytes.map((bytes) => toBase64(bytes)), - }, + })), signer, - toBase64(wrapperTxMsg), checksums ) ); diff --git a/apps/extension/src/provider/Signer.ts b/apps/extension/src/provider/Signer.ts index 2f04ffd21..b1cff4997 100644 --- a/apps/extension/src/provider/Signer.ts +++ b/apps/extension/src/provider/Signer.ts @@ -44,20 +44,14 @@ export class Signer implements ISigner { } public async sign( - txType: unknown, - { txBytes, signingDataBytes }: TxData, + tx: TxData | TxData[], signer: string, - wrapperTxMsg: Uint8Array, checksums?: Record - ): Promise { + ): Promise { + const txs = tx instanceof Array ? tx : [tx]; return await this._namada.sign({ - txType, signer, - tx: { - txBytes, - signingDataBytes, - }, - wrapperTxMsg, + txs, checksums, }); } diff --git a/apps/extension/src/provider/messages.ts b/apps/extension/src/provider/messages.ts index 7d8efc165..e6cb30f32 100644 --- a/apps/extension/src/provider/messages.ts +++ b/apps/extension/src/provider/messages.ts @@ -1,4 +1,3 @@ -import { TxType } from "@heliax/namada-sdk/web"; import { Chain, DerivedAccount, SignArbitraryResponse } from "@namada/types"; import { EncodedTxData } from "background/approvals"; import { Message } from "router"; @@ -31,24 +30,21 @@ enum MessageType { VerifyArbitrary = "verify-arbitrary", } -export class ApproveSignTxMsg extends Message { +export class ApproveSignTxMsg extends Message { public static type(): MessageType { return MessageType.ApproveSignTx; } constructor( - // TODO: Simplify these args! - public readonly txType: TxType, - public readonly tx: EncodedTxData, + public readonly tx: EncodedTxData[], public readonly signer: string, - public readonly wrapperTxMsg: string, public readonly checksums?: Record ) { super(); } validate(): void { - validateProps(this, ["txType", "signer", "tx", "wrapperTxMsg"]); + validateProps(this, ["signer", "tx"]); } route(): string { diff --git a/apps/namadillo/src/App/Governance/SubmitVote.tsx b/apps/namadillo/src/App/Governance/SubmitVote.tsx index 352cfdc39..509b4ce8a 100644 --- a/apps/namadillo/src/App/Governance/SubmitVote.tsx +++ b/apps/namadillo/src/App/Governance/SubmitVote.tsx @@ -26,20 +26,22 @@ import { IoClose } from "react-icons/io5"; import { useNavigate } from "react-router-dom"; const dispatchVoteTx = (tx: TransactionPair): void => { - broadcastTx( - tx.encodedTxData.tx, - tx.signedTx, - tx.encodedTxData.meta?.props, - "VoteProposal" - ); + tx.signedTxs.forEach((signedTx) => { + broadcastTx( + tx.encodedTxData, + signedTx, + tx.encodedTxData.meta?.props, + "VoteProposal" + ); + }); }; export const SubmitVote: React.FC = () => { const proposalId = useProposalIdParam(); return proposalId === null ? null : ( - - ); + + ); }; export const WithProposalId: React.FC<{ proposalId: bigint }> = ({ diff --git a/apps/namadillo/src/App/Staking/IncrementBonding.tsx b/apps/namadillo/src/App/Staking/IncrementBonding.tsx index dec848847..7f3622933 100644 --- a/apps/namadillo/src/App/Staking/IncrementBonding.tsx +++ b/apps/namadillo/src/App/Staking/IncrementBonding.tsx @@ -115,12 +115,14 @@ const IncrementBonding = (): JSX.Element => { }; const dispatchBondingTransaction = (tx: TransactionPair): void => { - broadcastTx( - tx.encodedTxData.tx, - tx.signedTx, - tx.encodedTxData.meta?.props, - "Bond" - ); + tx.signedTxs.forEach((signedTx) => { + broadcastTx( + tx.encodedTxData, + signedTx, + tx.encodedTxData.meta?.props, + "Bond" + ); + }); }; useEffect(() => { @@ -141,7 +143,7 @@ const IncrementBonding = (): JSX.Element => { errorMessage={ bondTransactionError instanceof Error ? bondTransactionError.message - : undefined + : undefined } /> ), diff --git a/apps/namadillo/src/App/Staking/ReDelegate.tsx b/apps/namadillo/src/App/Staking/ReDelegate.tsx index c38e760e2..d43d252da 100644 --- a/apps/namadillo/src/App/Staking/ReDelegate.tsx +++ b/apps/namadillo/src/App/Staking/ReDelegate.tsx @@ -114,12 +114,14 @@ export const ReDelegate = (): JSX.Element => { const dispatchReDelegateTransaction = ( tx: TransactionPair ): void => { - broadcastTx( - tx.encodedTxData.tx, - tx.signedTx, - tx.encodedTxData.meta?.props, - "ReDelegate" - ); + tx.signedTxs.forEach((signedTx) => { + broadcastTx( + tx.encodedTxData, + signedTx, + tx.encodedTxData.meta?.props, + "ReDelegate" + ); + }); }; const performRedelegate = (): void => { diff --git a/apps/namadillo/src/App/Staking/Unstake.tsx b/apps/namadillo/src/App/Staking/Unstake.tsx index af859ddd0..26ee19dba 100644 --- a/apps/namadillo/src/App/Staking/Unstake.tsx +++ b/apps/namadillo/src/App/Staking/Unstake.tsx @@ -108,7 +108,7 @@ const Unstake = (): JSX.Element => { errorMessage={ unstakeTxError instanceof Error ? unstakeTxError.message - : undefined + : undefined } /> ), @@ -120,12 +120,14 @@ const Unstake = (): JSX.Element => { const dispatchUnbondingTransaction = ( tx: TransactionPair ): void => { - broadcastTx( - tx.encodedTxData.tx, - tx.signedTx, - tx.encodedTxData.meta?.props, - "Unbond" - ); + tx.signedTxs.forEach((signedTx) => { + broadcastTx( + tx.encodedTxData, + signedTx, + tx.encodedTxData.meta?.props, + "Unbond" + ); + }); }; useEffect(() => { @@ -253,7 +255,7 @@ const Unstake = (): JSX.Element => { > {isPerformingUnbond ? "Processing..." - : validationMessage || "Unstake"} + : validationMessage || "Unstake"} ): Promise => { - broadcastTx( - tx.encodedTxData.tx, - tx.signedTx, - tx.encodedTxData.meta?.props, - "Withdraw" - ); + tx.signedTxs.forEach((signedTx) => { + broadcastTx( + tx.encodedTxData, + signedTx, + tx.encodedTxData.meta?.props, + "Withdraw" + ); + }); }; const dispatchPendingNotification = ( transaction: TransactionPair, props: BondMsgValue ): void => { - dispatchNotification({ - id: transaction.encodedTxData.tx.tx_hash(), - title: "Withdrawal transaction in progress", - description: ( - <> - The withdrawal of{" "} - is being - processed - - ), - type: "pending", + transaction.encodedTxData.txs.forEach((tx) => { + dispatchNotification({ + id: tx.tx_hash(), + title: "Withdrawal transaction in progress", + description: ( + <> + The withdrawal of{" "} + is being + processed + + ), + type: "pending", + }); }); }; @@ -120,7 +124,7 @@ export const WithdrawalButton = ({ errorMessage={ withdrawalTransactionError instanceof Error ? withdrawalTransactionError.message - : undefined + : undefined } /> ), diff --git a/apps/namadillo/src/lib/query.ts b/apps/namadillo/src/lib/query.ts index 61179d618..a8c6435df 100644 --- a/apps/namadillo/src/lib/query.ts +++ b/apps/namadillo/src/lib/query.ts @@ -2,6 +2,7 @@ import { BuiltTx, EncodedTx } from "@heliax/namada-sdk/web"; import { getIntegration } from "@namada/integrations"; import { Account, + AccountType, Signer, WrapperTxMsgValue, WrapperTxProps, @@ -16,12 +17,13 @@ import { TransactionEventsClasses } from "types/events"; export type TransactionPair = { encodedTxData: EncodedTxData; - signedTx: Uint8Array; + signedTxs: Uint8Array[]; }; export type EncodedTxData = { type: string; - tx: BuiltTx; + txs: BuiltTx[]; + wrapperTxMsg: Uint8Array; meta?: { props: T; }; @@ -76,7 +78,7 @@ const isPublicKeyRevealed = async (address: Address): Promise => { * @param {T[]} queryProps - An array of properties used to build transactions. * @param {(WrapperTxProps, T) => Promise} txFn - Function to build each transaction. */ -export const buildBatchTx = async ( +export const buildTx = async ( account: Account, gasConfig: GasConfig, chain: ChainSettings, @@ -85,27 +87,31 @@ export const buildBatchTx = async ( ): Promise> => { const { tx } = await getSdkInstance(); const wrapperTxProps = getTxProps(account, gasConfig, chain); - const txs: BuiltTx[] = []; + const txs: EncodedTx[] = []; + const builtTxs: BuiltTx[] = []; // Determine if RevealPK is needed: const publicKeyRevealed = await isPublicKeyRevealed(account.address); if (!publicKeyRevealed) { const revealPkTx = await tx.buildRevealPk(wrapperTxProps); - txs.push(revealPkTx.tx); + txs.push(revealPkTx); } const encodedTxs = await Promise.all( queryProps.map((props) => txFn.apply(tx, [wrapperTxProps, props])) ); - txs.push(...encodedTxs.map((tx) => tx.tx)); + txs.push(...encodedTxs); - const initialTx = encodedTxs[0].tx; - const wrapperTxMsg = initialTx.wrapper_tx_msg(); - const batchTx = tx.buildBatch(txs, wrapperTxMsg); + if (account.type === AccountType.Ledger) { + builtTxs.push(...txs.map(({ tx }) => tx)); + } else { + builtTxs.push(tx.buildBatch(txs.map(({ tx }) => tx))); + } return { - tx: batchTx, + txs: builtTxs, + wrapperTxMsg: tx.encodeTxArgs(wrapperTxProps), type: txFn.name, meta: { props: queryProps[0], @@ -120,7 +126,7 @@ export const signTx = async ( chain: ChainSettings, typedEncodedTx: EncodedTxData, owner: string -): Promise => { +): Promise => { const integration = getIntegration(chain.id); const signingClient = integration.signer() as Signer; @@ -129,23 +135,21 @@ export const signTx = async ( const checksums = chainParameters?.checksums; try { - // Sign batch Tx - const signedBatchTxBytes = await signingClient.sign( - typedEncodedTx.tx.tx_type(), - { - txBytes: typedEncodedTx.tx.tx_bytes(), - signingDataBytes: typedEncodedTx.tx.signing_data_bytes(), - }, + // Sign txs + const signedTxBytes = await signingClient.sign( + typedEncodedTx.txs.map((builtTx) => ({ + txBytes: builtTx.tx_bytes(), + signingDataBytes: builtTx.signing_data_bytes(), + })), owner, - typedEncodedTx.tx.wrapper_tx_msg(), checksums ); - if (!signedBatchTxBytes) { + if (!signedTxBytes) { throw new Error("Signing batch Tx failed"); } - return signedBatchTxBytes; + return signedTxBytes; } catch (err) { const message = err instanceof Error ? err.message : err; throw new Error("Signing failed: " + message); @@ -167,53 +171,56 @@ export const buildTxPair = async ( txFn: (wrapperTxProps: WrapperTxProps, props: T) => Promise, owner: string ): Promise> => { - const encodedTxData = await buildBatchTx( + const encodedTxData = await buildTx( account, gasConfig, chain, queryProps, txFn ); - const signedTx = await signTx(chain, encodedTxData, owner); + const signedTxs = await signTx(chain, encodedTxData, owner); return { - signedTx, + signedTxs, encodedTxData, }; }; export const broadcastTx = async ( - encoded: BuiltTx, + encodedTx: EncodedTxData, signedTx: Uint8Array, data?: T, eventType?: TransactionEventsClasses ): Promise => { const { rpc } = await getSdkInstance(); - const transactionId = encoded.tx_hash(); - eventType && - window.dispatchEvent( - new CustomEvent(`${eventType}.Pending`, { - detail: { transactionId, data }, - }) - ); - try { - // TODO: rpc.broadcastTx returns a TxResponseProps object now, containing hashes and - // applied status of each commitment - await rpc.broadcastTx({ - wrapperTxMsg: encoded.wrapper_tx_msg(), - tx: signedTx, - }); + + encodedTx.txs.forEach(async (tx) => { + const transactionId = tx.tx_hash(); eventType && window.dispatchEvent( - new CustomEvent(`${eventType}.Success`, { + new CustomEvent(`${eventType}.Pending`, { detail: { transactionId, data }, }) ); - } catch (error) { - eventType && - window.dispatchEvent( - new CustomEvent(`${eventType}.Error`, { - detail: { transactionId, data, error }, - }) - ); - } + try { + // TODO: rpc.broadcastTx returns a TxResponseProps object now, containing hashes and + // applied status of each commitment + await rpc.broadcastTx({ + wrapperTxMsg: encodedTx.wrapperTxMsg, + tx: signedTx, + }); + eventType && + window.dispatchEvent( + new CustomEvent(`${eventType}.Success`, { + detail: { transactionId, data }, + }) + ); + } catch (error) { + eventType && + window.dispatchEvent( + new CustomEvent(`${eventType}.Error`, { + detail: { transactionId, data, error }, + }) + ); + } + }); }; diff --git a/packages/sdk/package.json b/packages/sdk/package.json index 8064730a6..3ecf3d812 100644 --- a/packages/sdk/package.json +++ b/packages/sdk/package.json @@ -65,7 +65,7 @@ "@ledgerhq/hw-transport": "^6.30.0", "@ledgerhq/hw-transport-webhid": "^6.28.0", "@ledgerhq/hw-transport-webusb": "^6.28.0", - "@zondax/ledger-namada": "^0.0.4", + "@zondax/ledger-namada": "^0.0.6", "bignumber.js": "^9.1.1", "buffer": "^6.0.3", "slip44": "^3.0.18", diff --git a/packages/sdk/src/ledger.ts b/packages/sdk/src/ledger.ts index 8d1edd7b6..27b6a2e35 100644 --- a/packages/sdk/src/ledger.ts +++ b/packages/sdk/src/ledger.ts @@ -1,4 +1,3 @@ -import { toHex } from "@cosmjs/encoding"; import Transport from "@ledgerhq/hw-transport"; import TransportHID from "@ledgerhq/hw-transport-webhid"; import TransportUSB from "@ledgerhq/hw-transport-webusb"; @@ -97,14 +96,13 @@ export class Ledger { public async getAddressAndPublicKey( path: string = DEFAULT_LEDGER_BIP44_PATH ): Promise { - const { address, publicKey } = - await this.namadaApp.getAddressAndPubKey(path); + const { address, pubkey } = await this.namadaApp.getAddressAndPubKey(path); return { // Return address as bech32-encoded string address: address.toString(), - // Return public key as hex-encoded string - publicKey: toHex(publicKey), + // Return public key as bech32-encoded string + publicKey: pubkey.toString(), }; } @@ -119,14 +117,14 @@ export class Ledger { path: string = DEFAULT_LEDGER_BIP44_PATH ): Promise { try { - const { address, publicKey } = + const { address, pubkey } = await this.namadaApp.showAddressAndPubKey(path); return { // Return address as bech32-encoded string address: address.toString(), - // Return public key as hex-encoded string - publicKey: toHex(publicKey), + // Return public key as bech32-encoded string + publicKey: pubkey.toString(), }; } catch (e) { throw new Error(`Connect Ledger rejected by user: ${e}`); diff --git a/packages/sdk/src/tests/ledger.test.ts b/packages/sdk/src/tests/ledger.test.ts index 43acb0faa..3aa9969cc 100644 --- a/packages/sdk/src/tests/ledger.test.ts +++ b/packages/sdk/src/tests/ledger.test.ts @@ -137,7 +137,7 @@ describe("ledger", () => { const namadaApp = { getAddressAndPubKey: jest.fn().mockReturnValue({ address: adrBuffer, - publicKey: keyBuffer, + pubkey: keyBuffer, }), }; const path = "path"; @@ -147,7 +147,7 @@ describe("ledger", () => { expect(namadaApp.getAddressAndPubKey).toHaveBeenCalledWith(path); expect(address).toEqual("addr"); - expect(publicKey).toEqual("6b6579"); + expect(publicKey).toEqual("key"); }); it("should return the address and public key of the ledger", async () => { @@ -156,7 +156,7 @@ describe("ledger", () => { const namadaApp = { getAddressAndPubKey: jest.fn().mockReturnValue({ address: adrBuffer, - publicKey: keyBuffer, + pubkey: keyBuffer, }), }; @@ -176,7 +176,7 @@ describe("ledger", () => { const namadaApp = { showAddressAndPubKey: jest.fn().mockReturnValue({ address: adrBuffer, - publicKey: keyBuffer, + pubkey: keyBuffer, }), }; const path = "path"; @@ -186,7 +186,7 @@ describe("ledger", () => { expect(namadaApp.showAddressAndPubKey).toHaveBeenCalledWith(path); expect(address).toEqual("addr"); - expect(publicKey).toEqual("6b6579"); + expect(publicKey).toEqual("key"); }); it("should throw an error when the ledger can't show the address and public key", async () => { diff --git a/packages/sdk/src/tx/tx.ts b/packages/sdk/src/tx/tx.ts index ffce27d0a..62bc6096d 100644 --- a/packages/sdk/src/tx/tx.ts +++ b/packages/sdk/src/tx/tx.ts @@ -273,11 +273,10 @@ export class Tx { /** * Build a batched transaction * @param txs - array of BuiltTx types - * @param wrapperTxMsg - Uint8Array of serialized WrapperTxMsg * @returns a BuiltTx type */ - buildBatch(txs: BuiltTx[], wrapperTxMsg: Uint8Array): BuiltTx { - return SdkWasm.build_batch(txs, wrapperTxMsg); + buildBatch(txs: BuiltTx[]): BuiltTx { + return SdkWasm.build_batch(txs); } /** @@ -313,7 +312,7 @@ export class Tx { } const { - pubkey, + rawPubkey, raw_indices, raw_signature, wrapper_indices, @@ -323,7 +322,7 @@ export class Tx { // Construct props from ledgerSignature /* eslint-disable */ const props = { - pubkey: new Uint8Array((pubkey as any).data), + pubkey: new Uint8Array((rawPubkey as any).data), rawIndices: new Uint8Array((raw_indices as any).data), rawSignature: new Uint8Array((raw_signature as any).data), wrapperIndices: new Uint8Array((wrapper_indices as any).data), diff --git a/packages/shared/lib/src/sdk/mod.rs b/packages/shared/lib/src/sdk/mod.rs index 27d5421d6..b7ea1cdfa 100644 --- a/packages/shared/lib/src/sdk/mod.rs +++ b/packages/shared/lib/src/sdk/mod.rs @@ -23,9 +23,9 @@ use namada::sdk::masp::ShieldedContext; use namada::sdk::rpc::query_epoch; use namada::sdk::signing::SigningTxData; use namada::sdk::tx::{ - build_batch, build_bond, build_ibc_transfer, build_redelegation, build_reveal_pk, - build_transparent_transfer, build_unbond, build_vote_proposal, build_withdraw, - build_claim_rewards, is_reveal_pk_needed, process_tx, ProcessTxResponse, + build_batch, build_bond, build_claim_rewards, build_ibc_transfer, build_redelegation, + build_reveal_pk, build_transparent_transfer, build_unbond, build_vote_proposal, build_withdraw, + is_reveal_pk_needed, process_tx, ProcessTxResponse, }; use namada::sdk::wallet::{Store, Wallet}; use namada::sdk::{Namada, NamadaImpl}; @@ -34,8 +34,6 @@ use namada::tx::Tx; use std::str::FromStr; use wasm_bindgen::{prelude::wasm_bindgen, JsError, JsValue}; -use tx::TxType; - #[wasm_bindgen] #[derive(BorshSerialize, BorshDeserialize)] #[borsh(crate = "namada::core::borsh")] @@ -60,23 +58,14 @@ pub struct TxResponse { #[wasm_bindgen] #[derive(Clone)] pub struct BuiltTx { - tx_type: TxType, - tx: Tx, + tx: Vec, signing_data: Vec, - wrapper_tx_msg: Vec, } #[wasm_bindgen] impl BuiltTx { #[wasm_bindgen(constructor)] - pub fn new( - tx_type: TxType, - tx_bytes: Vec, - signing_data_bytes: JsValue, - wrapper_tx_msg: Vec, - ) -> Result { - let tx: Tx = borsh::from_slice(&tx_bytes)?; - + pub fn new(tx: Vec, signing_data_bytes: JsValue) -> Result { let signing_data_bytes: Vec> = signing_data_bytes .into_serde() .expect("Deserializing should not fail"); @@ -89,29 +78,16 @@ impl BuiltTx { signing_data.push(signing_tx_data); } - Ok(BuiltTx { - tx_type, - tx, - signing_data, - wrapper_tx_msg, - }) - } - - pub fn tx_bytes(&self) -> Result, JsError> { - Ok(borsh::to_vec(&self.tx)?) + Ok(BuiltTx { tx, signing_data }) } - pub fn tx_hash(&self) -> String { - self.tx.raw_header_hash().to_string() + pub fn tx_bytes(&self) -> Vec { + self.tx.clone() } - // Hashes for all commitments - pub fn tx_hashes(&self) -> Vec { - self.tx - .commitments() - .iter() - .map(|cmt| cmt.get_hash().to_string()) - .collect() + pub fn tx_hash(&self) -> Result { + let tx: Tx = borsh::from_slice(&self.tx_bytes())?; + to_js_result(tx.header_hash().to_string()) } pub fn signing_data_bytes(&self) -> Result { @@ -125,16 +101,6 @@ impl BuiltTx { Ok(JsValue::from_serde(&signing_data_bytes)?) } - - // TODO: Add method to retrieve deserialized Tx properties - - pub fn tx_type(&self) -> tx::TxType { - self.tx_type - } - - pub fn wrapper_tx_msg(&self) -> Vec { - self.wrapper_tx_msg.clone() - } } /// Represents the Sdk public API. @@ -255,7 +221,7 @@ impl Sdk { private_key: Option, chain_id: Option, ) -> Result { - let mut tx: Tx = built_tx.tx; + let mut tx: Tx = borsh::from_slice(&built_tx.tx)?; // If chain_id is provided, validate this against value in Tx header if let Some(c) = chain_id { @@ -346,16 +312,12 @@ impl Sdk { } /// Build a batch Tx from built transactions and return the bytes - pub fn build_batch( - built_txs: Vec, - wrapper_tx_msg: Vec, - ) -> Result { + pub fn build_batch(built_txs: Vec) -> Result { let mut txs: Vec<(Tx, SigningTxData)> = vec![]; // Iterate through provided BuiltTx and deserialize bytes to Tx for built_tx in built_txs.into_iter() { - let tx_bytes = &built_tx.tx_bytes()?; - let tx: Tx = Tx::try_from_slice(tx_bytes)?; + let tx: Tx = Tx::try_from_slice(&built_tx.tx_bytes())?; let first_signing_data = built_tx .signing_data .iter() @@ -367,10 +329,8 @@ impl Sdk { let (tx, signing_data) = build_batch(txs.clone())?; Ok(BuiltTx { - tx_type: TxType::Batch, - tx, + tx: borsh::to_vec(&tx)?, signing_data, - wrapper_tx_msg, }) } @@ -416,10 +376,8 @@ impl Sdk { let (tx, signing_data) = build_transparent_transfer(&self.namada, &mut args).await?; Ok(BuiltTx { - tx_type: TxType::Transfer, - tx, + tx: borsh::to_vec(&tx)?, signing_data: vec![signing_data], - wrapper_tx_msg: Vec::from(wrapper_tx_msg), }) } @@ -433,10 +391,8 @@ impl Sdk { let (tx, signing_data, _) = build_ibc_transfer(&self.namada, &args).await?; Ok(BuiltTx { - tx_type: TxType::IBCTransfer, - tx, + tx: borsh::to_vec(&tx)?, signing_data: vec![signing_data], - wrapper_tx_msg: Vec::from(wrapper_tx_msg), }) } @@ -450,10 +406,8 @@ impl Sdk { let (tx, signing_data) = build_bridge_pool_tx(&self.namada, args.clone()).await?; Ok(BuiltTx { - tx_type: TxType::EthBridgeTransfer, - tx, + tx: borsh::to_vec(&tx)?, signing_data: vec![signing_data], - wrapper_tx_msg: Vec::from(wrapper_tx_msg), }) } @@ -470,10 +424,8 @@ impl Sdk { .map_err(JsError::from)?; Ok(BuiltTx { - tx_type: TxType::VoteProposal, - tx, + tx: borsh::to_vec(&tx)?, signing_data: vec![signing_data], - wrapper_tx_msg: Vec::from(wrapper_tx_msg), }) } @@ -488,10 +440,8 @@ impl Sdk { .map_err(JsError::from)?; Ok(BuiltTx { - tx_type: TxType::ClaimRewards, - tx, + tx: borsh::to_vec(&tx)?, signing_data: vec![signing_data], - wrapper_tx_msg: Vec::from(wrapper_tx_msg), }) } @@ -505,10 +455,8 @@ impl Sdk { let (tx, signing_data) = build_bond(&self.namada, &args).await?; Ok(BuiltTx { - tx_type: TxType::Bond, - tx, + tx: borsh::to_vec(&tx)?, signing_data: vec![signing_data], - wrapper_tx_msg: Vec::from(wrapper_tx_msg), }) } @@ -522,10 +470,8 @@ impl Sdk { let (tx, signing_data, _) = build_unbond(&self.namada, &args).await?; Ok(BuiltTx { - tx_type: TxType::Unbond, - tx, + tx: borsh::to_vec(&tx)?, signing_data: vec![signing_data], - wrapper_tx_msg: Vec::from(wrapper_tx_msg), }) } @@ -539,10 +485,8 @@ impl Sdk { let (tx, signing_data) = build_withdraw(&self.namada, &args).await?; Ok(BuiltTx { - tx_type: TxType::Withdraw, - tx, + tx: borsh::to_vec(&tx)?, signing_data: vec![signing_data], - wrapper_tx_msg: Vec::from(wrapper_tx_msg), }) } @@ -556,10 +500,8 @@ impl Sdk { let (tx, signing_data) = build_redelegation(&self.namada, &args).await?; Ok(BuiltTx { - tx_type: TxType::Redelegate, - tx, + tx: borsh::to_vec(&tx)?, signing_data: vec![signing_data], - wrapper_tx_msg: Vec::from(wrapper_tx_msg), }) } @@ -570,10 +512,8 @@ impl Sdk { let (tx, signing_data) = build_reveal_pk(&self.namada, &args.clone(), &public_key).await?; Ok(BuiltTx { - tx_type: TxType::RevealPK, - tx, + tx: borsh::to_vec(&tx)?, signing_data: vec![signing_data], - wrapper_tx_msg: Vec::from(wrapper_tx_msg), }) } diff --git a/packages/types/docs/classes/BatchTxResultMsgValue.md b/packages/types/docs/classes/BatchTxResultMsgValue.md index e09f9fcaf..08d0150ee 100644 --- a/packages/types/docs/classes/BatchTxResultMsgValue.md +++ b/packages/types/docs/classes/BatchTxResultMsgValue.md @@ -31,7 +31,7 @@ #### Defined in -[tx/schema/batchTxResult.ts:12](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/tx/schema/batchTxResult.ts#L12) +[tx/schema/batchTxResult.ts:12](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/tx/schema/batchTxResult.ts#L12) ## Properties @@ -41,7 +41,7 @@ #### Defined in -[tx/schema/batchTxResult.ts:7](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/tx/schema/batchTxResult.ts#L7) +[tx/schema/batchTxResult.ts:7](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/tx/schema/batchTxResult.ts#L7) ___ @@ -51,4 +51,4 @@ ___ #### Defined in -[tx/schema/batchTxResult.ts:10](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/tx/schema/batchTxResult.ts#L10) +[tx/schema/batchTxResult.ts:10](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/tx/schema/batchTxResult.ts#L10) diff --git a/packages/types/docs/classes/BondMsgValue.md b/packages/types/docs/classes/BondMsgValue.md index 70ca7b845..8a6ddf0dd 100644 --- a/packages/types/docs/classes/BondMsgValue.md +++ b/packages/types/docs/classes/BondMsgValue.md @@ -32,7 +32,7 @@ #### Defined in -[tx/schema/bond.ts:17](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/tx/schema/bond.ts#L17) +[tx/schema/bond.ts:17](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/tx/schema/bond.ts#L17) ## Properties @@ -42,7 +42,7 @@ #### Defined in -[tx/schema/bond.ts:15](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/tx/schema/bond.ts#L15) +[tx/schema/bond.ts:15](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/tx/schema/bond.ts#L15) ___ @@ -52,7 +52,7 @@ ___ #### Defined in -[tx/schema/bond.ts:9](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/tx/schema/bond.ts#L9) +[tx/schema/bond.ts:9](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/tx/schema/bond.ts#L9) ___ @@ -62,4 +62,4 @@ ___ #### Defined in -[tx/schema/bond.ts:12](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/tx/schema/bond.ts#L12) +[tx/schema/bond.ts:12](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/tx/schema/bond.ts#L12) diff --git a/packages/types/docs/classes/ClaimRewardsMsgValue.md b/packages/types/docs/classes/ClaimRewardsMsgValue.md index 8db5b4678..73cad790f 100644 --- a/packages/types/docs/classes/ClaimRewardsMsgValue.md +++ b/packages/types/docs/classes/ClaimRewardsMsgValue.md @@ -31,7 +31,7 @@ #### Defined in -[tx/schema/claimRewards.ts:12](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/tx/schema/claimRewards.ts#L12) +[tx/schema/claimRewards.ts:12](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/tx/schema/claimRewards.ts#L12) ## Properties @@ -41,7 +41,7 @@ #### Defined in -[tx/schema/claimRewards.ts:10](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/tx/schema/claimRewards.ts#L10) +[tx/schema/claimRewards.ts:10](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/tx/schema/claimRewards.ts#L10) ___ @@ -51,4 +51,4 @@ ___ #### Defined in -[tx/schema/claimRewards.ts:7](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/tx/schema/claimRewards.ts#L7) +[tx/schema/claimRewards.ts:7](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/tx/schema/claimRewards.ts#L7) diff --git a/packages/types/docs/classes/CommitmentMsgValue.md b/packages/types/docs/classes/CommitmentMsgValue.md index 4de7a8081..0c7ce0ffa 100644 --- a/packages/types/docs/classes/CommitmentMsgValue.md +++ b/packages/types/docs/classes/CommitmentMsgValue.md @@ -34,7 +34,7 @@ #### Defined in -[tx/schema/txDetails.ts:19](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/tx/schema/txDetails.ts#L19) +[tx/schema/txDetails.ts:19](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/tx/schema/txDetails.ts#L19) ___ @@ -44,7 +44,7 @@ ___ #### Defined in -[tx/schema/txDetails.ts:10](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/tx/schema/txDetails.ts#L10) +[tx/schema/txDetails.ts:10](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/tx/schema/txDetails.ts#L10) ___ @@ -54,7 +54,7 @@ ___ #### Defined in -[tx/schema/txDetails.ts:16](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/tx/schema/txDetails.ts#L16) +[tx/schema/txDetails.ts:16](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/tx/schema/txDetails.ts#L16) ___ @@ -64,7 +64,7 @@ ___ #### Defined in -[tx/schema/txDetails.ts:13](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/tx/schema/txDetails.ts#L13) +[tx/schema/txDetails.ts:13](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/tx/schema/txDetails.ts#L13) ___ @@ -74,4 +74,4 @@ ___ #### Defined in -[tx/schema/txDetails.ts:7](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/tx/schema/txDetails.ts#L7) +[tx/schema/txDetails.ts:7](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/tx/schema/txDetails.ts#L7) diff --git a/packages/types/docs/classes/EthBridgeTransferMsgValue.md b/packages/types/docs/classes/EthBridgeTransferMsgValue.md index e305eedb7..e32bb8370 100644 --- a/packages/types/docs/classes/EthBridgeTransferMsgValue.md +++ b/packages/types/docs/classes/EthBridgeTransferMsgValue.md @@ -37,7 +37,7 @@ #### Defined in -[tx/schema/ethBridgeTransfer.ts:32](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/tx/schema/ethBridgeTransfer.ts#L32) +[tx/schema/ethBridgeTransfer.ts:32](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/tx/schema/ethBridgeTransfer.ts#L32) ## Properties @@ -47,7 +47,7 @@ #### Defined in -[tx/schema/ethBridgeTransfer.ts:21](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/tx/schema/ethBridgeTransfer.ts#L21) +[tx/schema/ethBridgeTransfer.ts:21](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/tx/schema/ethBridgeTransfer.ts#L21) ___ @@ -57,7 +57,7 @@ ___ #### Defined in -[tx/schema/ethBridgeTransfer.ts:12](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/tx/schema/ethBridgeTransfer.ts#L12) +[tx/schema/ethBridgeTransfer.ts:12](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/tx/schema/ethBridgeTransfer.ts#L12) ___ @@ -67,7 +67,7 @@ ___ #### Defined in -[tx/schema/ethBridgeTransfer.ts:24](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/tx/schema/ethBridgeTransfer.ts#L24) +[tx/schema/ethBridgeTransfer.ts:24](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/tx/schema/ethBridgeTransfer.ts#L24) ___ @@ -77,7 +77,7 @@ ___ #### Defined in -[tx/schema/ethBridgeTransfer.ts:27](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/tx/schema/ethBridgeTransfer.ts#L27) +[tx/schema/ethBridgeTransfer.ts:27](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/tx/schema/ethBridgeTransfer.ts#L27) ___ @@ -87,7 +87,7 @@ ___ #### Defined in -[tx/schema/ethBridgeTransfer.ts:30](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/tx/schema/ethBridgeTransfer.ts#L30) +[tx/schema/ethBridgeTransfer.ts:30](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/tx/schema/ethBridgeTransfer.ts#L30) ___ @@ -97,7 +97,7 @@ ___ #### Defined in -[tx/schema/ethBridgeTransfer.ts:9](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/tx/schema/ethBridgeTransfer.ts#L9) +[tx/schema/ethBridgeTransfer.ts:9](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/tx/schema/ethBridgeTransfer.ts#L9) ___ @@ -107,7 +107,7 @@ ___ #### Defined in -[tx/schema/ethBridgeTransfer.ts:15](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/tx/schema/ethBridgeTransfer.ts#L15) +[tx/schema/ethBridgeTransfer.ts:15](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/tx/schema/ethBridgeTransfer.ts#L15) ___ @@ -117,4 +117,4 @@ ___ #### Defined in -[tx/schema/ethBridgeTransfer.ts:18](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/tx/schema/ethBridgeTransfer.ts#L18) +[tx/schema/ethBridgeTransfer.ts:18](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/tx/schema/ethBridgeTransfer.ts#L18) diff --git a/packages/types/docs/classes/IbcTransferMsgValue.md b/packages/types/docs/classes/IbcTransferMsgValue.md index d9c9822f7..859988901 100644 --- a/packages/types/docs/classes/IbcTransferMsgValue.md +++ b/packages/types/docs/classes/IbcTransferMsgValue.md @@ -39,7 +39,7 @@ #### Defined in -[tx/schema/ibcTransfer.ts:38](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/tx/schema/ibcTransfer.ts#L38) +[tx/schema/ibcTransfer.ts:38](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/tx/schema/ibcTransfer.ts#L38) ## Properties @@ -49,7 +49,7 @@ #### Defined in -[tx/schema/ibcTransfer.ts:18](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/tx/schema/ibcTransfer.ts#L18) +[tx/schema/ibcTransfer.ts:18](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/tx/schema/ibcTransfer.ts#L18) ___ @@ -59,7 +59,7 @@ ___ #### Defined in -[tx/schema/ibcTransfer.ts:24](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/tx/schema/ibcTransfer.ts#L24) +[tx/schema/ibcTransfer.ts:24](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/tx/schema/ibcTransfer.ts#L24) ___ @@ -69,7 +69,7 @@ ___ #### Defined in -[tx/schema/ibcTransfer.ts:33](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/tx/schema/ibcTransfer.ts#L33) +[tx/schema/ibcTransfer.ts:33](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/tx/schema/ibcTransfer.ts#L33) ___ @@ -79,7 +79,7 @@ ___ #### Defined in -[tx/schema/ibcTransfer.ts:21](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/tx/schema/ibcTransfer.ts#L21) +[tx/schema/ibcTransfer.ts:21](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/tx/schema/ibcTransfer.ts#L21) ___ @@ -89,7 +89,7 @@ ___ #### Defined in -[tx/schema/ibcTransfer.ts:12](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/tx/schema/ibcTransfer.ts#L12) +[tx/schema/ibcTransfer.ts:12](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/tx/schema/ibcTransfer.ts#L12) ___ @@ -99,7 +99,7 @@ ___ #### Defined in -[tx/schema/ibcTransfer.ts:36](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/tx/schema/ibcTransfer.ts#L36) +[tx/schema/ibcTransfer.ts:36](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/tx/schema/ibcTransfer.ts#L36) ___ @@ -109,7 +109,7 @@ ___ #### Defined in -[tx/schema/ibcTransfer.ts:9](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/tx/schema/ibcTransfer.ts#L9) +[tx/schema/ibcTransfer.ts:9](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/tx/schema/ibcTransfer.ts#L9) ___ @@ -119,7 +119,7 @@ ___ #### Defined in -[tx/schema/ibcTransfer.ts:27](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/tx/schema/ibcTransfer.ts#L27) +[tx/schema/ibcTransfer.ts:27](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/tx/schema/ibcTransfer.ts#L27) ___ @@ -129,7 +129,7 @@ ___ #### Defined in -[tx/schema/ibcTransfer.ts:30](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/tx/schema/ibcTransfer.ts#L30) +[tx/schema/ibcTransfer.ts:30](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/tx/schema/ibcTransfer.ts#L30) ___ @@ -139,4 +139,4 @@ ___ #### Defined in -[tx/schema/ibcTransfer.ts:15](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/tx/schema/ibcTransfer.ts#L15) +[tx/schema/ibcTransfer.ts:15](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/tx/schema/ibcTransfer.ts#L15) diff --git a/packages/types/docs/classes/Message.md b/packages/types/docs/classes/Message.md index 00c956a52..e984f955d 100644 --- a/packages/types/docs/classes/Message.md +++ b/packages/types/docs/classes/Message.md @@ -61,7 +61,7 @@ #### Defined in -[tx/messages/index.ts:9](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/tx/messages/index.ts#L9) +[tx/messages/index.ts:9](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/tx/messages/index.ts#L9) ___ @@ -88,4 +88,4 @@ ___ #### Defined in -[tx/messages/index.ts:17](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/tx/messages/index.ts#L17) +[tx/messages/index.ts:17](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/tx/messages/index.ts#L17) diff --git a/packages/types/docs/classes/RedelegateMsgValue.md b/packages/types/docs/classes/RedelegateMsgValue.md index e93bfe0c5..06c0ab8ee 100644 --- a/packages/types/docs/classes/RedelegateMsgValue.md +++ b/packages/types/docs/classes/RedelegateMsgValue.md @@ -33,7 +33,7 @@ #### Defined in -[tx/schema/redelegate.ts:19](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/tx/schema/redelegate.ts#L19) +[tx/schema/redelegate.ts:19](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/tx/schema/redelegate.ts#L19) ## Properties @@ -43,7 +43,7 @@ #### Defined in -[tx/schema/redelegate.ts:17](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/tx/schema/redelegate.ts#L17) +[tx/schema/redelegate.ts:17](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/tx/schema/redelegate.ts#L17) ___ @@ -53,7 +53,7 @@ ___ #### Defined in -[tx/schema/redelegate.ts:14](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/tx/schema/redelegate.ts#L14) +[tx/schema/redelegate.ts:14](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/tx/schema/redelegate.ts#L14) ___ @@ -63,7 +63,7 @@ ___ #### Defined in -[tx/schema/redelegate.ts:8](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/tx/schema/redelegate.ts#L8) +[tx/schema/redelegate.ts:8](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/tx/schema/redelegate.ts#L8) ___ @@ -73,4 +73,4 @@ ___ #### Defined in -[tx/schema/redelegate.ts:11](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/tx/schema/redelegate.ts#L11) +[tx/schema/redelegate.ts:11](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/tx/schema/redelegate.ts#L11) diff --git a/packages/types/docs/classes/RevealPkMsgValue.md b/packages/types/docs/classes/RevealPkMsgValue.md index 162d51a47..b6b59e1fc 100644 --- a/packages/types/docs/classes/RevealPkMsgValue.md +++ b/packages/types/docs/classes/RevealPkMsgValue.md @@ -30,7 +30,7 @@ #### Defined in -[tx/schema/revealPk.ts:8](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/tx/schema/revealPk.ts#L8) +[tx/schema/revealPk.ts:8](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/tx/schema/revealPk.ts#L8) ## Properties @@ -40,4 +40,4 @@ #### Defined in -[tx/schema/revealPk.ts:6](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/tx/schema/revealPk.ts#L6) +[tx/schema/revealPk.ts:6](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/tx/schema/revealPk.ts#L6) diff --git a/packages/types/docs/classes/SignatureMsgValue.md b/packages/types/docs/classes/SignatureMsgValue.md index 053c1a191..74b99362a 100644 --- a/packages/types/docs/classes/SignatureMsgValue.md +++ b/packages/types/docs/classes/SignatureMsgValue.md @@ -34,7 +34,7 @@ #### Defined in -[tx/schema/signature.ts:21](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/tx/schema/signature.ts#L21) +[tx/schema/signature.ts:21](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/tx/schema/signature.ts#L21) ## Properties @@ -44,7 +44,7 @@ #### Defined in -[tx/schema/signature.ts:7](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/tx/schema/signature.ts#L7) +[tx/schema/signature.ts:7](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/tx/schema/signature.ts#L7) ___ @@ -54,7 +54,7 @@ ___ #### Defined in -[tx/schema/signature.ts:10](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/tx/schema/signature.ts#L10) +[tx/schema/signature.ts:10](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/tx/schema/signature.ts#L10) ___ @@ -64,7 +64,7 @@ ___ #### Defined in -[tx/schema/signature.ts:13](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/tx/schema/signature.ts#L13) +[tx/schema/signature.ts:13](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/tx/schema/signature.ts#L13) ___ @@ -74,7 +74,7 @@ ___ #### Defined in -[tx/schema/signature.ts:16](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/tx/schema/signature.ts#L16) +[tx/schema/signature.ts:16](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/tx/schema/signature.ts#L16) ___ @@ -84,4 +84,4 @@ ___ #### Defined in -[tx/schema/signature.ts:19](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/tx/schema/signature.ts#L19) +[tx/schema/signature.ts:19](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/tx/schema/signature.ts#L19) diff --git a/packages/types/docs/classes/TransferDataMsgValue.md b/packages/types/docs/classes/TransferDataMsgValue.md index 5d2692ab4..09c535d8a 100644 --- a/packages/types/docs/classes/TransferDataMsgValue.md +++ b/packages/types/docs/classes/TransferDataMsgValue.md @@ -32,7 +32,7 @@ #### Defined in -[tx/schema/transfer.ts:49](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/tx/schema/transfer.ts#L49) +[tx/schema/transfer.ts:49](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/tx/schema/transfer.ts#L49) ___ @@ -42,7 +42,7 @@ ___ #### Defined in -[tx/schema/transfer.ts:43](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/tx/schema/transfer.ts#L43) +[tx/schema/transfer.ts:43](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/tx/schema/transfer.ts#L43) ___ @@ -52,4 +52,4 @@ ___ #### Defined in -[tx/schema/transfer.ts:46](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/tx/schema/transfer.ts#L46) +[tx/schema/transfer.ts:46](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/tx/schema/transfer.ts#L46) diff --git a/packages/types/docs/classes/TransferMsgValue.md b/packages/types/docs/classes/TransferMsgValue.md index 11a999024..3883ac984 100644 --- a/packages/types/docs/classes/TransferMsgValue.md +++ b/packages/types/docs/classes/TransferMsgValue.md @@ -32,7 +32,7 @@ #### Defined in -[tx/schema/transfer.ts:60](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/tx/schema/transfer.ts#L60) +[tx/schema/transfer.ts:60](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/tx/schema/transfer.ts#L60) ___ @@ -42,7 +42,7 @@ ___ #### Defined in -[tx/schema/transfer.ts:54](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/tx/schema/transfer.ts#L54) +[tx/schema/transfer.ts:54](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/tx/schema/transfer.ts#L54) ___ @@ -52,4 +52,4 @@ ___ #### Defined in -[tx/schema/transfer.ts:57](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/tx/schema/transfer.ts#L57) +[tx/schema/transfer.ts:57](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/tx/schema/transfer.ts#L57) diff --git a/packages/types/docs/classes/TransparentTransferDataMsgValue.md b/packages/types/docs/classes/TransparentTransferDataMsgValue.md index 57245cb1d..595ecf29f 100644 --- a/packages/types/docs/classes/TransparentTransferDataMsgValue.md +++ b/packages/types/docs/classes/TransparentTransferDataMsgValue.md @@ -33,7 +33,7 @@ #### Defined in -[tx/schema/transfer.ts:23](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/tx/schema/transfer.ts#L23) +[tx/schema/transfer.ts:23](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/tx/schema/transfer.ts#L23) ## Properties @@ -43,7 +43,7 @@ #### Defined in -[tx/schema/transfer.ts:21](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/tx/schema/transfer.ts#L21) +[tx/schema/transfer.ts:21](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/tx/schema/transfer.ts#L21) ___ @@ -53,7 +53,7 @@ ___ #### Defined in -[tx/schema/transfer.ts:12](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/tx/schema/transfer.ts#L12) +[tx/schema/transfer.ts:12](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/tx/schema/transfer.ts#L12) ___ @@ -63,7 +63,7 @@ ___ #### Defined in -[tx/schema/transfer.ts:15](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/tx/schema/transfer.ts#L15) +[tx/schema/transfer.ts:15](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/tx/schema/transfer.ts#L15) ___ @@ -73,4 +73,4 @@ ___ #### Defined in -[tx/schema/transfer.ts:18](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/tx/schema/transfer.ts#L18) +[tx/schema/transfer.ts:18](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/tx/schema/transfer.ts#L18) diff --git a/packages/types/docs/classes/TransparentTransferMsgValue.md b/packages/types/docs/classes/TransparentTransferMsgValue.md index 7e0507ca3..ab7364a3c 100644 --- a/packages/types/docs/classes/TransparentTransferMsgValue.md +++ b/packages/types/docs/classes/TransparentTransferMsgValue.md @@ -30,7 +30,7 @@ #### Defined in -[tx/schema/transfer.ts:32](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/tx/schema/transfer.ts#L32) +[tx/schema/transfer.ts:32](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/tx/schema/transfer.ts#L32) ## Properties @@ -40,4 +40,4 @@ #### Defined in -[tx/schema/transfer.ts:30](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/tx/schema/transfer.ts#L30) +[tx/schema/transfer.ts:30](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/tx/schema/transfer.ts#L30) diff --git a/packages/types/docs/classes/TxDetailsMsgValue.md b/packages/types/docs/classes/TxDetailsMsgValue.md index 4a20dc396..a53a2110b 100644 --- a/packages/types/docs/classes/TxDetailsMsgValue.md +++ b/packages/types/docs/classes/TxDetailsMsgValue.md @@ -31,7 +31,7 @@ #### Defined in -[tx/schema/txDetails.ts:27](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/tx/schema/txDetails.ts#L27) +[tx/schema/txDetails.ts:27](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/tx/schema/txDetails.ts#L27) ___ @@ -41,4 +41,4 @@ ___ #### Defined in -[tx/schema/txDetails.ts:24](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/tx/schema/txDetails.ts#L24) +[tx/schema/txDetails.ts:24](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/tx/schema/txDetails.ts#L24) diff --git a/packages/types/docs/classes/TxResponseMsgValue.md b/packages/types/docs/classes/TxResponseMsgValue.md index 863d120f0..9d5cef29c 100644 --- a/packages/types/docs/classes/TxResponseMsgValue.md +++ b/packages/types/docs/classes/TxResponseMsgValue.md @@ -36,7 +36,7 @@ #### Defined in -[tx/schema/txResponse.ts:28](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/tx/schema/txResponse.ts#L28) +[tx/schema/txResponse.ts:28](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/tx/schema/txResponse.ts#L28) ## Properties @@ -46,7 +46,7 @@ #### Defined in -[tx/schema/txResponse.ts:8](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/tx/schema/txResponse.ts#L8) +[tx/schema/txResponse.ts:8](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/tx/schema/txResponse.ts#L8) ___ @@ -56,7 +56,7 @@ ___ #### Defined in -[tx/schema/txResponse.ts:11](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/tx/schema/txResponse.ts#L11) +[tx/schema/txResponse.ts:11](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/tx/schema/txResponse.ts#L11) ___ @@ -66,7 +66,7 @@ ___ #### Defined in -[tx/schema/txResponse.ts:14](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/tx/schema/txResponse.ts#L14) +[tx/schema/txResponse.ts:14](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/tx/schema/txResponse.ts#L14) ___ @@ -76,7 +76,7 @@ ___ #### Defined in -[tx/schema/txResponse.ts:17](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/tx/schema/txResponse.ts#L17) +[tx/schema/txResponse.ts:17](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/tx/schema/txResponse.ts#L17) ___ @@ -86,7 +86,7 @@ ___ #### Defined in -[tx/schema/txResponse.ts:20](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/tx/schema/txResponse.ts#L20) +[tx/schema/txResponse.ts:20](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/tx/schema/txResponse.ts#L20) ___ @@ -96,7 +96,7 @@ ___ #### Defined in -[tx/schema/txResponse.ts:23](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/tx/schema/txResponse.ts#L23) +[tx/schema/txResponse.ts:23](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/tx/schema/txResponse.ts#L23) ___ @@ -106,4 +106,4 @@ ___ #### Defined in -[tx/schema/txResponse.ts:26](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/tx/schema/txResponse.ts#L26) +[tx/schema/txResponse.ts:26](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/tx/schema/txResponse.ts#L26) diff --git a/packages/types/docs/classes/UnbondMsgValue.md b/packages/types/docs/classes/UnbondMsgValue.md index 34c1dee1c..7fafb385f 100644 --- a/packages/types/docs/classes/UnbondMsgValue.md +++ b/packages/types/docs/classes/UnbondMsgValue.md @@ -32,7 +32,7 @@ #### Defined in -[tx/schema/unbond.ts:17](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/tx/schema/unbond.ts#L17) +[tx/schema/unbond.ts:17](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/tx/schema/unbond.ts#L17) ## Properties @@ -42,7 +42,7 @@ #### Defined in -[tx/schema/unbond.ts:15](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/tx/schema/unbond.ts#L15) +[tx/schema/unbond.ts:15](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/tx/schema/unbond.ts#L15) ___ @@ -52,7 +52,7 @@ ___ #### Defined in -[tx/schema/unbond.ts:9](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/tx/schema/unbond.ts#L9) +[tx/schema/unbond.ts:9](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/tx/schema/unbond.ts#L9) ___ @@ -62,4 +62,4 @@ ___ #### Defined in -[tx/schema/unbond.ts:12](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/tx/schema/unbond.ts#L12) +[tx/schema/unbond.ts:12](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/tx/schema/unbond.ts#L12) diff --git a/packages/types/docs/classes/VoteProposalMsgValue.md b/packages/types/docs/classes/VoteProposalMsgValue.md index 1d3eadb47..892b5fcf7 100644 --- a/packages/types/docs/classes/VoteProposalMsgValue.md +++ b/packages/types/docs/classes/VoteProposalMsgValue.md @@ -32,7 +32,7 @@ #### Defined in -[tx/schema/voteProposal.ts:15](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/tx/schema/voteProposal.ts#L15) +[tx/schema/voteProposal.ts:15](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/tx/schema/voteProposal.ts#L15) ## Properties @@ -42,7 +42,7 @@ #### Defined in -[tx/schema/voteProposal.ts:10](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/tx/schema/voteProposal.ts#L10) +[tx/schema/voteProposal.ts:10](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/tx/schema/voteProposal.ts#L10) ___ @@ -52,7 +52,7 @@ ___ #### Defined in -[tx/schema/voteProposal.ts:7](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/tx/schema/voteProposal.ts#L7) +[tx/schema/voteProposal.ts:7](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/tx/schema/voteProposal.ts#L7) ___ @@ -62,4 +62,4 @@ ___ #### Defined in -[tx/schema/voteProposal.ts:13](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/tx/schema/voteProposal.ts#L13) +[tx/schema/voteProposal.ts:13](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/tx/schema/voteProposal.ts#L13) diff --git a/packages/types/docs/classes/WithdrawMsgValue.md b/packages/types/docs/classes/WithdrawMsgValue.md index 27b458740..04859924e 100644 --- a/packages/types/docs/classes/WithdrawMsgValue.md +++ b/packages/types/docs/classes/WithdrawMsgValue.md @@ -31,7 +31,7 @@ #### Defined in -[tx/schema/withdraw.ts:12](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/tx/schema/withdraw.ts#L12) +[tx/schema/withdraw.ts:12](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/tx/schema/withdraw.ts#L12) ## Properties @@ -41,7 +41,7 @@ #### Defined in -[tx/schema/withdraw.ts:7](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/tx/schema/withdraw.ts#L7) +[tx/schema/withdraw.ts:7](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/tx/schema/withdraw.ts#L7) ___ @@ -51,4 +51,4 @@ ___ #### Defined in -[tx/schema/withdraw.ts:10](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/tx/schema/withdraw.ts#L10) +[tx/schema/withdraw.ts:10](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/tx/schema/withdraw.ts#L10) diff --git a/packages/types/docs/classes/WrapperTxMsgValue.md b/packages/types/docs/classes/WrapperTxMsgValue.md index 5bf16b061..baa8d861d 100644 --- a/packages/types/docs/classes/WrapperTxMsgValue.md +++ b/packages/types/docs/classes/WrapperTxMsgValue.md @@ -35,7 +35,7 @@ #### Defined in -[tx/schema/wrapperTx.ts:26](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/tx/schema/wrapperTx.ts#L26) +[tx/schema/wrapperTx.ts:26](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/tx/schema/wrapperTx.ts#L26) ## Properties @@ -45,7 +45,7 @@ #### Defined in -[tx/schema/wrapperTx.ts:18](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/tx/schema/wrapperTx.ts#L18) +[tx/schema/wrapperTx.ts:18](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/tx/schema/wrapperTx.ts#L18) ___ @@ -55,7 +55,7 @@ ___ #### Defined in -[tx/schema/wrapperTx.ts:12](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/tx/schema/wrapperTx.ts#L12) +[tx/schema/wrapperTx.ts:12](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/tx/schema/wrapperTx.ts#L12) ___ @@ -65,7 +65,7 @@ ___ #### Defined in -[tx/schema/wrapperTx.ts:15](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/tx/schema/wrapperTx.ts#L15) +[tx/schema/wrapperTx.ts:15](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/tx/schema/wrapperTx.ts#L15) ___ @@ -75,7 +75,7 @@ ___ #### Defined in -[tx/schema/wrapperTx.ts:24](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/tx/schema/wrapperTx.ts#L24) +[tx/schema/wrapperTx.ts:24](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/tx/schema/wrapperTx.ts#L24) ___ @@ -85,7 +85,7 @@ ___ #### Defined in -[tx/schema/wrapperTx.ts:21](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/tx/schema/wrapperTx.ts#L21) +[tx/schema/wrapperTx.ts:21](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/tx/schema/wrapperTx.ts#L21) ___ @@ -95,4 +95,4 @@ ___ #### Defined in -[tx/schema/wrapperTx.ts:9](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/tx/schema/wrapperTx.ts#L9) +[tx/schema/wrapperTx.ts:9](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/tx/schema/wrapperTx.ts#L9) diff --git a/packages/types/docs/enums/AccountType.md b/packages/types/docs/enums/AccountType.md index 3d2cbdcb4..6e1a30957 100644 --- a/packages/types/docs/enums/AccountType.md +++ b/packages/types/docs/enums/AccountType.md @@ -19,7 +19,7 @@ #### Defined in -[account.ts:18](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/account.ts#L18) +[account.ts:18](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/account.ts#L18) ___ @@ -29,7 +29,7 @@ ___ #### Defined in -[account.ts:12](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/account.ts#L12) +[account.ts:12](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/account.ts#L12) ___ @@ -39,7 +39,7 @@ ___ #### Defined in -[account.ts:14](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/account.ts#L14) +[account.ts:14](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/account.ts#L14) ___ @@ -49,4 +49,4 @@ ___ #### Defined in -[account.ts:16](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/account.ts#L16) +[account.ts:16](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/account.ts#L16) diff --git a/packages/types/docs/enums/BridgeType.md b/packages/types/docs/enums/BridgeType.md index 3fb90657b..17bfd4c7f 100644 --- a/packages/types/docs/enums/BridgeType.md +++ b/packages/types/docs/enums/BridgeType.md @@ -17,7 +17,7 @@ #### Defined in -[chain.ts:14](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/chain.ts#L14) +[chain.ts:14](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/chain.ts#L14) ___ @@ -27,4 +27,4 @@ ___ #### Defined in -[chain.ts:13](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/chain.ts#L13) +[chain.ts:13](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/chain.ts#L13) diff --git a/packages/types/docs/enums/Events.md b/packages/types/docs/enums/Events.md index edd85fac1..7967439ba 100644 --- a/packages/types/docs/enums/Events.md +++ b/packages/types/docs/enums/Events.md @@ -19,7 +19,7 @@ #### Defined in -[events.ts:5](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/events.ts#L5) +[events.ts:5](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/events.ts#L5) ___ @@ -29,7 +29,7 @@ ___ #### Defined in -[events.ts:8](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/events.ts#L8) +[events.ts:8](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/events.ts#L8) ___ @@ -39,7 +39,7 @@ ___ #### Defined in -[events.ts:7](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/events.ts#L7) +[events.ts:7](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/events.ts#L7) ___ @@ -49,4 +49,4 @@ ___ #### Defined in -[events.ts:6](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/events.ts#L6) +[events.ts:6](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/events.ts#L6) diff --git a/packages/types/docs/enums/KeplrEvents.md b/packages/types/docs/enums/KeplrEvents.md index 202375c56..ddefeda68 100644 --- a/packages/types/docs/enums/KeplrEvents.md +++ b/packages/types/docs/enums/KeplrEvents.md @@ -16,4 +16,4 @@ #### Defined in -[events.ts:13](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/events.ts#L13) +[events.ts:13](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/events.ts#L13) diff --git a/packages/types/docs/enums/MetamaskEvents.md b/packages/types/docs/enums/MetamaskEvents.md index 49892fc34..833cf8896 100644 --- a/packages/types/docs/enums/MetamaskEvents.md +++ b/packages/types/docs/enums/MetamaskEvents.md @@ -17,7 +17,7 @@ #### Defined in -[events.ts:18](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/events.ts#L18) +[events.ts:18](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/events.ts#L18) ___ @@ -27,4 +27,4 @@ ___ #### Defined in -[events.ts:19](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/events.ts#L19) +[events.ts:19](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/events.ts#L19) diff --git a/packages/types/docs/interfaces/IMessage.md b/packages/types/docs/interfaces/IMessage.md index 98c09aa77..4c27e1cfa 100644 --- a/packages/types/docs/interfaces/IMessage.md +++ b/packages/types/docs/interfaces/IMessage.md @@ -36,4 +36,4 @@ #### Defined in -[tx/messages/index.ts:5](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/tx/messages/index.ts#L5) +[tx/messages/index.ts:5](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/tx/messages/index.ts#L5) diff --git a/packages/types/docs/interfaces/Namada.md b/packages/types/docs/interfaces/Namada.md index dd6b9ed3d..dbb86a2fd 100644 --- a/packages/types/docs/interfaces/Namada.md +++ b/packages/types/docs/interfaces/Namada.md @@ -35,7 +35,7 @@ #### Defined in -[namada.ts:41](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/namada.ts#L41) +[namada.ts:37](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/namada.ts#L37) ___ @@ -53,7 +53,7 @@ ___ #### Defined in -[namada.ts:42](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/namada.ts#L42) +[namada.ts:38](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/namada.ts#L38) ## Methods @@ -73,7 +73,7 @@ ___ #### Defined in -[namada.ts:32](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/namada.ts#L32) +[namada.ts:28](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/namada.ts#L28) ___ @@ -87,7 +87,7 @@ ___ #### Defined in -[namada.ts:33](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/namada.ts#L33) +[namada.ts:29](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/namada.ts#L29) ___ @@ -107,7 +107,7 @@ ___ #### Defined in -[namada.ts:35](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/namada.ts#L35) +[namada.ts:31](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/namada.ts#L31) ___ @@ -121,13 +121,13 @@ ___ #### Defined in -[namada.ts:34](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/namada.ts#L34) +[namada.ts:30](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/namada.ts#L30) ___ ### sign -▸ **sign**(`props`): `Promise`\<`undefined` \| `Uint8Array`\> +▸ **sign**(`props`): `Promise`\<`undefined` \| `Uint8Array`[]\> #### Parameters @@ -137,11 +137,11 @@ ___ #### Returns -`Promise`\<`undefined` \| `Uint8Array`\> +`Promise`\<`undefined` \| `Uint8Array`[]\> #### Defined in -[namada.ts:36](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/namada.ts#L36) +[namada.ts:32](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/namada.ts#L32) ___ @@ -161,7 +161,7 @@ ___ #### Defined in -[namada.ts:37](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/namada.ts#L37) +[namada.ts:33](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/namada.ts#L33) ___ @@ -181,4 +181,4 @@ ___ #### Defined in -[namada.ts:40](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/namada.ts#L40) +[namada.ts:36](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/namada.ts#L36) diff --git a/packages/types/docs/interfaces/Signer.md b/packages/types/docs/interfaces/Signer.md index 139c032dd..33ae918f8 100644 --- a/packages/types/docs/interfaces/Signer.md +++ b/packages/types/docs/interfaces/Signer.md @@ -34,7 +34,7 @@ #### Defined in -[signer.ts:14](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/signer.ts#L14) +[signer.ts:14](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/signer.ts#L14) ___ @@ -58,35 +58,33 @@ ___ #### Defined in -[signer.ts:15](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/signer.ts#L15) +[signer.ts:15](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/signer.ts#L15) ___ ### sign -• **sign**: (`txType`: `unknown`, `tx`: [`TxData`](../modules.md#txdata), `signer`: `string`, `wrapperTxMsg`: `Uint8Array`, `checksums?`: `Record`\<`string`, `string`\>) => `Promise`\<`undefined` \| `Uint8Array`\> +• **sign**: (`tx`: [`TxData`](../modules.md#txdata) \| [`TxData`](../modules.md#txdata)[], `signer`: `string`, `checksums?`: `Record`\<`string`, `string`\>) => `Promise`\<`undefined` \| `Uint8Array`[]\> #### Type declaration -▸ (`txType`, `tx`, `signer`, `wrapperTxMsg`, `checksums?`): `Promise`\<`undefined` \| `Uint8Array`\> +▸ (`tx`, `signer`, `checksums?`): `Promise`\<`undefined` \| `Uint8Array`[]\> ##### Parameters | Name | Type | | :------ | :------ | -| `txType` | `unknown` | -| `tx` | [`TxData`](../modules.md#txdata) | +| `tx` | [`TxData`](../modules.md#txdata) \| [`TxData`](../modules.md#txdata)[] | | `signer` | `string` | -| `wrapperTxMsg` | `Uint8Array` | | `checksums?` | `Record`\<`string`, `string`\> | ##### Returns -`Promise`\<`undefined` \| `Uint8Array`\> +`Promise`\<`undefined` \| `Uint8Array`[]\> #### Defined in -[signer.ts:18](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/signer.ts#L18) +[signer.ts:16](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/signer.ts#L16) ___ @@ -111,7 +109,7 @@ ___ #### Defined in -[signer.ts:25](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/signer.ts#L25) +[signer.ts:21](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/signer.ts#L21) ___ @@ -137,4 +135,4 @@ ___ #### Defined in -[signer.ts:29](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/signer.ts#L29) +[signer.ts:25](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/signer.ts#L25) diff --git a/packages/types/docs/modules.md b/packages/types/docs/modules.md index 8d0e432c0..cafea986b 100644 --- a/packages/types/docs/modules.md +++ b/packages/types/docs/modules.md @@ -133,7 +133,7 @@ #### Defined in -[account.ts:32](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/account.ts#L32) +[account.ts:32](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/account.ts#L32) ___ @@ -150,7 +150,7 @@ ___ #### Defined in -[proposals.ts:33](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/proposals.ts#L33) +[proposals.ts:34](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/proposals.ts#L34) ___ @@ -167,7 +167,7 @@ ___ #### Defined in -[namada.ts:26](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/namada.ts#L26) +[namada.ts:22](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/namada.ts#L22) ___ @@ -177,7 +177,7 @@ ___ #### Defined in -[tx/types.ts:20](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/tx/types.ts#L20) +[tx/types.ts:20](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/tx/types.ts#L20) ___ @@ -195,7 +195,7 @@ ___ #### Defined in -[account.ts:3](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/account.ts#L3) +[account.ts:3](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/account.ts#L3) ___ @@ -205,7 +205,7 @@ ___ #### Defined in -[tx/types.ts:21](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/tx/types.ts#L21) +[tx/types.ts:21](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/tx/types.ts#L21) ___ @@ -232,7 +232,7 @@ ___ #### Defined in -[chain.ts:49](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/chain.ts#L49) +[chain.ts:49](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/chain.ts#L49) ___ @@ -242,7 +242,7 @@ ___ #### Defined in -[chain.ts:21](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/chain.ts#L21) +[chain.ts:21](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/chain.ts#L21) ___ @@ -252,7 +252,7 @@ ___ #### Defined in -[tx/types.ts:32](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/tx/types.ts#L32) +[tx/types.ts:32](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/tx/types.ts#L32) ___ @@ -262,7 +262,7 @@ ___ #### Defined in -[tx/types.ts:49](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/tx/types.ts#L49) +[tx/types.ts:49](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/tx/types.ts#L49) ___ @@ -272,7 +272,7 @@ ___ #### Defined in -[tokens/Cosmos.ts:13](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/tokens/Cosmos.ts#L13) +[tokens/Cosmos.ts:13](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/tokens/Cosmos.ts#L13) ___ @@ -282,7 +282,7 @@ ___ #### Defined in -[tokens/Cosmos.ts:6](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/tokens/Cosmos.ts#L6) +[tokens/Cosmos.ts:6](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/tokens/Cosmos.ts#L6) ___ @@ -304,7 +304,7 @@ ___ #### Defined in -[chain.ts:1](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/chain.ts#L1) +[chain.ts:1](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/chain.ts#L1) ___ @@ -320,7 +320,7 @@ ___ #### Defined in -[proposals.ts:54](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/proposals.ts#L54) +[proposals.ts:55](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/proposals.ts#L55) ___ @@ -337,7 +337,7 @@ ___ #### Defined in -[proposals.ts:55](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/proposals.ts#L55) +[proposals.ts:56](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/proposals.ts#L56) ___ @@ -347,7 +347,7 @@ ___ #### Defined in -[proposals.ts:83](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/proposals.ts#L83) +[proposals.ts:84](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/proposals.ts#L84) ___ @@ -370,7 +370,7 @@ ___ #### Defined in -[account.ts:21](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/account.ts#L21) +[account.ts:21](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/account.ts#L21) ___ @@ -380,7 +380,7 @@ ___ #### Defined in -[tx/types.ts:22](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/tx/types.ts#L22) +[tx/types.ts:22](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/tx/types.ts#L22) ___ @@ -398,7 +398,7 @@ ___ #### Defined in -[chain.ts:23](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/chain.ts#L23) +[chain.ts:23](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/chain.ts#L23) ___ @@ -408,7 +408,7 @@ ___ #### Defined in -[chain.ts:18](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/chain.ts#L18) +[chain.ts:18](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/chain.ts#L18) ___ @@ -418,7 +418,7 @@ ___ #### Defined in -[tx/types.ts:23](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/tx/types.ts#L23) +[tx/types.ts:23](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/tx/types.ts#L23) ___ @@ -428,7 +428,7 @@ ___ #### Defined in -[utils.ts:1](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/utils.ts#L1) +[utils.ts:1](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/utils.ts#L1) ___ @@ -442,7 +442,7 @@ ___ #### Defined in -[utils.ts:2](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/utils.ts#L2) +[utils.ts:2](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/utils.ts#L2) ___ @@ -461,7 +461,7 @@ ___ #### Defined in -[proposals.ts:46](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/proposals.ts#L46) +[proposals.ts:47](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/proposals.ts#L47) ___ @@ -478,7 +478,7 @@ ___ #### Defined in -[proposals.ts:57](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/proposals.ts#L57) +[proposals.ts:58](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/proposals.ts#L58) ___ @@ -495,7 +495,7 @@ ___ #### Defined in -[proposals.ts:56](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/proposals.ts#L56) +[proposals.ts:57](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/proposals.ts#L57) ___ @@ -513,17 +513,17 @@ ___ #### Defined in -[proposals.ts:39](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/proposals.ts#L39) +[proposals.ts:40](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/proposals.ts#L40) ___ ### Proposal -Ƭ **Proposal**: \{ `activationEpoch`: `bigint` ; `author`: `string` ; `content`: \{ `[key: string]`: `string` \| `undefined`; } ; `currentTime`: `bigint` ; `endEpoch`: `bigint` ; `endTime`: `bigint` ; `id`: `bigint` ; `proposalType`: [`ProposalType`](modules.md#proposaltype) ; `startEpoch`: `bigint` ; `startTime`: `bigint` ; `status`: [`ProposalStatus`](modules.md#proposalstatus) ; `tallyType`: [`TallyType`](modules.md#tallytype) ; `totalVotingPower`: `BigNumber` } & \{ [VT in VoteType]: BigNumber } +Ƭ **Proposal**: \{ `activationEpoch`: `bigint` ; `activationTime`: `bigint` ; `author`: `string` ; `content`: \{ `[key: string]`: `string` \| `undefined`; } ; `currentTime`: `bigint` ; `endEpoch`: `bigint` ; `endTime`: `bigint` ; `id`: `bigint` ; `proposalType`: [`ProposalType`](modules.md#proposaltype) ; `startEpoch`: `bigint` ; `startTime`: `bigint` ; `status`: [`ProposalStatus`](modules.md#proposalstatus) ; `tallyType`: [`TallyType`](modules.md#tallytype) ; `totalVotingPower`: `BigNumber` } & \{ [VT in VoteType]: BigNumber } #### Defined in -[proposals.ts:15](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/proposals.ts#L15) +[proposals.ts:15](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/proposals.ts#L15) ___ @@ -533,7 +533,7 @@ ___ #### Defined in -[proposals.ts:10](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/proposals.ts#L10) +[proposals.ts:10](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/proposals.ts#L10) ___ @@ -543,7 +543,7 @@ ___ #### Defined in -[proposals.ts:58](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/proposals.ts#L58) +[proposals.ts:59](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/proposals.ts#L59) ___ @@ -553,7 +553,7 @@ ___ #### Defined in -[proposals.ts:60](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/proposals.ts#L60) +[proposals.ts:61](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/proposals.ts#L61) ___ @@ -563,7 +563,7 @@ ___ #### Defined in -[tx/types.ts:24](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/tx/types.ts#L24) +[tx/types.ts:24](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/tx/types.ts#L24) ___ @@ -573,7 +573,7 @@ ___ #### Defined in -[tx/types.ts:35](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/tx/types.ts#L35) +[tx/types.ts:35](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/tx/types.ts#L35) ___ @@ -583,7 +583,7 @@ ___ #### Defined in -[tx/schema/index.ts:39](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/tx/schema/index.ts#L39) +[tx/schema/index.ts:39](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/tx/schema/index.ts#L39) ___ @@ -600,7 +600,7 @@ ___ #### Defined in -[namada.ts:5](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/namada.ts#L5) +[namada.ts:5](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/namada.ts#L5) ___ @@ -617,7 +617,7 @@ ___ #### Defined in -[signer.ts:3](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/signer.ts#L3) +[signer.ts:3](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/signer.ts#L3) ___ @@ -631,13 +631,11 @@ ___ | :------ | :------ | | `checksums?` | `Record`\<`string`, `string`\> | | `signer` | `string` | -| `tx` | [`TxData`](modules.md#txdata) | -| `txType` | `unknown` | -| `wrapperTxMsg` | `Uint8Array` | +| `txs` | [`TxData`](modules.md#txdata)[] | #### Defined in -[namada.ts:10](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/namada.ts#L10) +[namada.ts:10](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/namada.ts#L10) ___ @@ -647,7 +645,7 @@ ___ #### Defined in -[tx/types.ts:25](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/tx/types.ts#L25) +[tx/types.ts:25](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/tx/types.ts#L25) ___ @@ -657,7 +655,7 @@ ___ #### Defined in -[tx/types.ts:37](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/tx/types.ts#L37) +[tx/types.ts:37](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/tx/types.ts#L37) ___ @@ -667,7 +665,7 @@ ___ #### Defined in -[proposals.ts:99](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/proposals.ts#L99) +[proposals.ts:100](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/proposals.ts#L100) ___ @@ -683,7 +681,7 @@ ___ #### Defined in -[tokens/types.ts:19](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/tokens/types.ts#L19) +[tokens/types.ts:19](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/tokens/types.ts#L19) ___ @@ -715,7 +713,7 @@ ___ #### Defined in -[tokens/types.ts:5](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/tokens/types.ts#L5) +[tokens/types.ts:5](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/tokens/types.ts#L5) ___ @@ -725,7 +723,7 @@ ___ #### Defined in -[tokens/Namada.ts:21](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/tokens/Namada.ts#L21) +[tokens/Namada.ts:21](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/tokens/Namada.ts#L21) ___ @@ -735,7 +733,7 @@ ___ #### Defined in -[tx/types.ts:26](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/tx/types.ts#L26) +[tx/types.ts:26](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/tx/types.ts#L26) ___ @@ -745,7 +743,7 @@ ___ #### Defined in -[tx/types.ts:28](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/tx/types.ts#L28) +[tx/types.ts:28](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/tx/types.ts#L28) ___ @@ -755,7 +753,7 @@ ___ #### Defined in -[tx/types.ts:27](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/tx/types.ts#L27) +[tx/types.ts:27](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/tx/types.ts#L27) ___ @@ -772,7 +770,7 @@ ___ #### Defined in -[signer.ts:8](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/signer.ts#L8) +[signer.ts:8](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/signer.ts#L8) ___ @@ -782,7 +780,7 @@ ___ #### Defined in -[tx/types.ts:55](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/tx/types.ts#L55) +[tx/types.ts:55](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/tx/types.ts#L55) ___ @@ -792,7 +790,7 @@ ___ #### Defined in -[tx/types.ts:29](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/tx/types.ts#L29) +[tx/types.ts:29](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/tx/types.ts#L29) ___ @@ -802,7 +800,7 @@ ___ #### Defined in -[tx/types.ts:30](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/tx/types.ts#L30) +[tx/types.ts:30](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/tx/types.ts#L30) ___ @@ -812,7 +810,7 @@ ___ #### Defined in -[proposals.ts:75](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/proposals.ts#L75) +[proposals.ts:76](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/proposals.ts#L76) ___ @@ -830,7 +828,7 @@ ___ #### Defined in -[namada.ts:20](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/namada.ts#L20) +[namada.ts:16](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/namada.ts#L16) ___ @@ -840,7 +838,7 @@ ___ #### Defined in -[proposals.ts:91](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/proposals.ts#L91) +[proposals.ts:92](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/proposals.ts#L92) ___ @@ -850,7 +848,7 @@ ___ #### Defined in -[tx/types.ts:31](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/tx/types.ts#L31) +[tx/types.ts:31](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/tx/types.ts#L31) ___ @@ -860,7 +858,7 @@ ___ #### Defined in -[proposals.ts:63](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/proposals.ts#L63) +[proposals.ts:64](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/proposals.ts#L64) ___ @@ -870,7 +868,7 @@ ___ #### Defined in -[proposals.ts:68](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/proposals.ts#L68) +[proposals.ts:69](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/proposals.ts#L69) ___ @@ -880,7 +878,7 @@ ___ #### Defined in -[namada.ts:45](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/namada.ts#L45) +[namada.ts:41](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/namada.ts#L41) ___ @@ -890,7 +888,7 @@ ___ #### Defined in -[tx/types.ts:33](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/tx/types.ts#L33) +[tx/types.ts:33](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/tx/types.ts#L33) ___ @@ -900,7 +898,7 @@ ___ #### Defined in -[tx/types.ts:34](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/tx/types.ts#L34) +[tx/types.ts:34](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/tx/types.ts#L34) ## Variables @@ -917,7 +915,7 @@ ___ #### Defined in -[tx/schema/utils.ts:4](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/tx/schema/utils.ts#L4) +[tx/schema/utils.ts:4](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/tx/schema/utils.ts#L4) ___ @@ -927,7 +925,7 @@ ___ #### Defined in -[tokens/Cosmos.ts:5](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/tokens/Cosmos.ts#L5) +[tokens/Cosmos.ts:5](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/tokens/Cosmos.ts#L5) ___ @@ -937,7 +935,7 @@ ___ #### Defined in -[tokens/Cosmos.ts:22](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/tokens/Cosmos.ts#L22) +[tokens/Cosmos.ts:22](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/tokens/Cosmos.ts#L22) ___ @@ -964,7 +962,7 @@ ___ #### Defined in -[chain.ts:30](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/chain.ts#L30) +[chain.ts:30](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/chain.ts#L30) ___ @@ -974,7 +972,7 @@ ___ #### Defined in -[tokens/Namada.ts:11](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/tokens/Namada.ts#L11) +[tokens/Namada.ts:11](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/tokens/Namada.ts#L11) ___ @@ -984,7 +982,7 @@ ___ #### Defined in -[tokens/Namada.ts:23](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/tokens/Namada.ts#L23) +[tokens/Namada.ts:23](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/tokens/Namada.ts#L23) ___ @@ -994,7 +992,7 @@ ___ #### Defined in -[proposals.ts:3](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/proposals.ts#L3) +[proposals.ts:3](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/proposals.ts#L3) ___ @@ -1004,7 +1002,7 @@ ___ #### Defined in -[proposals.ts:93](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/proposals.ts#L93) +[proposals.ts:94](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/proposals.ts#L94) ___ @@ -1014,7 +1012,7 @@ ___ #### Defined in -[proposals.ts:62](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/proposals.ts#L62) +[proposals.ts:63](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/proposals.ts#L63) ## Functions @@ -1034,7 +1032,7 @@ vote is DelegatorVote #### Defined in -[proposals.ts:88](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/proposals.ts#L88) +[proposals.ts:89](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/proposals.ts#L89) ___ @@ -1054,7 +1052,7 @@ str is "pending" \| "ongoing" \| "passed" \| "rejected" #### Defined in -[proposals.ts:12](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/proposals.ts#L12) +[proposals.ts:12](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/proposals.ts#L12) ___ @@ -1074,7 +1072,7 @@ tallyType is "two-thirds" \| "one-half-over-one-third" \| "less-one-half-over-on #### Defined in -[proposals.ts:101](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/proposals.ts#L101) +[proposals.ts:102](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/proposals.ts#L102) ___ @@ -1094,7 +1092,7 @@ vote is ValidatorVote #### Defined in -[proposals.ts:80](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/proposals.ts#L80) +[proposals.ts:81](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/proposals.ts#L81) ___ @@ -1114,7 +1112,7 @@ str is "yay" \| "nay" \| "abstain" #### Defined in -[proposals.ts:65](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/proposals.ts#L65) +[proposals.ts:66](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/proposals.ts#L66) ___ @@ -1134,7 +1132,7 @@ ___ #### Defined in -[tokens/Cosmos.ts:66](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/tokens/Cosmos.ts#L66) +[tokens/Cosmos.ts:66](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/tokens/Cosmos.ts#L66) ___ @@ -1154,4 +1152,4 @@ ___ #### Defined in -[tokens/Cosmos.ts:48](https://github.com/anoma/namada-interface/blob/cebcdd13/packages/types/src/tokens/Cosmos.ts#L48) +[tokens/Cosmos.ts:48](https://github.com/anoma/namada-interface/blob/c6b0e5a0/packages/types/src/tokens/Cosmos.ts#L48) diff --git a/packages/types/src/namada.ts b/packages/types/src/namada.ts index 32342f1c3..5874384e4 100644 --- a/packages/types/src/namada.ts +++ b/packages/types/src/namada.ts @@ -8,12 +8,8 @@ export type SignArbitraryProps = { }; export type SignProps = { - // TODO: Simplify these props! - // Remove txType & wrapperTxMsg! - txType: unknown; signer: string; - tx: TxData; - wrapperTxMsg: Uint8Array; + txs: TxData[]; checksums?: Record; }; @@ -33,7 +29,7 @@ export interface Namada { connect(): Promise; isConnected(): Promise; defaultAccount(chainId?: string): Promise; - sign(props: SignProps): Promise; + sign(props: SignProps): Promise; signArbitrary( props: SignArbitraryProps ): Promise; diff --git a/packages/types/src/signer.ts b/packages/types/src/signer.ts index 97107e2f9..ccfebc423 100644 --- a/packages/types/src/signer.ts +++ b/packages/types/src/signer.ts @@ -13,15 +13,11 @@ export type TxData = { export interface Signer { accounts: (chainId?: string) => Promise; defaultAccount: (chainId?: string) => Promise; - // TODO: Simplify these props! - // Remove txType & wrapperTxMsg! sign: ( - txType: unknown, - tx: TxData, + tx: TxData | TxData[], signer: string, - wrapperTxMsg: Uint8Array, checksums?: Record - ) => Promise; + ) => Promise; signArbitrary: ( signer: string, data: string diff --git a/yarn.lock b/yarn.lock index ca29c5384..6c9e39c3d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6242,7 +6242,7 @@ __metadata: "@release-it/conventional-changelog": "npm:^8.0.1" "@types/jest": "npm:^29.0.3" "@types/node": "npm:^20.11.4" - "@zondax/ledger-namada": "npm:^0.0.4" + "@zondax/ledger-namada": "npm:^0.0.6" babel-jest: "npm:^29.0.3" bignumber.js: "npm:^9.1.1" buffer: "npm:^6.0.3" @@ -8052,6 +8052,18 @@ __metadata: languageName: node linkType: hard +"@ledgerhq/devices@npm:^8.4.2": + version: 8.4.2 + resolution: "@ledgerhq/devices@npm:8.4.2" + dependencies: + "@ledgerhq/errors": "npm:^6.18.0" + "@ledgerhq/logs": "npm:^6.12.0" + rxjs: "npm:^7.8.1" + semver: "npm:^7.3.5" + checksum: b7149c6302d23928fd2d3622d9018af10a56f6960732de0d72e881d19b75b0036f6248ca0845cfe9dfeda32ecb52c352423e79e109c7decf8437948fed7843cd + languageName: node + linkType: hard + "@ledgerhq/errors@npm:^6.16.1": version: 6.16.1 resolution: "@ledgerhq/errors@npm:6.16.1" @@ -8059,6 +8071,13 @@ __metadata: languageName: node linkType: hard +"@ledgerhq/errors@npm:^6.18.0": + version: 6.18.0 + resolution: "@ledgerhq/errors@npm:6.18.0" + checksum: 0dad36bd049c1eb346b83d2b99c1dde0445c53ae3a2f73d4f9a7f5e278ef61d1e589cc0b30bb81dd3082ad9a751f7d82b662214088e19b09769bded45447fb54 + languageName: node + linkType: hard + "@ledgerhq/hw-transport-webhid@npm:^6.28.0": version: 6.28.1 resolution: "@ledgerhq/hw-transport-webhid@npm:6.28.1" @@ -8095,15 +8114,15 @@ __metadata: languageName: node linkType: hard -"@ledgerhq/hw-transport@npm:^6.30.3": - version: 6.30.3 - resolution: "@ledgerhq/hw-transport@npm:6.30.3" +"@ledgerhq/hw-transport@npm:^6.30.6": + version: 6.31.2 + resolution: "@ledgerhq/hw-transport@npm:6.31.2" dependencies: - "@ledgerhq/devices": "npm:^8.2.0" - "@ledgerhq/errors": "npm:^6.16.1" + "@ledgerhq/devices": "npm:^8.4.2" + "@ledgerhq/errors": "npm:^6.18.0" "@ledgerhq/logs": "npm:^6.12.0" events: "npm:^3.3.0" - checksum: e50b9f99d6127b641d293d33b5141f55e59a8a14afb231e7d5c696e234a210ca94a6573a442548384ac4afa315b60b9c3ff7cff29f3df5e00f9cb59385801d70 + checksum: 3fc61c2e844639b7ec73e5eaec2f34235a414ec802df2491ea3d32d854f5f53c592b35b874a9ce899a6087a74a5a750b20c91aae19aaa44eea2faa390edf593f languageName: node linkType: hard @@ -8286,7 +8305,7 @@ __metadata: "@types/uuid": "npm:^8.3.4" "@types/webextension-polyfill": "npm:^0.10.6" "@types/zxcvbn": "npm:^4.4.1" - "@zondax/ledger-namada": "npm:^0.0.4" + "@zondax/ledger-namada": "npm:^0.0.6" bignumber.js: "npm:^9.1.1" buffer: "npm:^6.0.3" copy-webpack-plugin: "npm:^11.0.0" @@ -11856,12 +11875,12 @@ __metadata: languageName: node linkType: hard -"@zondax/ledger-namada@npm:^0.0.4": - version: 0.0.4 - resolution: "@zondax/ledger-namada@npm:0.0.4" +"@zondax/ledger-namada@npm:^0.0.6": + version: 0.0.6 + resolution: "@zondax/ledger-namada@npm:0.0.6" dependencies: - "@ledgerhq/hw-transport": "npm:^6.30.3" - checksum: c0302c84ac82309af4844c147d94fbe2b3c4b84f37d0f50fe3dc8b2b3068bd672fbe46a053633a77cac08ca94d109867de303c9a8bda357284b0e429ded512e3 + "@ledgerhq/hw-transport": "npm:^6.30.6" + checksum: 39aabba4be347e5329413be53de82e6519ff9b8e44473d6753cd096b733d075891528d12353108bf653071cbcd6804a9b826703753061428a7f93861607bce80 languageName: node linkType: hard