- {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"
-
-
- >
- )}
+
+
+
+
+ }
+ 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