@injectivelabs/wallet-base 1.20.15 → 1.20.17

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.
@@ -25,7 +25,6 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
25
25
  }) : target, mod));
26
26
 
27
27
  //#endregion
28
- const require_base = require('./base-qBbSiPrE.cjs');
29
28
  let __injectivelabs_utils = require("@injectivelabs/utils");
30
29
  let viem_chains = require("viem/chains");
31
30
  viem_chains = __toESM(viem_chains);
@@ -34,6 +33,106 @@ let viem = require("viem");
34
33
  let __injectivelabs_sdk_ts_proto_cosmos_tx = require("@injectivelabs/sdk-ts/proto/cosmos-tx");
35
34
  let __injectivelabs_sdk_ts_utils = require("@injectivelabs/sdk-ts/utils");
36
35
 
36
+ //#region src/types/events.ts
37
+ const StrategyEventType = {
38
+ ConnectionEnd: "connection-end",
39
+ ConnectionStart: "connection-start",
40
+ WalletSigningEnd: "wallet-signing-end",
41
+ WalletSigningStart: "wallet-signing-start"
42
+ };
43
+ const WalletConnectStrategyEventType = { WalletConnectSigningWithTxTimeout: "signing-with-tx-timeout" };
44
+ const WalletStrategyEmitterEventType = {
45
+ TransactionFail: "transaction-fail",
46
+ TransactionSigned: "transaction-signed",
47
+ TransactionSignStart: "transaction-sign-start",
48
+ TransactionBroadcastEnd: "transaction-broadcast-end",
49
+ TransactionBroadcastStart: "transaction-broadcast-start",
50
+ TransactionBroadcastSynced: "transaction-broadcast-synced",
51
+ TransactionPreparationEnd: "transaction-preparation-end",
52
+ TransactionPreparationStart: "transaction-preparation-start",
53
+ WalletStrategyDisconnect: "wallet-strategy-disconnect"
54
+ };
55
+
56
+ //#endregion
57
+ //#region src/types/enums.ts
58
+ const BroadcastMode = {
59
+ Block: "block",
60
+ Sync: "sync",
61
+ Async: "async"
62
+ };
63
+ const Wallet = {
64
+ Leap: "leap",
65
+ Keplr: "keplr",
66
+ Ninji: "ninji",
67
+ Magic: "magic",
68
+ Rabby: "rabby",
69
+ Ledger: "ledger",
70
+ BitGet: "BitGet",
71
+ OWallet: "owallet",
72
+ Phantom: "phantom",
73
+ Rainbow: "rainbow",
74
+ Turnkey: "turnkey",
75
+ Metamask: "metamask",
76
+ KeplrEvm: "keplr-evm",
77
+ OkxWallet: "okx-wallet",
78
+ PrivateKey: "private-key",
79
+ TrustWallet: "trust-wallet",
80
+ TrezorBip32: "trezor-bip32",
81
+ TrezorBip44: "trezor-bip44",
82
+ Cosmostation: "cosmostation",
83
+ LedgerCosmos: "ledger-cosmos",
84
+ LedgerLegacy: "ledger-legacy",
85
+ WalletConnect: "wallet-connect",
86
+ CosmostationEth: "cosmostation-eth",
87
+ PrivateKeyCosmos: "private-key-cosmos"
88
+ };
89
+ const MagicProvider = {
90
+ Email: "email",
91
+ Apple: "apple",
92
+ Github: "github",
93
+ Google: "google",
94
+ Discord: "discord",
95
+ Twitter: "twitter",
96
+ Facebook: "facebook"
97
+ };
98
+ const WalletDeviceType = {
99
+ Mobile: "mobile",
100
+ Other: "other",
101
+ Browser: "browser",
102
+ Hardware: "hardware"
103
+ };
104
+ const WalletEventListener = {
105
+ AccountChange: "account-change",
106
+ ChainIdChange: "chain-id-change"
107
+ };
108
+ const EvmWalletProviderErrorCode = {
109
+ InternalError: -32603,
110
+ UserRejectedRequest: 4001,
111
+ UnrecognizedChain: 4902
112
+ };
113
+ const WalletAction = {
114
+ GetChainId: "get-chain-id",
115
+ GetAccounts: "get-accounts",
116
+ GetNetworkId: "get-network-id",
117
+ SignArbitrary: "sign-arbitrary",
118
+ SignTransaction: "sign-transaction",
119
+ SendTransaction: "send-transaction",
120
+ SendEvmTransaction: "send-evm-transaction",
121
+ SignEvmTransaction: "sign-evm-transaction",
122
+ GetEvmTransactionReceipt: "get-evm-transaction-receipt"
123
+ };
124
+
125
+ //#endregion
126
+ //#region src/types/strategy.ts
127
+ const TurnkeyProvider = {
128
+ Sms: "sms",
129
+ Apple: "apple",
130
+ Email: "email",
131
+ Google: "google",
132
+ Twitter: "twitter"
133
+ };
134
+
135
+ //#endregion
37
136
  //#region src/utils/tx.ts
38
137
  const createEip712StdSignDoc = ({ memo, chainId, accountNumber, timeoutHeight, sequence, gas, msgs }) => ({
39
138
  chain_id: chainId,
@@ -114,6 +213,53 @@ const getViemPublicClientFromEip1193Provider = (chainId, provider) => {
114
213
  });
115
214
  };
116
215
 
216
+ //#endregion
217
+ //#region src/utils/wallet.ts
218
+ const isEvmWallet = (wallet) => [
219
+ Wallet.Magic,
220
+ Wallet.Rabby,
221
+ Wallet.BitGet,
222
+ Wallet.Ledger,
223
+ Wallet.Phantom,
224
+ Wallet.Rainbow,
225
+ Wallet.Turnkey,
226
+ Wallet.Metamask,
227
+ Wallet.KeplrEvm,
228
+ Wallet.OkxWallet,
229
+ Wallet.PrivateKey,
230
+ Wallet.TrezorBip32,
231
+ Wallet.TrezorBip44,
232
+ Wallet.TrustWallet,
233
+ Wallet.LedgerLegacy,
234
+ Wallet.WalletConnect,
235
+ Wallet.CosmostationEth
236
+ ].includes(wallet);
237
+ const isCosmosWallet = (wallet) => !isEvmWallet(wallet);
238
+ const isEvmBrowserWallet = (wallet) => [
239
+ Wallet.Rabby,
240
+ Wallet.BitGet,
241
+ Wallet.Phantom,
242
+ Wallet.Rainbow,
243
+ Wallet.Metamask,
244
+ Wallet.KeplrEvm,
245
+ Wallet.OkxWallet,
246
+ Wallet.TrustWallet
247
+ ].includes(wallet);
248
+ const isCosmosBrowserWallet = (wallet) => [
249
+ Wallet.Leap,
250
+ Wallet.Keplr,
251
+ Wallet.Ninji,
252
+ Wallet.OWallet,
253
+ Wallet.Cosmostation
254
+ ].includes(wallet);
255
+ const isEip712V2OnlyWallet = (wallet) => [
256
+ Wallet.Magic,
257
+ Wallet.Phantom,
258
+ Wallet.Metamask,
259
+ Wallet.WalletConnect
260
+ ].includes(wallet);
261
+ const isCosmosAminoOnlyWallet = (wallet) => [Wallet.LedgerCosmos].includes(wallet);
262
+
117
263
  //#endregion
118
264
  //#region src/utils/cosmos.ts
119
265
  const createCosmosSignDocFromSignDoc = (signDoc) => {
@@ -149,24 +295,92 @@ const DEFAULT_NUM_ADDRESSES_TO_FETCH = 5;
149
295
  const DEFAULT_ADDRESS_SEARCH_LIMIT = 100;
150
296
 
151
297
  //#endregion
152
- exports.BaseConcreteStrategy = require_base.BaseConcreteStrategy;
153
- exports.BroadcastMode = require_base.BroadcastMode;
298
+ //#region \0@oxc-project+runtime@0.99.0/helpers/typeof.js
299
+ function _typeof(o) {
300
+ "@babel/helpers - typeof";
301
+ return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o$1) {
302
+ return typeof o$1;
303
+ } : function(o$1) {
304
+ return o$1 && "function" == typeof Symbol && o$1.constructor === Symbol && o$1 !== Symbol.prototype ? "symbol" : typeof o$1;
305
+ }, _typeof(o);
306
+ }
307
+
308
+ //#endregion
309
+ //#region \0@oxc-project+runtime@0.99.0/helpers/toPrimitive.js
310
+ function toPrimitive(t, r) {
311
+ if ("object" != _typeof(t) || !t) return t;
312
+ var e = t[Symbol.toPrimitive];
313
+ if (void 0 !== e) {
314
+ var i = e.call(t, r || "default");
315
+ if ("object" != _typeof(i)) return i;
316
+ throw new TypeError("@@toPrimitive must return a primitive value.");
317
+ }
318
+ return ("string" === r ? String : Number)(t);
319
+ }
320
+
321
+ //#endregion
322
+ //#region \0@oxc-project+runtime@0.99.0/helpers/toPropertyKey.js
323
+ function toPropertyKey(t) {
324
+ var i = toPrimitive(t, "string");
325
+ return "symbol" == _typeof(i) ? i : i + "";
326
+ }
327
+
328
+ //#endregion
329
+ //#region \0@oxc-project+runtime@0.99.0/helpers/defineProperty.js
330
+ function _defineProperty(e, r, t) {
331
+ return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {
332
+ value: t,
333
+ enumerable: !0,
334
+ configurable: !0,
335
+ writable: !0
336
+ }) : e[r] = t, e;
337
+ }
338
+
339
+ //#endregion
340
+ //#region src/base.ts
341
+ var BaseConcreteStrategy = class {
342
+ constructor(args) {
343
+ _defineProperty(this, "chainId", void 0);
344
+ _defineProperty(this, "evmChainId", void 0);
345
+ _defineProperty(this, "listeners", {});
346
+ _defineProperty(this, "metadata", void 0);
347
+ _defineProperty(this, "emitter", void 0);
348
+ this.evmChainId = "evmOptions" in args && args.evmOptions ? args.evmOptions.evmChainId : void 0;
349
+ this.chainId = args.chainId;
350
+ this.metadata = args.metadata;
351
+ this.emitter = args.emitter;
352
+ }
353
+ setMetadata(metadata) {
354
+ this.metadata = metadata;
355
+ }
356
+ /**
357
+ * Emit an event from this strategy.
358
+ * If emitter was provided from parent, events go directly to parent.
359
+ */
360
+ emit(event, data) {
361
+ var _this$emitter;
362
+ (_this$emitter = this.emitter) === null || _this$emitter === void 0 || _this$emitter.emit(event, data);
363
+ }
364
+ };
365
+
366
+ //#endregion
367
+ exports.BaseConcreteStrategy = BaseConcreteStrategy;
368
+ exports.BroadcastMode = BroadcastMode;
154
369
  exports.DEFAULT_ADDRESS_SEARCH_LIMIT = DEFAULT_ADDRESS_SEARCH_LIMIT;
155
370
  exports.DEFAULT_BASE_DERIVATION_PATH = DEFAULT_BASE_DERIVATION_PATH;
156
371
  exports.DEFAULT_NUM_ADDRESSES_TO_FETCH = DEFAULT_NUM_ADDRESSES_TO_FETCH;
157
- exports.EvmWalletProviderErrorCode = require_base.EvmWalletProviderErrorCode;
372
+ exports.EvmWalletProviderErrorCode = EvmWalletProviderErrorCode;
158
373
  exports.GWEI_IN_WEI = GWEI_IN_WEI;
159
- exports.MagicProvider = require_base.MagicProvider;
160
- exports.StrategyEventType = require_base.StrategyEventType;
374
+ exports.MagicProvider = MagicProvider;
375
+ exports.StrategyEventType = StrategyEventType;
161
376
  exports.TIP_IN_GWEI = TIP_IN_GWEI;
162
- exports.TurnkeyProvider = require_base.TurnkeyProvider;
163
- exports.Wallet = require_base.Wallet;
164
- exports.WalletAction = require_base.WalletAction;
165
- exports.WalletConnectStrategyEventType = require_base.WalletConnectStrategyEventType;
166
- exports.WalletDeviceType = require_base.WalletDeviceType;
167
- exports.WalletEventListener = require_base.WalletEventListener;
168
- exports.WalletStrategyEmitterEventType = require_base.WalletStrategyEmitterEventType;
169
- exports.__toESM = __toESM;
377
+ exports.TurnkeyProvider = TurnkeyProvider;
378
+ exports.Wallet = Wallet;
379
+ exports.WalletAction = WalletAction;
380
+ exports.WalletConnectStrategyEventType = WalletConnectStrategyEventType;
381
+ exports.WalletDeviceType = WalletDeviceType;
382
+ exports.WalletEventListener = WalletEventListener;
383
+ exports.WalletStrategyEmitterEventType = WalletStrategyEmitterEventType;
170
384
  exports.createCosmosSignDocFromSignDoc = createCosmosSignDocFromSignDoc;
171
385
  exports.createEip712StdSignDoc = createEip712StdSignDoc;
172
386
  exports.getEthereumSignerAddress = getEthereumSignerAddress;
@@ -175,9 +389,9 @@ exports.getInjectiveSignerAddress = getInjectiveSignerAddress;
175
389
  exports.getViemPublicClient = getViemPublicClient;
176
390
  exports.getViemPublicClientFromEip1193Provider = getViemPublicClientFromEip1193Provider;
177
391
  exports.getViemWalletClient = getViemWalletClient;
178
- exports.isCosmosAminoOnlyWallet = require_base.isCosmosAminoOnlyWallet;
179
- exports.isCosmosBrowserWallet = require_base.isCosmosBrowserWallet;
180
- exports.isCosmosWallet = require_base.isCosmosWallet;
181
- exports.isEip712V2OnlyWallet = require_base.isEip712V2OnlyWallet;
182
- exports.isEvmBrowserWallet = require_base.isEvmBrowserWallet;
183
- exports.isEvmWallet = require_base.isEvmWallet;
392
+ exports.isCosmosAminoOnlyWallet = isCosmosAminoOnlyWallet;
393
+ exports.isCosmosBrowserWallet = isCosmosBrowserWallet;
394
+ exports.isCosmosWallet = isCosmosWallet;
395
+ exports.isEip712V2OnlyWallet = isEip712V2OnlyWallet;
396
+ exports.isEvmBrowserWallet = isEvmBrowserWallet;
397
+ exports.isEvmWallet = isEvmWallet;
@@ -1,10 +1,57 @@
1
- import { A as WalletConnectMetadata, B as Wallet, C as SendTransactionOptions, D as TurnkeyOAuthProvider, E as TurnkeyMetadata, F as onAccountChangeCallback, G as WalletConnectStrategyEventType, H as WalletDeviceType, I as onChainIdChangeCallback, J as WalletStrategyEmitterEvents, K as WalletStrategyEmitter, L as BroadcastMode, M as WalletStrategy, N as WalletStrategyArguments, O as TurnkeyProvider, P as WalletStrategyEvmOptions, R as EvmWalletProviderErrorCode, S as PrivateKeyMetadata, T as StrategyEmitter, U as WalletEventListener, V as WalletAction, W as StrategyEventType, _ as ConcreteWalletStrategy, a as isEip712V2OnlyWallet, b as Eip1193Provider, c as BrowserEip1993Provider, d as EIP6963ProviderInfo, f as WindowWithEip1193Provider, g as ConcreteStrategiesArg, h as ConcreteEvmWalletStrategyArgs, i as isCosmosWallet, j as WalletMetadata, k as TurnkeySession, l as EIP6963AnnounceProviderEvent, m as ConcreteCosmosWalletStrategyArgs, n as isCosmosAminoOnlyWallet, o as isEvmBrowserWallet, p as ConcreteCosmosWalletStrategy, q as WalletStrategyEmitterEventType, r as isCosmosBrowserWallet, s as isEvmWallet, t as BaseConcreteStrategy, u as EIP6963ProviderDetail, v as ConcreteWalletStrategyArgs, w as StdSignDoc, x as MagicMetadata, y as CosmosWalletAbstraction, z as MagicProvider } from "./base-jZTVPFxY.cjs";
2
- import { ChainId, EvmChainId } from "@injectivelabs/ts-types";
1
+ import { A as WalletDeviceType, C as onAccountChangeCallback, D as MagicProvider, E as EvmWalletProviderErrorCode, F as WalletStrategyEmitterEventType, I as WalletStrategyEmitterEvents, M as StrategyEventType, N as WalletConnectStrategyEventType, O as Wallet, P as WalletStrategyEmitter, S as WalletStrategyEvmOptions, T as BroadcastMode, _ as TurnkeySession, a as ConcreteWalletStrategy, b as WalletStrategy, c as Eip1193Provider, d as SendTransactionOptions, f as StdSignDoc, g as TurnkeyProvider, h as TurnkeyOAuthProvider, i as ConcreteStrategiesArg, j as WalletEventListener, k as WalletAction, l as MagicMetadata, m as TurnkeyMetadata, n as ConcreteCosmosWalletStrategyArgs, o as ConcreteWalletStrategyArgs, p as StrategyEmitter, r as ConcreteEvmWalletStrategyArgs, s as CosmosWalletAbstraction, t as ConcreteCosmosWalletStrategy, u as PrivateKeyMetadata, v as WalletConnectMetadata, w as onChainIdChangeCallback, x as WalletStrategyArguments, y as WalletMetadata } from "./strategy-CjnVi-ci.cjs";
2
+ import { ChainId, CosmosChainId, EvmChainId } from "@injectivelabs/ts-types";
3
+ import { EIP1193Provider } from "eip1193-provider";
3
4
  import { Msgs } from "@injectivelabs/sdk-ts/core/modules";
4
5
  import { Account, Chain, LocalAccount, PublicClient, WalletClient } from "viem";
5
6
  import { CosmosTxV1Beta1TxPb } from "@injectivelabs/sdk-ts/proto/cosmos-tx";
6
7
  import { BigNumber } from "@injectivelabs/utils";
7
8
 
9
+ //#region src/types/provider.d.ts
10
+ interface BrowserEip1993Provider extends EIP1193Provider {
11
+ removeAllListeners(): void;
12
+ providers?: BrowserEip1993Provider[];
13
+ isTrust: boolean;
14
+ isKeplr: boolean;
15
+ isRabby: boolean;
16
+ isRainbow: boolean;
17
+ isPhantom: boolean;
18
+ isBitGet?: boolean;
19
+ isBitKeep?: boolean;
20
+ isMetaMask: boolean;
21
+ isOkxWallet: boolean;
22
+ isTrustWallet: boolean;
23
+ }
24
+ interface WindowWithEip1193Provider extends Omit<Window, 'ethereum' | 'keplr'> {
25
+ rainbow: BrowserEip1993Provider;
26
+ rabby: BrowserEip1993Provider;
27
+ ethereum: BrowserEip1993Provider;
28
+ okxwallet: BrowserEip1993Provider;
29
+ providers: BrowserEip1993Provider[];
30
+ trustWallet?: BrowserEip1993Provider;
31
+ bitkeep: {
32
+ ethereum: BrowserEip1993Provider;
33
+ };
34
+ phantom?: {
35
+ ethereum?: BrowserEip1993Provider;
36
+ };
37
+ keplr?: {
38
+ ethereum?: BrowserEip1993Provider;
39
+ };
40
+ }
41
+ interface EIP6963ProviderInfo {
42
+ rdns: string;
43
+ uuid: string;
44
+ name: string;
45
+ icon: string;
46
+ }
47
+ interface EIP6963ProviderDetail {
48
+ info: EIP6963ProviderInfo;
49
+ provider: BrowserEip1993Provider;
50
+ }
51
+ type EIP6963AnnounceProviderEvent = {
52
+ detail: EIP6963ProviderDetail;
53
+ };
54
+ //#endregion
8
55
  //#region src/utils/tx.d.ts
9
56
  declare const createEip712StdSignDoc: ({
10
57
  memo,
@@ -58,6 +105,14 @@ declare const getViemWalletClient: ({
58
105
  }) => WalletClient;
59
106
  declare const getViemPublicClientFromEip1193Provider: (chainId: EvmChainId | number, provider: BrowserEip1993Provider) => PublicClient;
60
107
  //#endregion
108
+ //#region src/utils/wallet.d.ts
109
+ declare const isEvmWallet: (wallet: Wallet) => boolean;
110
+ declare const isCosmosWallet: (wallet: Wallet) => boolean;
111
+ declare const isEvmBrowserWallet: (wallet: Wallet) => boolean;
112
+ declare const isCosmosBrowserWallet: (wallet: Wallet) => boolean;
113
+ declare const isEip712V2OnlyWallet: (wallet: Wallet) => boolean;
114
+ declare const isCosmosAminoOnlyWallet: (wallet: Wallet) => boolean;
115
+ //#endregion
61
116
  //#region src/utils/cosmos.d.ts
62
117
  declare const createCosmosSignDocFromSignDoc: (signDoc: CosmosTxV1Beta1TxPb.SignDoc) => any;
63
118
  //#endregion
@@ -72,4 +127,24 @@ declare const DEFAULT_BASE_DERIVATION_PATH = "m/44'/60'";
72
127
  declare const DEFAULT_NUM_ADDRESSES_TO_FETCH = 5;
73
128
  declare const DEFAULT_ADDRESS_SEARCH_LIMIT = 100;
74
129
  //#endregion
130
+ //#region src/base.d.ts
131
+ declare abstract class BaseConcreteStrategy {
132
+ protected chainId: ChainId | CosmosChainId;
133
+ protected evmChainId?: EvmChainId;
134
+ protected listeners: Partial<Record<WalletEventListener, any>>;
135
+ metadata?: WalletMetadata;
136
+ /**
137
+ * Optional emitter passed from parent WalletStrategy.
138
+ * When provided, strategies emit events directly on the parent's emitter.
139
+ */
140
+ protected emitter?: StrategyEmitter;
141
+ constructor(args: ConcreteWalletStrategyArgs | ConcreteEvmWalletStrategyArgs | ConcreteCosmosWalletStrategyArgs);
142
+ setMetadata(metadata?: WalletMetadata): void;
143
+ /**
144
+ * Emit an event from this strategy.
145
+ * If emitter was provided from parent, events go directly to parent.
146
+ */
147
+ protected emit(event: WalletStrategyEmitterEventType, data?: Record<string, any>): void;
148
+ }
149
+ //#endregion
75
150
  export { BaseConcreteStrategy, BroadcastMode, BrowserEip1993Provider, ConcreteCosmosWalletStrategy, ConcreteCosmosWalletStrategyArgs, ConcreteEvmWalletStrategyArgs, ConcreteStrategiesArg, ConcreteWalletStrategy, ConcreteWalletStrategyArgs, CosmosWalletAbstraction, DEFAULT_ADDRESS_SEARCH_LIMIT, DEFAULT_BASE_DERIVATION_PATH, DEFAULT_NUM_ADDRESSES_TO_FETCH, EIP6963AnnounceProviderEvent, EIP6963ProviderDetail, EIP6963ProviderInfo, Eip1193Provider, EvmWalletProviderErrorCode, GWEI_IN_WEI, MagicMetadata, MagicProvider, PrivateKeyMetadata, SendTransactionOptions, StdSignDoc, StrategyEmitter, StrategyEventType, TIP_IN_GWEI, TurnkeyMetadata, TurnkeyOAuthProvider, TurnkeyProvider, TurnkeySession, Wallet, WalletAction, WalletConnectMetadata, WalletConnectStrategyEventType, WalletDeviceType, WalletEventListener, WalletMetadata, WalletStrategy, WalletStrategyArguments, WalletStrategyEmitter, WalletStrategyEmitterEventType, WalletStrategyEmitterEvents, WalletStrategyEvmOptions, WindowWithEip1193Provider, createCosmosSignDocFromSignDoc, createEip712StdSignDoc, getEthereumSignerAddress, getEvmChainConfig, getInjectiveSignerAddress, getViemPublicClient, getViemPublicClientFromEip1193Provider, getViemWalletClient, isCosmosAminoOnlyWallet, isCosmosBrowserWallet, isCosmosWallet, isEip712V2OnlyWallet, isEvmBrowserWallet, isEvmWallet, onAccountChangeCallback, onChainIdChangeCallback };
@@ -0,0 +1,166 @@
1
+
2
+ //#region src/runtime-light.ts
3
+ const BroadcastMode = {
4
+ Block: "block",
5
+ Sync: "sync",
6
+ Async: "async"
7
+ };
8
+ const Wallet = {
9
+ Leap: "leap",
10
+ Keplr: "keplr",
11
+ Ninji: "ninji",
12
+ Magic: "magic",
13
+ Rabby: "rabby",
14
+ Ledger: "ledger",
15
+ BitGet: "BitGet",
16
+ OWallet: "owallet",
17
+ Phantom: "phantom",
18
+ Rainbow: "rainbow",
19
+ Turnkey: "turnkey",
20
+ Metamask: "metamask",
21
+ KeplrEvm: "keplr-evm",
22
+ OkxWallet: "okx-wallet",
23
+ PrivateKey: "private-key",
24
+ TrustWallet: "trust-wallet",
25
+ TrezorBip32: "trezor-bip32",
26
+ TrezorBip44: "trezor-bip44",
27
+ Cosmostation: "cosmostation",
28
+ LedgerCosmos: "ledger-cosmos",
29
+ LedgerLegacy: "ledger-legacy",
30
+ WalletConnect: "wallet-connect",
31
+ CosmostationEth: "cosmostation-eth",
32
+ PrivateKeyCosmos: "private-key-cosmos"
33
+ };
34
+ const MagicProvider = {
35
+ Email: "email",
36
+ Apple: "apple",
37
+ Github: "github",
38
+ Google: "google",
39
+ Discord: "discord",
40
+ Twitter: "twitter",
41
+ Facebook: "facebook"
42
+ };
43
+ const WalletDeviceType = {
44
+ Mobile: "mobile",
45
+ Other: "other",
46
+ Browser: "browser",
47
+ Hardware: "hardware"
48
+ };
49
+ const WalletEventListener = {
50
+ AccountChange: "account-change",
51
+ ChainIdChange: "chain-id-change"
52
+ };
53
+ const EvmWalletProviderErrorCode = {
54
+ InternalError: -32603,
55
+ UserRejectedRequest: 4001,
56
+ UnrecognizedChain: 4902
57
+ };
58
+ const WalletAction = {
59
+ GetChainId: "get-chain-id",
60
+ GetAccounts: "get-accounts",
61
+ GetNetworkId: "get-network-id",
62
+ SignArbitrary: "sign-arbitrary",
63
+ SignTransaction: "sign-transaction",
64
+ SendTransaction: "send-transaction",
65
+ SendEvmTransaction: "send-evm-transaction",
66
+ SignEvmTransaction: "sign-evm-transaction",
67
+ GetEvmTransactionReceipt: "get-evm-transaction-receipt"
68
+ };
69
+ const DEFAULT_BASE_DERIVATION_PATH = "m/44'/60'";
70
+ const DEFAULT_NUM_ADDRESSES_TO_FETCH = 5;
71
+ const DEFAULT_ADDRESS_SEARCH_LIMIT = 100;
72
+ const TurnkeyProvider = {
73
+ Sms: "sms",
74
+ Apple: "apple",
75
+ Email: "email",
76
+ Google: "google",
77
+ Twitter: "twitter"
78
+ };
79
+ const StrategyEventType = {
80
+ ConnectionEnd: "connection-end",
81
+ ConnectionStart: "connection-start",
82
+ WalletSigningEnd: "wallet-signing-end",
83
+ WalletSigningStart: "wallet-signing-start"
84
+ };
85
+ const WalletConnectStrategyEventType = { WalletConnectSigningWithTxTimeout: "signing-with-tx-timeout" };
86
+ const WalletStrategyEmitterEventType = {
87
+ TransactionFail: "transaction-fail",
88
+ TransactionSigned: "transaction-signed",
89
+ TransactionSignStart: "transaction-sign-start",
90
+ TransactionBroadcastEnd: "transaction-broadcast-end",
91
+ TransactionBroadcastStart: "transaction-broadcast-start",
92
+ TransactionBroadcastSynced: "transaction-broadcast-synced",
93
+ TransactionPreparationEnd: "transaction-preparation-end",
94
+ TransactionPreparationStart: "transaction-preparation-start",
95
+ WalletStrategyDisconnect: "wallet-strategy-disconnect"
96
+ };
97
+ const evmWallets = [
98
+ Wallet.Magic,
99
+ Wallet.Rabby,
100
+ Wallet.BitGet,
101
+ Wallet.Ledger,
102
+ Wallet.Phantom,
103
+ Wallet.Rainbow,
104
+ Wallet.Turnkey,
105
+ Wallet.Metamask,
106
+ Wallet.KeplrEvm,
107
+ Wallet.OkxWallet,
108
+ Wallet.PrivateKey,
109
+ Wallet.TrezorBip32,
110
+ Wallet.TrezorBip44,
111
+ Wallet.TrustWallet,
112
+ Wallet.LedgerLegacy,
113
+ Wallet.WalletConnect,
114
+ Wallet.CosmostationEth
115
+ ];
116
+ const evmBrowserWallets = [
117
+ Wallet.Rabby,
118
+ Wallet.BitGet,
119
+ Wallet.Phantom,
120
+ Wallet.Rainbow,
121
+ Wallet.Metamask,
122
+ Wallet.KeplrEvm,
123
+ Wallet.OkxWallet,
124
+ Wallet.TrustWallet
125
+ ];
126
+ const cosmosBrowserWallets = [
127
+ Wallet.Leap,
128
+ Wallet.Keplr,
129
+ Wallet.Ninji,
130
+ Wallet.OWallet,
131
+ Wallet.Cosmostation
132
+ ];
133
+ const eip712V2OnlyWallets = [
134
+ Wallet.Magic,
135
+ Wallet.Phantom,
136
+ Wallet.Metamask,
137
+ Wallet.WalletConnect
138
+ ];
139
+ const isEvmWallet = (wallet) => evmWallets.includes(wallet);
140
+ const isCosmosWallet = (wallet) => !isEvmWallet(wallet);
141
+ const isEvmBrowserWallet = (wallet) => evmBrowserWallets.includes(wallet);
142
+ const isCosmosBrowserWallet = (wallet) => cosmosBrowserWallets.includes(wallet);
143
+ const isEip712V2OnlyWallet = (wallet) => eip712V2OnlyWallets.includes(wallet);
144
+ const isCosmosAminoOnlyWallet = (wallet) => wallet === Wallet.LedgerCosmos;
145
+
146
+ //#endregion
147
+ exports.BroadcastMode = BroadcastMode;
148
+ exports.DEFAULT_ADDRESS_SEARCH_LIMIT = DEFAULT_ADDRESS_SEARCH_LIMIT;
149
+ exports.DEFAULT_BASE_DERIVATION_PATH = DEFAULT_BASE_DERIVATION_PATH;
150
+ exports.DEFAULT_NUM_ADDRESSES_TO_FETCH = DEFAULT_NUM_ADDRESSES_TO_FETCH;
151
+ exports.EvmWalletProviderErrorCode = EvmWalletProviderErrorCode;
152
+ exports.MagicProvider = MagicProvider;
153
+ exports.StrategyEventType = StrategyEventType;
154
+ exports.TurnkeyProvider = TurnkeyProvider;
155
+ exports.Wallet = Wallet;
156
+ exports.WalletAction = WalletAction;
157
+ exports.WalletConnectStrategyEventType = WalletConnectStrategyEventType;
158
+ exports.WalletDeviceType = WalletDeviceType;
159
+ exports.WalletEventListener = WalletEventListener;
160
+ exports.WalletStrategyEmitterEventType = WalletStrategyEmitterEventType;
161
+ exports.isCosmosAminoOnlyWallet = isCosmosAminoOnlyWallet;
162
+ exports.isCosmosBrowserWallet = isCosmosBrowserWallet;
163
+ exports.isCosmosWallet = isCosmosWallet;
164
+ exports.isEip712V2OnlyWallet = isEip712V2OnlyWallet;
165
+ exports.isEvmBrowserWallet = isEvmBrowserWallet;
166
+ exports.isEvmWallet = isEvmWallet;