@txnlab/use-wallet 1.1.6 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -5,8 +5,9 @@ import exodus from "./exodus";
5
5
  import algosigner from "./algosigner";
6
6
  import walletconnect from "./walletconnect";
7
7
  import kmd from "./kmd";
8
- export { pera, myalgo, defly, exodus, algosigner, walletconnect, kmd };
8
+ import mnemonic from "./mnemonic";
9
+ export { pera, myalgo, defly, exodus, algosigner, walletconnect, kmd, mnemonic, };
9
10
  declare const _default: {
10
- [x: string]: typeof pera | typeof myalgo | typeof defly | typeof exodus | typeof algosigner | typeof walletconnect | typeof kmd;
11
+ [x: string]: typeof pera | typeof myalgo | typeof defly | typeof exodus | typeof algosigner | typeof walletconnect | typeof kmd | typeof mnemonic;
11
12
  };
12
13
  export default _default;
@@ -23,6 +23,7 @@ declare class KMDWalletClient extends BaseWallet {
23
23
  releaseToken(token: string): Promise<void>;
24
24
  listWallets(): Promise<Record<string, string>>;
25
25
  listAccounts(wallet: string, password: string): Promise<Array<Account>>;
26
+ getWalletId(): Promise<string>;
26
27
  signTransactions(connectedAccounts: string[], transactions: Uint8Array[], indexesToSign?: number[], returnGroup?: boolean): Promise<Uint8Array[]>;
27
28
  signEncodedTransactions(transactions: TransactionsArray): Promise<Uint8Array[]>;
28
29
  }
@@ -0,0 +1,24 @@
1
+ import BaseWallet from "../base";
2
+ import { PROVIDER_ID } from "../../constants";
3
+ import type { Wallet, TransactionsArray, Network } from "../../types";
4
+ import { InitParams, MnemonicWalletClientConstructor } from "./types";
5
+ declare class MnemonicWalletClient extends BaseWallet {
6
+ #private;
7
+ id: PROVIDER_ID;
8
+ network: Network;
9
+ constructor({ metadata, id, algosdk, algodClient, network, }: MnemonicWalletClientConstructor);
10
+ static metadata: {
11
+ id: PROVIDER_ID;
12
+ name: string;
13
+ icon: string;
14
+ isWalletConnect: boolean;
15
+ };
16
+ static init({ algodOptions, algosdkStatic, network, }: InitParams): Promise<MnemonicWalletClient | null>;
17
+ connect(): Promise<Wallet>;
18
+ disconnect(): Promise<void>;
19
+ reconnect(): Promise<Wallet | null>;
20
+ requestPassword(): Promise<string>;
21
+ signTransactions(connectedAccounts: string[], transactions: Uint8Array[], indexesToSign?: number[], returnGroup?: boolean): Promise<Uint8Array[]>;
22
+ signEncodedTransactions(transactions: TransactionsArray): Promise<Uint8Array[]>;
23
+ }
24
+ export default MnemonicWalletClient;
@@ -0,0 +1 @@
1
+ export declare const ICON = "data:image/svg+xml,%3c%3fxml version='1.0' encoding='UTF-8'%3f%3e %3c!-- Generated by Pixelmator Pro 3.2.2 --%3e %3csvg width='409' height='210' viewBox='0 0 409 210' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3e%3ctext id='MNEMONIC' xml:space='preserve' x='0' y='129' font-family='Helvetica' font-size='72' fill='black'%3eMNEMONIC%3c/text%3e%3c/svg%3e";
@@ -0,0 +1,2 @@
1
+ import mnemonic from "./client";
2
+ export default mnemonic;
@@ -0,0 +1,28 @@
1
+ import type _algosdk from "algosdk";
2
+ import type { AlgodClientOptions, Network, Metadata } from "../../types";
3
+ import { PROVIDER_ID } from "../../constants";
4
+ export declare type ClientOptions = {
5
+ wallet: string;
6
+ password: string;
7
+ host: string;
8
+ token: string;
9
+ port: string;
10
+ };
11
+ export interface InitWalletHandle {
12
+ wallet_handle_token: string;
13
+ message?: string;
14
+ error?: boolean;
15
+ }
16
+ export declare type MnemonicWalletClientConstructor = {
17
+ metadata: Metadata;
18
+ id: PROVIDER_ID;
19
+ algosdk: typeof _algosdk;
20
+ algodClient: _algosdk.Algodv2;
21
+ network: Network;
22
+ };
23
+ export declare type InitParams = {
24
+ clientOptions?: ClientOptions;
25
+ algodOptions?: AlgodClientOptions;
26
+ algosdkStatic?: typeof _algosdk;
27
+ network?: Network;
28
+ };
@@ -6,7 +6,8 @@ export declare enum PROVIDER_ID {
6
6
  ALGOSIGNER = "algosigner",
7
7
  DEFLY = "defly",
8
8
  EXODUS = "exodus",
9
- WALLETCONNECT = "walletconnect"
9
+ WALLETCONNECT = "walletconnect",
10
+ MNEMONIC = "mnemonic"
10
11
  }
11
12
  export declare const DEFAULT_NETWORK: Network;
12
13
  export declare const DEFAULT_NODE_BASEURL = "https://mainnet-api.algonode.cloud";
@@ -10,6 +10,7 @@ export default function useWallet(): {
10
10
  defly: Promise<import("../clients/base/base").default | null>;
11
11
  exodus: Promise<import("../clients/base/base").default | null>;
12
12
  walletconnect: Promise<import("../clients/base/base").default | null>;
13
+ mnemonic: Promise<import("../clients/base/base").default | null>;
13
14
  }> | null;
14
15
  providers: Provider[] | null;
15
16
  connectedAccounts: import("../types").Account[];
package/dist/cjs/index.js CHANGED
@@ -2,6 +2,7 @@
2
2
 
3
3
  var require$$0 = require('react');
4
4
  var utils = require('@json-rpc-tools/utils');
5
+ var algosdk = require('algosdk');
5
6
 
6
7
  exports.PROVIDER_ID = void 0;
7
8
  (function (PROVIDER_ID) {
@@ -12,6 +13,7 @@ exports.PROVIDER_ID = void 0;
12
13
  PROVIDER_ID["DEFLY"] = "defly";
13
14
  PROVIDER_ID["EXODUS"] = "exodus";
14
15
  PROVIDER_ID["WALLETCONNECT"] = "walletconnect";
16
+ PROVIDER_ID["MNEMONIC"] = "mnemonic";
15
17
  })(exports.PROVIDER_ID || (exports.PROVIDER_ID = {}));
16
18
  const DEFAULT_NETWORK$1 = "mainnet";
17
19
  const DEFAULT_NODE_BASEURL = "https://mainnet-api.algonode.cloud";
@@ -1076,7 +1078,7 @@ class BaseClient {
1076
1078
  }
1077
1079
  }
1078
1080
 
1079
- const ICON$6 = "data:image/svg+xml;base64," +
1081
+ const ICON$7 = "data:image/svg+xml;base64," +
1080
1082
  "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIGlkPSJMYXllcl8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNzcgMTg3Ij48cmVjdCB4PSItMTEuMzgiIHk9Ii0yNS45NyIgd2lkdGg9IjIwMC4wMiIgaGVpZ2h0PSIyMzEuNTMiIHN0eWxlPSJmaWxsOiNmZTU7Ii8+PHBhdGggZD0iTTk0LjA1LDU5LjYxYzIuMDUsOC40OCwxLjM2LDE1Ljk0LTEuNTUsMTYuNjYtMi45LC43Mi02LjkxLTUuNTctOC45Ni0xNC4wNS0yLjA1LTguNDgtMS4zNi0xNS45NCwxLjU1LTE2LjY2LDIuOS0uNzIsNi45MSw1LjU3LDguOTYsMTQuMDVaIiBzdHlsZT0iZmlsbDojMWMxYzFjOyIvPjxwYXRoIGQ9Ik0xMjcuODUsNjYuOWMtNC41My00LjgxLTEzLjU1LTMuNS0yMC4xNSwyLjkxLTYuNTksNi40MS04LjI2LDE1LjUtMy43MywyMC4zMSw0LjUzLDQuOCwxMy41NSwzLjUsMjAuMTUtMi45MXM4LjI2LTE1LjUsMy43My0yMC4zMVoiIHN0eWxlPSJmaWxsOiMxYzFjMWM7Ii8+PHBhdGggZD0iTTkxLjc5LDE0MC40N2MyLjktLjcyLDMuNDktOC42LDEuMzItMTcuNjEtMi4xNy05LTYuMjktMTUuNzEtOS4xOS0xNC45OS0yLjksLjcyLTMuNDksOC42LTEuMzIsMTcuNjEsMi4xNyw5LDYuMjksMTUuNzEsOS4xOSwxNC45OVoiIHN0eWxlPSJmaWxsOiMxYzFjMWM7Ii8+PHBhdGggZD0iTTYyLjIyLDcxLjNjOC4zNywyLjQ3LDE0LjQ4LDYuOCwxMy42Niw5LjY3LS44MywyLjg3LTguMjgsMy4yLTE2LjY1LC43My04LjM3LTIuNDctMTQuNDgtNi44LTEzLjY2LTkuNjcsLjgzLTIuODcsOC4yOC0zLjIsMTYuNjUtLjczWiIgc3R5bGU9ImZpbGw6IzFjMWMxYzsiLz48cGF0aCBkPSJNMTE2LjU0LDEwMy43NGM4Ljg4LDIuNjIsMTUuNDEsNy4wNywxNC41OSw5Ljk0LS44MywyLjg3LTguNywzLjA4LTE3LjU4LC40Ni04Ljg4LTIuNjItMTUuNDEtNy4wNy0xNC41OS05Ljk0LC44My0yLjg3LDguNy0zLjA4LDE3LjU4LS40NloiIHN0eWxlPSJmaWxsOiMxYzFjMWM7Ii8+PHBhdGggZD0iTTcxLjY0LDk3LjcxYy0yLjA4LTIuMTUtOC44OCwuOTgtMTUuMiw2Ljk5LTYuMzIsNi4wMS05Ljc2LDEyLjYzLTcuNjksMTQuNzgsMi4wOCwyLjE1LDguODgtLjk4LDE1LjItNi45OSw2LjMyLTYuMDEsOS43Ni0xMi42Myw3LjY5LTE0Ljc4WiIgc3R5bGU9ImZpbGw6IzFjMWMxYzsiLz48L3N2Zz4=";
1081
1083
 
1082
1084
  class PeraWalletClient extends BaseClient {
@@ -1091,7 +1093,7 @@ class PeraWalletClient extends BaseClient {
1091
1093
  static metadata = {
1092
1094
  id: exports.PROVIDER_ID.PERA,
1093
1095
  name: "Pera",
1094
- icon: ICON$6,
1096
+ icon: ICON$7,
1095
1097
  isWalletConnect: true,
1096
1098
  };
1097
1099
  static async init({ clientOptions, algodOptions, clientStatic, algosdkStatic, network = DEFAULT_NETWORK$1, }) {
@@ -1245,7 +1247,7 @@ class PeraWalletClient extends BaseClient {
1245
1247
  }
1246
1248
  }
1247
1249
 
1248
- const ICON$5 = "data:image/svg+xml;base64," +
1250
+ const ICON$6 = "data:image/svg+xml;base64," +
1249
1251
  "PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHZpZXdCb3g9IjAgMCAzMiAzMiI+CiAgPHBhdGggZmlsbD0iIzI0NUVDNiIgZD0iTTE2LDMyYy0zLjIsMC02LjItMC45LTguOS0yLjdjLTIuNi0xLjgtNC43LTQuMy01LjktNy4yQzAsMTkuMi0wLjMsMTYsMC4zLDEyLjlDMC45LDkuOCwyLjQsNyw0LjcsNC43IEM2LjIsMy4yLDcuOSwyLDkuOSwxLjJDMTEuOCwwLjQsMTMuOSwwLDE2LDBzNC4yLDAuNCw2LjEsMS4yYzEuOSwwLjgsMy43LDIsNS4yLDMuNXMyLjcsMy4zLDMuNSw1LjJjMC44LDEuOSwxLjIsNCwxLjIsNi4xIHMtMC40LDQuMi0xLjIsNi4xYy0wLjgsMS45LTIsMy43LTMuNSw1LjJjLTEuNSwxLjUtMy4yLDIuNy01LjIsMy41QzIwLjIsMzEuNiwxOC4xLDMyLDE2LDMyTDE2LDMyeiBNMjAuMiwxMS4ybDAuMSwwLjVsMi42LDkuNWgyLjEgTDIxLjUsOC45bC0wLjEtMC4zaC0xLjlsMCwwLjFsLTEuNywzLjFMMTYsMTQuOWwwLDAuMWwwLTAuMWwtMC4yLTAuOGwtMC42LTIuNGwtMC4xLTAuMmwtMC43LTIuNmwtMC4xLTAuM2gtMS45bDAsMC4xbC0xLjcsMy4xIGwtMS44LDMuMkw3LjEsMThsLTEuOCwzLjJoMi4xTDkuMiwxOGwxLjgtMy4ybDEuOC0zLjJsMC4zLTAuNWwwLjEsMC41bDAuNSwyLjFsMC43LDIuNmwwLjIsMC45TDE0LjIsMThsLTEuOCwzLjJoMi4xbDAuOC0xLjMgbDEuMy0yLjNsMS41LTIuN2wxLjgtMy4yTDIwLjIsMTEuMkwyMC4yLDExLjJ6Ii8+Cjwvc3ZnPgo=";
1250
1252
 
1251
1253
  /**
@@ -1264,7 +1266,7 @@ class MyAlgoWalletClient extends BaseClient {
1264
1266
  static metadata = {
1265
1267
  id: exports.PROVIDER_ID.MYALGO,
1266
1268
  name: "MyAlgo",
1267
- icon: ICON$5,
1269
+ icon: ICON$6,
1268
1270
  isWalletConnect: false,
1269
1271
  };
1270
1272
  static async init({ clientOptions, algodOptions, clientStatic, algosdkStatic, network = DEFAULT_NETWORK$1, }) {
@@ -1372,7 +1374,7 @@ class MyAlgoWalletClient extends BaseClient {
1372
1374
  }
1373
1375
  }
1374
1376
 
1375
- const ICON$4 = "data:image/svg+xml;base64," +
1377
+ const ICON$5 = "data:image/svg+xml;base64," +
1376
1378
  "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+Cjxzdmcgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4bWw6c3BhY2U9InByZXNlcnZlIiB4bWxuczpzZXJpZj0iaHR0cDovL3d3dy5zZXJpZi5jb20vIiBzdHlsZT0iZmlsbC1ydWxlOmV2ZW5vZGQ7Y2xpcC1ydWxlOmV2ZW5vZGQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjI7Ij4KICAgIDxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxMDI0IiBoZWlnaHQ9IjEwMjQiLz4KICAgIDxnIHRyYW5zZm9ybT0ibWF0cml4KDEuNjgyMDksMCwwLDEuNjgyMDksMjI2LjM2OCwyMTIuODE4KSI+CiAgICAgICAgPHBhdGggZD0iTTMyNy4wNDksMjgwLjE5MkwxNjkuNTI0LDEzTDEyLDI4MC4xOTJMMTY5LjUyNCwxODkuMDg0TDMyNy4wNDksMjgwLjE5MloiIHN0eWxlPSJmaWxsOndoaXRlO2ZpbGwtcnVsZTpub256ZXJvOyIvPgogICAgPC9nPgogICAgPGcgdHJhbnNmb3JtPSJtYXRyaXgoMS42ODIwOSwwLDAsMS42ODIwOSwyMjYuMzY4LDIxMi44MTgpIj4KICAgICAgICA8cGF0aCBkPSJNMjk5LjU0NiwzMDdMMTY5LjUyNSwyMzguNDczTDM5LjUwNCwzMDdMMTY5LjUyNSwyNjQuNjdMMjk5LjU0NiwzMDdaIiBzdHlsZT0iZmlsbDp3aGl0ZTtmaWxsLXJ1bGU6bm9uemVybzsiLz4KICAgIDwvZz4KPC9zdmc+Cg==";
1377
1379
 
1378
1380
  class DeflyWalletClient extends BaseClient {
@@ -1387,7 +1389,7 @@ class DeflyWalletClient extends BaseClient {
1387
1389
  static metadata = {
1388
1390
  id: exports.PROVIDER_ID.DEFLY,
1389
1391
  name: "Defly",
1390
- icon: ICON$4,
1392
+ icon: ICON$5,
1391
1393
  isWalletConnect: true,
1392
1394
  };
1393
1395
  static async init({ clientOptions, algodOptions, clientStatic, algosdkStatic, network = DEFAULT_NETWORK$1, }) {
@@ -1542,7 +1544,7 @@ class DeflyWalletClient extends BaseClient {
1542
1544
  }
1543
1545
  }
1544
1546
 
1545
- const ICON$3 = "data:image/svg+xml;base64," +
1547
+ const ICON$4 = "data:image/svg+xml;base64," +
1546
1548
  "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDI2LjUuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJIHZpZXdCb3g9IjAgMCAzMDAgMzAwIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAzMDAgMzAwOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+Cgkuc3Qwe2ZpbGw6dXJsKCNTVkdJRF8xXyk7fQoJLnN0MXtmaWxsOnVybCgjU1ZHSURfMDAwMDAwNDM0MjYxNjcxNDAxMDY1ODIyNzAwMDAwMDIxMzA3Njg5MDYwNzMxMTM0ODRfKTt9Cgkuc3Qye2ZpbGw6dXJsKCNTVkdJRF8wMDAwMDEwMjUxOTMxNjAxNTI3NjU4MTY0MDAwMDAxNjI3NDExMjM4MzE3NTY0MTc1OV8pO2ZpbHRlcjp1cmwoI0Fkb2JlX09wYWNpdHlNYXNrRmlsdGVyKTt9Cgkuc3Qze2ZpbGw6dXJsKCNTVkdJRF8wMDAwMDEzODU2MzM4MjQ2MjA4NjAyMDM1MDAwMDAxNDg3ODQ5MDI3MDc4MjA3MTIwN18pO30KCS5zdDR7bWFzazp1cmwoI21hc2swXzE2NjFfMjk1XzAwMDAwMDg4MTMyMjUxNTk3NDQxNTczNDkwMDAwMDExNjkzNjEyMDE4NTA2NjgxNDgxXyk7fQoJLnN0NXtmaWxsOnVybCgjU1ZHSURfMDAwMDAxMDYxMjA2MzI0NjE3OTI4NzExNjAwMDAwMDc0MzM5MTMwMzgzMzc3NjY1NzZfKTt9Cjwvc3R5bGU+CjxnPgoJCgkJPGxpbmVhckdyYWRpZW50IGlkPSJTVkdJRF8xXyIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgxPSIyNDYuNjAzIiB5MT0iOS4yMjEyIiB4Mj0iMTc0LjE1OCIgeTI9IjMwOC41NDI2IiBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDEgMCAwIC0xIDAgMzAyKSI+CgkJPHN0b3AgIG9mZnNldD0iMCIgc3R5bGU9InN0b3AtY29sb3I6IzBCNDZGOSIvPgoJCTxzdG9wICBvZmZzZXQ9IjEiIHN0eWxlPSJzdG9wLWNvbG9yOiNCQkZCRTAiLz4KCTwvbGluZWFyR3JhZGllbnQ+Cgk8cGF0aCBjbGFzcz0ic3QwIiBkPSJNMjc0LjcsOTMuOUwxNjYuNiwyM3YzOS42bDY5LjQsNDUuMWwtOC4yLDI1LjhoLTYxLjJ2MzIuOWg2MS4ybDguMiwyNS44bC02OS40LDQ1LjFWMjc3bDEwOC4yLTcwLjdMMjU3LDE1MC4xCgkJTDI3NC43LDkzLjl6Ii8+CgkKCQk8bGluZWFyR3JhZGllbnQgaWQ9IlNWR0lEXzAwMDAwMDE4MjI4MjM3MTUxMjM5MTUxMzIwMDAwMDE3ODM4NjY0MjU5NzY2MjczOTI1XyIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgxPSIxMjkuMzUxNiIgeTE9Ii0xOS4xNTczIiB4Mj0iNTYuOTA2NiIgeTI9IjI4MC4xNjQxIiBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDEgMCAwIC0xIDAgMzAyKSI+CgkJPHN0b3AgIG9mZnNldD0iMCIgc3R5bGU9InN0b3AtY29sb3I6IzBCNDZGOSIvPgoJCTxzdG9wICBvZmZzZXQ9IjEiIHN0eWxlPSJzdG9wLWNvbG9yOiNCQkZCRTAiLz4KCTwvbGluZWFyR3JhZGllbnQ+Cgk8cGF0aCBzdHlsZT0iZmlsbDp1cmwoI1NWR0lEXzAwMDAwMDE4MjI4MjM3MTUxMjM5MTUxMzIwMDAwMDE3ODM4NjY0MjU5NzY2MjczOTI1Xyk7IiBkPSJNNzIuNSwxNjYuNGg2MXYtMzIuOUg3Mi4ybC03LjktMjUuOAoJCWw2OS4yLTQ1LjFWMjNMMjUuMyw5My45TDQzLDE1MC4xbC0xNy43LDU2LjJMMTMzLjcsMjc3di0zOS42bC02OS40LTQ1LjFMNzIuNSwxNjYuNHoiLz4KCTxkZWZzPgoJCTxmaWx0ZXIgaWQ9IkFkb2JlX09wYWNpdHlNYXNrRmlsdGVyIiBmaWx0ZXJVbml0cz0idXNlclNwYWNlT25Vc2UiIHg9IjI1LjQiIHk9IjIzIiB3aWR0aD0iMjQ3LjYiIGhlaWdodD0iMjU0Ij4KCQkJPGZlQ29sb3JNYXRyaXggIHR5cGU9Im1hdHJpeCIgdmFsdWVzPSIxIDAgMCAwIDAgIDAgMSAwIDAgMCAgMCAwIDEgMCAwICAwIDAgMCAxIDAiLz4KCQk8L2ZpbHRlcj4KCTwvZGVmcz4KCQoJCTxtYXNrIG1hc2tVbml0cz0idXNlclNwYWNlT25Vc2UiIHg9IjI1LjQiIHk9IjIzIiB3aWR0aD0iMjQ3LjYiIGhlaWdodD0iMjU0IiBpZD0ibWFzazBfMTY2MV8yOTVfMDAwMDAwODgxMzIyNTE1OTc0NDE1NzM0OTAwMDAwMTE2OTM2MTIwMTg1MDY2ODE0ODFfIj4KCQkKCQkJPGxpbmVhckdyYWRpZW50IGlkPSJTVkdJRF8wMDAwMDE2NTkyOTcyNDMwMzE2NDIwMzAwMDAwMDAwNzEwMTkwNDk4NDUxOTkxNTE2Ml8iIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4MT0iMjQ2LjYwMzgiIHkxPSI5LjIyMTQiIHgyPSIxNzQuMTU4OCIgeTI9IjMwOC41NDI4IiBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDEgMCAwIC0xIDAgMzAyKSI+CgkJCTxzdG9wICBvZmZzZXQ9IjAiIHN0eWxlPSJzdG9wLWNvbG9yOiMwQjQ2RjkiLz4KCQkJPHN0b3AgIG9mZnNldD0iMSIgc3R5bGU9InN0b3AtY29sb3I6I0JCRkJFMCIvPgoJCTwvbGluZWFyR3JhZGllbnQ+CgkJPHBhdGggc3R5bGU9ImZpbGw6dXJsKCNTVkdJRF8wMDAwMDE2NTkyOTcyNDMwMzE2NDIwMzAwMDAwMDAwNzEwMTkwNDk4NDUxOTkxNTE2Ml8pO2ZpbHRlcjp1cmwoI0Fkb2JlX09wYWNpdHlNYXNrRmlsdGVyKTsiIGQ9IgoJCQlNMjc0LjcsOTMuOUwxNjYuNiwyM3YzOS42bDY5LjQsNDUuMWwtOC4yLDI1LjhoLTYxLjJ2MzIuOWg2MS4ybDguMiwyNS44bC02OS40LDQ1LjFWMjc3bDEwOC4yLTcwLjdMMjU3LDE1MC4xTDI3NC43LDkzLjl6Ii8+CgkJCgkJCTxsaW5lYXJHcmFkaWVudCBpZD0iU1ZHSURfMDAwMDAxMTk4MTE3MDc2MjE0NzI4MTQyNzAwMDAwMTA4Mjk2NTkzODM4NTEyMDI0OTFfIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjEyOS4zNTIxIiB5MT0iLTE5LjE1NzEiIHgyPSI1Ni45MDcxIiB5Mj0iMjgwLjE2NDIiIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoMSAwIDAgLTEgMCAzMDIpIj4KCQkJPHN0b3AgIG9mZnNldD0iMCIgc3R5bGU9InN0b3AtY29sb3I6IzBCNDZGOSIvPgoJCQk8c3RvcCAgb2Zmc2V0PSIxIiBzdHlsZT0ic3RvcC1jb2xvcjojQkJGQkUwIi8+CgkJPC9saW5lYXJHcmFkaWVudD4KCQk8cGF0aCBzdHlsZT0iZmlsbDp1cmwoI1NWR0lEXzAwMDAwMTE5ODExNzA3NjIxNDcyODE0MjcwMDAwMDEwODI5NjU5MzgzODUxMjAyNDkxXyk7IiBkPSJNNzIuNSwxNjYuNGg2MXYtMzIuOUg3Mi4ybC03LjktMjUuOAoJCQlsNjkuMi00NS4xVjIzTDI1LjMsOTMuOUw0MywxNTAuMWwtMTcuNyw1Ni4yTDEzMy43LDI3N3YtMzkuNmwtNjkuNC00NS4xTDcyLjUsMTY2LjR6Ii8+Cgk8L21hc2s+Cgk8ZyBjbGFzcz0ic3Q0Ij4KCQkKCQkJPGxpbmVhckdyYWRpZW50IGlkPSJTVkdJRF8wMDAwMDEwOTAxOTkxODU1Nzc3MzA1MzQyMDAwMDAxNzYwMjQwNTkwODA2NzEyMDMwMF8iIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4MT0iNDYuNDY2MiIgeTE9IjIyOC43NTU0IiB4Mj0iMTcxLjg2MzgiIHkyPSIxMzUuMTAzOSIgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCgxIDAgMCAtMSAwIDMwMikiPgoJCQk8c3RvcCAgb2Zmc2V0PSIwLjExOTgiIHN0eWxlPSJzdG9wLWNvbG9yOiM4OTUyRkY7c3RvcC1vcGFjaXR5OjAuODciLz4KCQkJPHN0b3AgIG9mZnNldD0iMSIgc3R5bGU9InN0b3AtY29sb3I6I0RBQkRGRjtzdG9wLW9wYWNpdHk6MCIvPgoJCTwvbGluZWFyR3JhZGllbnQ+CgkJCgkJCTxyZWN0IHg9IjI1LjQiIHk9IjIzIiBzdHlsZT0iZmlsbDp1cmwoI1NWR0lEXzAwMDAwMTA5MDE5OTE4NTU3NzczMDUzNDIwMDAwMDE3NjAyNDA1OTA4MDY3MTIwMzAwXyk7IiB3aWR0aD0iMjQ3LjYiIGhlaWdodD0iMjU0Ii8+Cgk8L2c+CjwvZz4KPC9zdmc+Cg==";
1547
1549
 
1548
1550
  class ExodusClient extends BaseClient {
@@ -1559,7 +1561,7 @@ class ExodusClient extends BaseClient {
1559
1561
  static metadata = {
1560
1562
  id: exports.PROVIDER_ID.EXODUS,
1561
1563
  name: "Exodus",
1562
- icon: ICON$3,
1564
+ icon: ICON$4,
1563
1565
  isWalletConnect: false,
1564
1566
  };
1565
1567
  static async init({ clientOptions, algodOptions, algosdkStatic, network = DEFAULT_NETWORK$1, }) {
@@ -1684,7 +1686,7 @@ class ExodusClient extends BaseClient {
1684
1686
  }
1685
1687
  }
1686
1688
 
1687
- const ICON$2 = "data:image/svg+xml;base64," +
1689
+ const ICON$3 = "data:image/svg+xml;base64," +
1688
1690
  "PHN2ZyB3aWR0aD0iMjM4IiBoZWlnaHQ9IjIzOCIgdmlld0JveD0iMCAwIDIzOCAyMzgiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxwYXRoIGQ9Ik01MS43MDUgMTQ1LjA0MkgxMTYuNzA1TDEwNy43MDUgMTU1LjA0Mkg1MS43MDVWMTQ1LjA0MloiIGZpbGw9IiNENjQ1MDAiLz4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xNDcuNTE5IDE5MS41NTdMMTI5LjU3NyAxNDQuMzk0TDE0Mi40MDQgMTI3LjExMkwxNjcuODc1IDE5MS41NTdIMTQ3LjUxOVpNMTEwLjkzNiA5NS4zOTMyTDEyMC42MTMgMTIwLjgzMUwxMzMuMzU5IDEwNC4yMjhMMTE3LjQ3NSA2NC4wNDIyQzExNS45MjggNjAuMTI4IDExMi4xNDYgNTcuNTU2NSAxMDcuOTM4IDU3LjU1NjVDMTAzLjcyOSA1Ny41NTY1IDk5Ljk0NzQgNjAuMTI4IDk4LjQwMDMgNjQuMDQyMkw2Ny45NjU5IDE0MS4wNDJIODcuNzgwN0M5NS40MTUzIDEyMS4wMTEgMTAyLjg5MyAxMDEuMzk5IDEwNS4xOTggOTUuMzU0MUMxMDUuNjQxIDk0LjE5MTIgMTA2Ljc0MyA5My40NTk5IDEwNy45ODcgOTMuNDU5OUgxMDguMTMyQzEwOS4zNzggOTMuNDU5OSAxMTAuNDkzIDk0LjIyOTMgMTEwLjkzNiA5NS4zOTMyWk04MC45MjEgMTU5LjA0MkM3NC45Mjg5IDE3NC43NjggNjkuODY2MSAxODguMDYzIDY4LjU0NDcgMTkxLjU1N0g0OEw2MC44NTE0IDE1OS4wNDJIODAuOTIxWiIgZmlsbD0iIzIyMkI2MCIvPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTE3Ni4wMjYgNTQuNzUwOUMxNzcuOTk3IDUyLjA4NzIgMTgxLjc1NCA1MS41MjU3IDE4NC40MTggNTMuNDk2N0MxODcuMDgyIDU1LjQ2NzggMTg3LjY0MyA1OS4yMjUxIDE4NS42NzIgNjEuODg4OEwxMzAuMDEzIDEzNy4xMDdDMTI5LjcxNCAxMzcuNTEyIDEyOS4zNDEgMTM3Ljg1NyAxMjguOTEzIDEzOC4xMjNMMTE3Ljg1NiAxNDUuMDEzQzExNy4wODcgMTQ1LjQ5MyAxMTYuMTI4IDE0NC43ODMgMTE2LjM2MSAxNDMuOTA3TDExOS43MTggMTMxLjMxOEMxMTkuODQ3IDEzMC44MzIgMTIwLjA2OCAxMzAuMzc0IDEyMC4zNjcgMTI5Ljk3TDE3MC42NyA2MS45ODlMMTY5LjkyOSA2MS40NDA1QzE2OS40ODUgNjEuMTEyIDE2OC44NTkgNjEuMjA1NiAxNjguNTMgNjEuNjQ5NkwxNTIuMzExIDgzLjU2ODhDMTUyLjU4NiA4NC4yMDIzIDE1Mi41MjQgODQuOTYxMiAxNTIuMDg0IDg1LjU1NjJMMTQ5LjExIDg5LjU3NTVDMTQ4LjQ1MyA5MC40NjM0IDE0Ny4yMDEgOTAuNjUwNiAxNDYuMzEzIDg5Ljk5MzZDMTQ1LjQyNSA4OS4zMzY2IDE0NS4yMzggODguMDg0MSAxNDUuODk1IDg3LjE5NjJMMTQ3LjY3OSA4NC43ODQ3TDE0OC44NjkgODMuMTc2OUwxNjcuMzA4IDU4LjI1NzRDMTY4LjYyMiA1Ni40ODE1IDE3MS4xMjcgNTYuMTA3MiAxNzIuOTAzIDU3LjQyMTJMMTczLjY0NCA1Ny45Njk3TDE3Ni4wMjYgNTQuNzUwOVoiIGZpbGw9IiNENjQ1MDAiLz4KPC9zdmc+Cg==";
1689
1691
 
1690
1692
  const getNetwork = (network) => {
@@ -1710,7 +1712,7 @@ class AlgoSignerClient extends BaseClient {
1710
1712
  static metadata = {
1711
1713
  id: exports.PROVIDER_ID.ALGOSIGNER,
1712
1714
  name: "AlgoSigner",
1713
- icon: ICON$2,
1715
+ icon: ICON$3,
1714
1716
  isWalletConnect: false,
1715
1717
  };
1716
1718
  static async init({ algodOptions, algosdkStatic, network = DEFAULT_NETWORK$1, }) {
@@ -1852,7 +1854,7 @@ class AlgoSignerClient extends BaseClient {
1852
1854
  }
1853
1855
  }
1854
1856
 
1855
- const ICON$1 = "data:image/svg+xml;base64," +
1857
+ const ICON$2 = "data:image/svg+xml;base64," +
1856
1858
  "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJMYXllcl8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIKCSB2aWV3Qm94PSIwIDAgNDgwIDQ4MCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNDgwIDQ4MDsiIHhtbDpzcGFjZT0icHJlc2VydmUiPgo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLnN0MHtmaWxsOiMzMzk2RkY7fQo8L3N0eWxlPgo8cGF0aCBjbGFzcz0ic3QwIiBkPSJNMTI2LjYsMTY4YzYyLjYtNjEuMywxNjQuMi02MS4zLDIyNi44LDBsNy41LDcuNGMzLjEsMy4xLDMuMSw4LDAsMTEuMWwtMjUuOCwyNS4yYy0xLjYsMS41LTQuMSwxLjUtNS43LDAKCWwtMTAuNC0xMC4yYy00My43LTQyLjgtMTE0LjUtNDIuOC0xNTguMiwwbC0xMS4xLDEwLjljLTEuNiwxLjUtNC4xLDEuNS01LjcsMGwtMjUuOC0yNS4yYy0zLjEtMy4xLTMuMS04LDAtMTEuMUwxMjYuNiwxNjh6CgkgTTQwNi43LDIyMC4ybDIyLjksMjIuNWMzLjEsMy4xLDMuMSw4LDAsMTEuMUwzMjYuMiwzNTUuMWMtMy4xLDMuMS04LjIsMy4xLTExLjMsMGwtNzMuNC03MS45Yy0wLjgtMC44LTIuMS0wLjgtMi44LDBsLTczLjQsNzEuOQoJYy0zLjEsMy4xLTguMiwzLjEtMTEuMywwTDUwLjMsMjUzLjhjLTMuMS0zLjEtMy4xLTgsMC0xMS4xbDIyLjktMjIuNWMzLjEtMy4xLDguMi0zLjEsMTEuMywwbDczLjQsNzEuOWMwLjgsMC44LDIuMSwwLjgsMi44LDAKCWw3My40LTcxLjljMy4xLTMuMSw4LjItMy4xLDExLjMsMGw3My40LDcxLjljMC44LDAuOCwyLjEsMC44LDIuOCwwbDczLjQtNzEuOUMzOTguNSwyMTcuMSw0MDMuNiwyMTcuMSw0MDYuNywyMjAuMkw0MDYuNywyMjAuMnoiLz4KPC9zdmc+Cg==";
1857
1859
  const DEFAULT_NETWORK = "mainnet";
1858
1860
 
@@ -1868,7 +1870,7 @@ class WalletConnectClient extends BaseClient {
1868
1870
  static metadata = {
1869
1871
  id: exports.PROVIDER_ID.WALLETCONNECT,
1870
1872
  name: "WalletConnect",
1871
- icon: ICON$1,
1873
+ icon: ICON$2,
1872
1874
  isWalletConnect: true,
1873
1875
  };
1874
1876
  static async init({ clientOptions, algodOptions, clientStatic, modalStatic, algosdkStatic, network = DEFAULT_NETWORK, }) {
@@ -2053,7 +2055,7 @@ class WalletConnectClient extends BaseClient {
2053
2055
  }
2054
2056
  }
2055
2057
 
2056
- const ICON = "data:image/svg+xml;base64," +
2058
+ const ICON$1 = "data:image/svg+xml;base64," +
2057
2059
  "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIGlkPSJMYXllcl8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0MDkuODMgMjEwLjMzIj48dGV4dCB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwIDE2MS4zMSkiIHN0eWxlPSJmb250LWZhbWlseTpJQk1QbGV4U2Fucy1NZWRtLCAmYXBvcztJQk0gUGxleCBTYW5zJmFwb3M7OyBmb250LXNpemU6MTkwcHg7Ij48dHNwYW4geD0iMCIgeT0iMCI+S01EPC90c3Bhbj48L3RleHQ+PC9zdmc+";
2058
2060
 
2059
2061
  class KMDWalletClient extends BaseClient {
@@ -2076,7 +2078,7 @@ class KMDWalletClient extends BaseClient {
2076
2078
  static metadata = {
2077
2079
  id: exports.PROVIDER_ID.KMD,
2078
2080
  name: "KMD",
2079
- icon: ICON,
2081
+ icon: ICON$1,
2080
2082
  isWalletConnect: false,
2081
2083
  };
2082
2084
  static async init({ clientOptions, algodOptions, algosdkStatic, network = DEFAULT_NETWORK$1, }) {
@@ -2116,7 +2118,7 @@ class KMDWalletClient extends BaseClient {
2116
2118
  }
2117
2119
  async requestPassword() {
2118
2120
  // TODO: store it locally?
2119
- const pw = prompt("gib password");
2121
+ const pw = prompt("KMD password");
2120
2122
  return pw ? pw : "";
2121
2123
  }
2122
2124
  async getWalletToken(walletId, password) {
@@ -2136,12 +2138,9 @@ class KMDWalletClient extends BaseClient {
2136
2138
  return walletMap;
2137
2139
  }
2138
2140
  async listAccounts(wallet, password) {
2139
- const walletMap = await this.listWallets();
2140
- if (!(wallet in walletMap))
2141
- throw Error("No wallet named: " + wallet);
2142
- this.walletId = walletMap[wallet];
2143
2141
  // Get a handle token
2144
- const token = await this.getWalletToken(this.walletId, password);
2142
+ const walletId = await this.getWalletId();
2143
+ const token = await this.getWalletToken(walletId, password);
2145
2144
  // Fetch accounts and format them as lib expects
2146
2145
  const listResponse = await this.#client.listKeys(token);
2147
2146
  const addresses = listResponse["addresses"];
@@ -2156,14 +2155,25 @@ class KMDWalletClient extends BaseClient {
2156
2155
  this.releaseToken(token);
2157
2156
  return mappedAccounts;
2158
2157
  }
2158
+ async getWalletId() {
2159
+ // Use cached if available
2160
+ if (this.walletId !== "")
2161
+ return this.walletId;
2162
+ const walletMap = await this.listWallets();
2163
+ if (!(this.#wallet in walletMap))
2164
+ throw Error("No wallet named: " + this.#wallet);
2165
+ this.walletId = walletMap[this.#wallet];
2166
+ return this.walletId;
2167
+ }
2159
2168
  async signTransactions(connectedAccounts, transactions, indexesToSign, returnGroup = true) {
2160
2169
  // Decode the transactions to access their properties.
2161
2170
  const decodedTxns = transactions.map((txn) => {
2162
2171
  return this.algosdk.decodeObj(txn);
2163
2172
  });
2164
2173
  // Get a handle token
2174
+ const walletId = await this.getWalletId();
2165
2175
  const pw = await this.requestPassword();
2166
- const token = await this.getWalletToken(this.walletId, pw);
2176
+ const token = await this.getWalletToken(walletId, pw);
2167
2177
  const signedTxns = [];
2168
2178
  // Sign them with the client.
2169
2179
  const signingPromises = [];
@@ -2213,6 +2223,129 @@ class KMDWalletClient extends BaseClient {
2213
2223
  }
2214
2224
  }
2215
2225
 
2226
+ const ICON = "data:image/svg+xml,%3c%3fxml version='1.0' encoding='UTF-8'%3f%3e %3c!-- Generated by Pixelmator Pro 3.2.2 --%3e %3csvg width='409' height='210' viewBox='0 0 409 210' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3e%3ctext id='MNEMONIC' xml:space='preserve' x='0' y='129' font-family='Helvetica' font-size='72' fill='black'%3eMNEMONIC%3c/text%3e%3c/svg%3e";
2227
+
2228
+ class MnemonicWalletClient extends BaseClient {
2229
+ #client;
2230
+ id;
2231
+ network;
2232
+ constructor({ metadata, id, algosdk, algodClient, network, }) {
2233
+ super(metadata, algosdk, algodClient);
2234
+ this.id = id;
2235
+ this.network = network;
2236
+ this.metadata = MnemonicWalletClient.metadata;
2237
+ }
2238
+ static metadata = {
2239
+ id: exports.PROVIDER_ID.MNEMONIC,
2240
+ name: "MNEMONIC",
2241
+ icon: ICON,
2242
+ isWalletConnect: false,
2243
+ };
2244
+ static async init({ algodOptions, algosdkStatic, network = DEFAULT_NETWORK$1, }) {
2245
+ try {
2246
+ const algosdk = algosdkStatic || (await Algod.init(algodOptions)).algosdk;
2247
+ const algodClient = await getAlgodClient(algosdk, algodOptions);
2248
+ console.log(network, algodClient);
2249
+ return new MnemonicWalletClient({
2250
+ metadata: MnemonicWalletClient.metadata,
2251
+ id: exports.PROVIDER_ID.MNEMONIC,
2252
+ algosdk: algosdk,
2253
+ algodClient: algodClient,
2254
+ network,
2255
+ });
2256
+ }
2257
+ catch (e) {
2258
+ console.error("Error initializing...", e);
2259
+ return null;
2260
+ }
2261
+ }
2262
+ async connect() {
2263
+ const password = await this.requestPassword();
2264
+ if (!password) {
2265
+ this.#client = undefined;
2266
+ throw new Error("Mnemonic passphrase is required");
2267
+ }
2268
+ this.#client = algosdk.mnemonicToSecretKey(password);
2269
+ return {
2270
+ ...MnemonicWalletClient.metadata,
2271
+ accounts: [
2272
+ {
2273
+ name: `MnemonicWallet 1`,
2274
+ address: this.#client.addr,
2275
+ providerId: MnemonicWalletClient.metadata.id,
2276
+ },
2277
+ ],
2278
+ };
2279
+ }
2280
+ async disconnect() {
2281
+ this.#client = undefined;
2282
+ return;
2283
+ }
2284
+ async reconnect() {
2285
+ return null;
2286
+ }
2287
+ async requestPassword() {
2288
+ // TODO: store it locally?
2289
+ const pass = prompt("enter mnemonic passphrase, 25 words");
2290
+ return pass ? pass : "";
2291
+ }
2292
+ signTransactions(connectedAccounts, transactions, indexesToSign, returnGroup = true) {
2293
+ if (!this.#client) {
2294
+ throw new Error("Client not connected");
2295
+ }
2296
+ // Decode the transactions to access their properties.
2297
+ const decodedTxns = transactions.map((txn) => {
2298
+ return this.algosdk.decodeObj(txn);
2299
+ });
2300
+ const signedTxns = [];
2301
+ // Sign them with the client.
2302
+ const signingResults = [];
2303
+ for (const idx in decodedTxns) {
2304
+ const dtxn = decodedTxns[idx];
2305
+ const isSigned = "txn" in dtxn;
2306
+ // push the incoming txn into signed, we'll overwrite it later
2307
+ signedTxns.push(transactions[idx]);
2308
+ // Its already signed, skip it
2309
+ if (isSigned) {
2310
+ continue;
2311
+ // Not specified in indexes to sign, skip it
2312
+ }
2313
+ else if (indexesToSign &&
2314
+ indexesToSign.length &&
2315
+ !indexesToSign.includes(Number(idx))) {
2316
+ continue;
2317
+ }
2318
+ // Not to be signed by our signer, skip it
2319
+ else if (!connectedAccounts.includes(this.algosdk.encodeAddress(dtxn.snd))) {
2320
+ continue;
2321
+ }
2322
+ // overwrite with an empty blob
2323
+ signedTxns[idx] = new Uint8Array();
2324
+ const txn = this.algosdk.Transaction.from_obj_for_encoding(dtxn);
2325
+ const signedTxn = txn.signTxn(this.#client.sk);
2326
+ signingResults.push(signedTxn);
2327
+ }
2328
+ // Restore the newly signed txns in the correct order
2329
+ let signedIdx = 0;
2330
+ const formattedTxns = signedTxns.reduce((acc, txn, i) => {
2331
+ // If its an empty array, infer that it is one of the
2332
+ // ones we wanted to have signed and overwrite the empty buff
2333
+ if (txn.length === 0) {
2334
+ acc.push(signingResults[signedIdx]);
2335
+ signedIdx += 1;
2336
+ }
2337
+ else if (returnGroup) {
2338
+ acc.push(txn);
2339
+ }
2340
+ return acc;
2341
+ }, []);
2342
+ return Promise.resolve(formattedTxns);
2343
+ }
2344
+ signEncodedTransactions(transactions) {
2345
+ throw new Error("Method not implemented.");
2346
+ }
2347
+ }
2348
+
2216
2349
  var allClients = {
2217
2350
  [PeraWalletClient.metadata.id]: PeraWalletClient,
2218
2351
  [MyAlgoWalletClient.metadata.id]: MyAlgoWalletClient,
@@ -2221,6 +2354,7 @@ var allClients = {
2221
2354
  [AlgoSignerClient.metadata.id]: AlgoSignerClient,
2222
2355
  [WalletConnectClient.metadata.id]: WalletConnectClient,
2223
2356
  [KMDWalletClient.metadata.id]: KMDWalletClient,
2357
+ [MnemonicWalletClient.metadata.id]: MnemonicWalletClient,
2224
2358
  };
2225
2359
 
2226
2360
  const clearActiveAccount = useWalletStore.getState().clearActiveAccount;
@@ -2443,7 +2577,7 @@ const initializeProviders = (providers, nodeConfig, algosdkStatic) => {
2443
2577
  const { network = DEFAULT_NETWORK$1, nodeServer = DEFAULT_NODE_BASEURL, nodePort = DEFAULT_NODE_PORT, nodeToken = DEFAULT_NODE_TOKEN, } = nodeConfig || {};
2444
2578
  if (!providers || providers.length === 0)
2445
2579
  for (const [id, client] of Object.entries(allClients)) {
2446
- if (id === "kmd") {
2580
+ if (id === "kmd" || id === "mnemonic") {
2447
2581
  continue;
2448
2582
  }
2449
2583
  initializedProviders[id] = client.init({
@@ -2487,6 +2621,7 @@ exports.defly = DeflyWalletClient;
2487
2621
  exports.exodus = ExodusClient;
2488
2622
  exports.initializeProviders = initializeProviders;
2489
2623
  exports.kmd = KMDWalletClient;
2624
+ exports.mnemonic = MnemonicWalletClient;
2490
2625
  exports.myalgo = MyAlgoWalletClient;
2491
2626
  exports.pera = PeraWalletClient;
2492
2627
  exports.reconnectProviders = reconnectProviders;