@injectivelabs/wallet-evm 0.0.2

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.
Files changed (76) hide show
  1. package/README.md +111 -0
  2. package/dist/cjs/index.d.ts +4 -0
  3. package/dist/cjs/index.d.ts.map +1 -0
  4. package/dist/cjs/index.js +22 -0
  5. package/dist/cjs/index.js.map +1 -0
  6. package/dist/cjs/package.json +3 -0
  7. package/dist/cjs/strategy/strategy.d.ts +40 -0
  8. package/dist/cjs/strategy/strategy.d.ts.map +1 -0
  9. package/dist/cjs/strategy/strategy.js +281 -0
  10. package/dist/cjs/strategy/strategy.js.map +1 -0
  11. package/dist/cjs/strategy/utils/Okx.d.ts +5 -0
  12. package/dist/cjs/strategy/utils/Okx.d.ts.map +1 -0
  13. package/dist/cjs/strategy/utils/Okx.js +64 -0
  14. package/dist/cjs/strategy/utils/Okx.js.map +1 -0
  15. package/dist/cjs/strategy/utils/bitget.d.ts +5 -0
  16. package/dist/cjs/strategy/utils/bitget.d.ts.map +1 -0
  17. package/dist/cjs/strategy/utils/bitget.js +58 -0
  18. package/dist/cjs/strategy/utils/bitget.js.map +1 -0
  19. package/dist/cjs/strategy/utils/index.d.ts +6 -0
  20. package/dist/cjs/strategy/utils/index.d.ts.map +1 -0
  21. package/dist/cjs/strategy/utils/index.js +14 -0
  22. package/dist/cjs/strategy/utils/index.js.map +1 -0
  23. package/dist/cjs/strategy/utils/metamask.d.ts +5 -0
  24. package/dist/cjs/strategy/utils/metamask.d.ts.map +1 -0
  25. package/dist/cjs/strategy/utils/metamask.js +59 -0
  26. package/dist/cjs/strategy/utils/metamask.js.map +1 -0
  27. package/dist/cjs/strategy/utils/phantom.d.ts +5 -0
  28. package/dist/cjs/strategy/utils/phantom.d.ts.map +1 -0
  29. package/dist/cjs/strategy/utils/phantom.js +64 -0
  30. package/dist/cjs/strategy/utils/phantom.js.map +1 -0
  31. package/dist/cjs/strategy/utils/trustWallet.d.ts +5 -0
  32. package/dist/cjs/strategy/utils/trustWallet.d.ts.map +1 -0
  33. package/dist/cjs/strategy/utils/trustWallet.js +64 -0
  34. package/dist/cjs/strategy/utils/trustWallet.js.map +1 -0
  35. package/dist/cjs/utils/index.d.ts +5 -0
  36. package/dist/cjs/utils/index.d.ts.map +1 -0
  37. package/dist/cjs/utils/index.js +53 -0
  38. package/dist/cjs/utils/index.js.map +1 -0
  39. package/dist/esm/index.d.ts +4 -0
  40. package/dist/esm/index.d.ts.map +1 -0
  41. package/dist/esm/index.js +4 -0
  42. package/dist/esm/index.js.map +1 -0
  43. package/dist/esm/package.json +3 -0
  44. package/dist/esm/strategy/strategy.d.ts +40 -0
  45. package/dist/esm/strategy/strategy.d.ts.map +1 -0
  46. package/dist/esm/strategy/strategy.js +235 -0
  47. package/dist/esm/strategy/strategy.js.map +1 -0
  48. package/dist/esm/strategy/utils/Okx.d.ts +5 -0
  49. package/dist/esm/strategy/utils/Okx.d.ts.map +1 -0
  50. package/dist/esm/strategy/utils/Okx.js +47 -0
  51. package/dist/esm/strategy/utils/Okx.js.map +1 -0
  52. package/dist/esm/strategy/utils/bitget.d.ts +5 -0
  53. package/dist/esm/strategy/utils/bitget.d.ts.map +1 -0
  54. package/dist/esm/strategy/utils/bitget.js +41 -0
  55. package/dist/esm/strategy/utils/bitget.js.map +1 -0
  56. package/dist/esm/strategy/utils/index.d.ts +6 -0
  57. package/dist/esm/strategy/utils/index.d.ts.map +1 -0
  58. package/dist/esm/strategy/utils/index.js +6 -0
  59. package/dist/esm/strategy/utils/index.js.map +1 -0
  60. package/dist/esm/strategy/utils/metamask.d.ts +5 -0
  61. package/dist/esm/strategy/utils/metamask.d.ts.map +1 -0
  62. package/dist/esm/strategy/utils/metamask.js +42 -0
  63. package/dist/esm/strategy/utils/metamask.js.map +1 -0
  64. package/dist/esm/strategy/utils/phantom.d.ts +5 -0
  65. package/dist/esm/strategy/utils/phantom.d.ts.map +1 -0
  66. package/dist/esm/strategy/utils/phantom.js +47 -0
  67. package/dist/esm/strategy/utils/phantom.js.map +1 -0
  68. package/dist/esm/strategy/utils/trustWallet.d.ts +5 -0
  69. package/dist/esm/strategy/utils/trustWallet.d.ts.map +1 -0
  70. package/dist/esm/strategy/utils/trustWallet.js +47 -0
  71. package/dist/esm/strategy/utils/trustWallet.js.map +1 -0
  72. package/dist/esm/utils/index.d.ts +5 -0
  73. package/dist/esm/utils/index.d.ts.map +1 -0
  74. package/dist/esm/utils/index.js +39 -0
  75. package/dist/esm/utils/index.js.map +1 -0
  76. package/package.json +65 -0
package/README.md ADDED
@@ -0,0 +1,111 @@
1
+ # 🌟 Injective Protocol - Wallet EVM Strategy
2
+
3
+ <!-- TODO -->
4
+
5
+ [![downloads](https://img.shields.io/npm/dm/@injectivelabs/wallet-ts.svg)](https://www.npmjs.com/package/@injectivelabs/wallet-ts)
6
+ [![npm-version](https://img.shields.io/npm/v/@injectivelabs/wallet-ts.svg)](https://www.npmjs.com/package/@injectivelabs/wallet-ts)
7
+ [![license](https://img.shields.io/npm/l/express.svg)]()
8
+
9
+ _Package to use Wallets EVM on Injective via the wallet strategy._
10
+
11
+ ---
12
+
13
+ ## 📚 Installation
14
+
15
+ ```bash
16
+ yarn add @injectivelabs/wallet-evm
17
+ ```
18
+
19
+ ---
20
+
21
+ ## 📖 Documentation
22
+
23
+ Injective's wallet packages are intended to make it easy for developers to choose exactly what wallets - and subsequent dependencies - they
24
+ want to include in their projects.
25
+
26
+ Regardless of which wallet package(s) you choose to use you must also have `@injectivelabs/wallet-core` and `@injectivelabs/wallet-base`
27
+ installed. These contain all of the types and core wallet functionality, with the separate wallet packages only providing the necessary
28
+ dependencies and implementations for their specific wallets.
29
+
30
+ Here's a brief example of how to use this package to send 1 INJ.:
31
+
32
+ ```typescript
33
+ import { Wallet } from '@injectivelabs/wallet-base';
34
+ import { BaseWalletStrategy, MsgBroadcaster } from '@injectivelabs/wallet-core';
35
+ import { EvmWalletStrategy } from '@injectivelabs/wallet-evm';
36
+
37
+
38
+ const strategyArgs: WalletStrategyArguments = {
39
+ chainId: ChainId.Mainnet,
40
+ wallet: Wallet.Metamask,
41
+ strategies: {
42
+ [Wallet.Metamask]: new EvmWalletStrategy({
43
+ chainId: ChainId.Mainnet,
44
+ ethereumOptions: {
45
+ ethereumChainId: EthereumChainId.Mainnet,
46
+ },
47
+ }),
48
+ },
49
+ }
50
+ const walletStrategy = new BaseWalletStrategy(strategyArgs)
51
+
52
+ const msgBroadcaster = new MsgBroadcaster({
53
+ walletStrategy,
54
+ simulateTx: true,
55
+ network: Network.Mainnet,
56
+ })
57
+
58
+ const sendTX = async () => {
59
+ const injectiveAddress = 'someInjectiveAddress'
60
+
61
+ const message = MsgSend.fromJSON({
62
+ srcInjectiveAddress: injectiveAddress,
63
+ dstInjectiveAddress: injectiveAddress,
64
+ amount: {
65
+ amount: '1',
66
+ denom: 'inj',
67
+ },
68
+ })
69
+
70
+ return await msgBroadcaster.broadcast({ msgs: message })
71
+ }
72
+
73
+ const result = await sendTX()
74
+ ```
75
+
76
+ Read more and find example usages on our [WalletStrategy Docs](https://docs.ts.injective.network/wallet/wallet-wallet-strategy)
77
+
78
+ ---
79
+
80
+ ## 📜 Contribution
81
+
82
+ **Contribution guides and practices will be available once there is a stable foundation of the whole package set within the `injective-ts` repo.**
83
+
84
+ ---
85
+
86
+ ## ⛑ Support
87
+
88
+ Reach out to us at one of the following places!
89
+
90
+ - Website at <a href="https://injective.com" target="_blank">`injective.com`</a>
91
+ - Twitter at <a href="https://twitter.com/Injective_" target="_blank">`@Injective`</a>
92
+ - Discord at <a href="https://discord.com/invite/NK4qdbv" target="_blank">`Discord`</a>
93
+ - Telegram at <a href="https://t.me/joininjective" target="_blank">`Telegram`</a>
94
+
95
+ ---
96
+
97
+ ## 🔓 License
98
+
99
+ Copyright © 2021 - 2022 Injective Labs Inc. (<https://injectivelabs.org/>)
100
+
101
+ <a href="https://iili.io/mNneZN.md.png"><img src="https://iili.io/mNneZN.md.png" style="width: 300px; max-width: 100%; height: auto" />
102
+
103
+ Originally released by Injective Labs Inc. under: <br />
104
+ Apache License <br />
105
+ Version 2.0, January 2004 <br />
106
+ <http://www.apache.org/licenses/>
107
+
108
+ <p>&nbsp;</p>
109
+ <div align="center">
110
+ <sub><em>Powering the future of decentralized finance.</em></sub>
111
+ </div>
@@ -0,0 +1,4 @@
1
+ export { EvmWallet as EvmWalletStrategy } from './strategy/strategy';
2
+ export * from './strategy/utils';
3
+ export * from './utils';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,IAAI,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AACpE,cAAc,kBAAkB,CAAA;AAChC,cAAc,SAAS,CAAA"}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.EvmWalletStrategy = void 0;
18
+ var strategy_1 = require("./strategy/strategy");
19
+ Object.defineProperty(exports, "EvmWalletStrategy", { enumerable: true, get: function () { return strategy_1.EvmWallet; } });
20
+ __exportStar(require("./strategy/utils"), exports);
21
+ __exportStar(require("./utils"), exports);
22
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,gDAAoE;AAA3D,6GAAA,SAAS,OAAqB;AACvC,mDAAgC;AAChC,0CAAuB"}
@@ -0,0 +1,3 @@
1
+ {
2
+ "type": "commonjs"
3
+ }
@@ -0,0 +1,40 @@
1
+ import { ErrorContext, ConcreteException } from '@injectivelabs/exceptions';
2
+ import { Wallet, StdSignDoc, WalletDeviceType, BaseConcreteStrategy, SendTransactionOptions, ConcreteWalletStrategy, ConcreteWalletStrategyArgs, ConcreteEthereumWalletStrategyArgs } from '@injectivelabs/wallet-base';
3
+ import { AccountAddress, EthereumChainId } from '@injectivelabs/ts-types';
4
+ import { TxRaw, TxResponse, DirectSignResponse, AminoSignResponse } from '@injectivelabs/sdk-ts';
5
+ export declare class EvmWallet extends BaseConcreteStrategy implements ConcreteWalletStrategy {
6
+ wallet?: Wallet;
7
+ constructor(args: (ConcreteWalletStrategyArgs | ConcreteEthereumWalletStrategyArgs) & {
8
+ wallet: Wallet;
9
+ });
10
+ EvmWalletException(error: Error, context?: ErrorContext): ConcreteException;
11
+ getWalletDeviceType(): Promise<WalletDeviceType>;
12
+ enable(): Promise<boolean>;
13
+ disconnect(): Promise<void>;
14
+ getAddresses(): Promise<string[]>;
15
+ getSessionOrConfirm(address: AccountAddress): Promise<string>;
16
+ sendEthereumTransaction(transaction: unknown, _options: {
17
+ address: AccountAddress;
18
+ ethereumChainId: EthereumChainId;
19
+ }): Promise<string>;
20
+ sendTransaction(transaction: TxRaw, options: SendTransactionOptions): Promise<TxResponse>;
21
+ signEip712TypedData(eip712json: string, address: AccountAddress): Promise<string>;
22
+ signAminoCosmosTransaction(_transaction: {
23
+ address: string;
24
+ signDoc: StdSignDoc;
25
+ }): Promise<AminoSignResponse>;
26
+ signCosmosTransaction(_transaction: {
27
+ txRaw: TxRaw;
28
+ accountNumber: number;
29
+ chainId: string;
30
+ address: string;
31
+ }): Promise<DirectSignResponse>;
32
+ signArbitrary(signer: AccountAddress, data: string | Uint8Array): Promise<string>;
33
+ getEthereumChainId(): Promise<string>;
34
+ getEthereumTransactionReceipt(txHash: string): Promise<string>;
35
+ getPubKey(): Promise<string>;
36
+ onChainIdChanged(callback: (chain: string) => void): Promise<void>;
37
+ onAccountChange(callback: (account: AccountAddress) => void): Promise<void>;
38
+ private getEthereum;
39
+ }
40
+ //# sourceMappingURL=strategy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"strategy.d.ts","sourceRoot":"","sources":["../../../src/strategy/strategy.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,YAAY,EAGZ,iBAAiB,EAMlB,MAAM,2BAA2B,CAAA;AAClC,OAAO,EACL,MAAM,EACN,UAAU,EAEV,gBAAgB,EAEhB,oBAAoB,EACpB,sBAAsB,EAEtB,sBAAsB,EACtB,0BAA0B,EAC1B,kCAAkC,EACnC,MAAM,4BAA4B,CAAA;AAEnC,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AACzE,OAAO,EACL,KAAK,EAGL,UAAU,EACV,kBAAkB,EAClB,iBAAiB,EAClB,MAAM,uBAAuB,CAAA;AAiB9B,qBAAa,SAAU,SAAQ,oBAAqB,YAAW,sBAAsB;IAC5E,MAAM,CAAC,EAAE,MAAM,CAAA;gBAGpB,IAAI,EAAE,CAAC,0BAA0B,GAAG,kCAAkC,CAAC,GAAG;QACxE,MAAM,EAAE,MAAM,CAAA;KACf;IAaI,kBAAkB,CACvB,KAAK,EAAE,KAAK,EACZ,OAAO,CAAC,EAAE,YAAY,GACrB,iBAAiB;IAwBd,mBAAmB,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAIhD,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC;IAInB,UAAU;IAsBjB,YAAY,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAiBjC,mBAAmB,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC;IAQ7D,uBAAuB,CAC3B,WAAW,EAAE,OAAO,EACpB,QAAQ,EAAE;QAAE,OAAO,EAAE,cAAc,CAAC;QAAC,eAAe,EAAE,eAAe,CAAA;KAAE,GACtE,OAAO,CAAC,MAAM,CAAC;IAiBZ,eAAe,CACnB,WAAW,EAAE,KAAK,EAClB,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,UAAU,CAAC;IAyBhB,mBAAmB,CACvB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,MAAM,CAAC;IAiBZ,0BAA0B,CAAC,YAAY,EAAE;QAC7C,OAAO,EAAE,MAAM,CAAA;QACf,OAAO,EAAE,UAAU,CAAA;KACpB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAYxB,qBAAqB,CAAC,YAAY,EAAE;QACxC,KAAK,EAAE,KAAK,CAAA;QACZ,aAAa,EAAE,MAAM,CAAA;QACrB,OAAO,EAAE,MAAM,CAAA;QACf,OAAO,EAAE,MAAM,CAAA;KAChB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAWzB,aAAa,CACjB,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,MAAM,GAAG,UAAU,GACxB,OAAO,CAAC,MAAM,CAAC;IAmBZ,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC;IAcrC,6BAA6B,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IA8B9D,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC;IAM5B,gBAAgB,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAUlE,eAAe,CACnB,QAAQ,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,IAAI,GAC1C,OAAO,CAAC,IAAI,CAAC;YAUF,WAAW;CA2B1B"}
@@ -0,0 +1,281 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.EvmWallet = void 0;
13
+ /* eslint-disable class-methods-use-this */
14
+ const exceptions_1 = require("@injectivelabs/exceptions");
15
+ const wallet_base_1 = require("@injectivelabs/wallet-base");
16
+ const utils_1 = require("@injectivelabs/utils");
17
+ const sdk_ts_1 = require("@injectivelabs/sdk-ts");
18
+ const utils_2 = require("./utils");
19
+ const evmWallets = [
20
+ wallet_base_1.Wallet.BitGet,
21
+ wallet_base_1.Wallet.Phantom,
22
+ wallet_base_1.Wallet.Metamask,
23
+ wallet_base_1.Wallet.OkxWallet,
24
+ wallet_base_1.Wallet.TrustWallet,
25
+ ];
26
+ class EvmWallet extends wallet_base_1.BaseConcreteStrategy {
27
+ constructor(args) {
28
+ super(args);
29
+ if (!evmWallets.includes(args.wallet)) {
30
+ throw new exceptions_1.WalletException(new Error(`Evm Wallet for ${args.wallet} is not supported.`));
31
+ }
32
+ this.wallet = args.wallet;
33
+ }
34
+ EvmWalletException(error, context) {
35
+ if (this.wallet === wallet_base_1.Wallet.Metamask) {
36
+ return new exceptions_1.MetamaskException(error, context);
37
+ }
38
+ if (this.wallet === wallet_base_1.Wallet.BitGet) {
39
+ return new exceptions_1.BitGetException(error, context);
40
+ }
41
+ if (this.wallet === wallet_base_1.Wallet.OkxWallet) {
42
+ return new exceptions_1.OkxWalletException(error, context);
43
+ }
44
+ if (this.wallet === wallet_base_1.Wallet.Phantom) {
45
+ return new exceptions_1.MetamaskException(error, context);
46
+ }
47
+ if (this.wallet === wallet_base_1.Wallet.TrustWallet) {
48
+ return new exceptions_1.TrustWalletException(error, context);
49
+ }
50
+ return new exceptions_1.WalletException(error, context);
51
+ }
52
+ getWalletDeviceType() {
53
+ return __awaiter(this, void 0, void 0, function* () {
54
+ return Promise.resolve(wallet_base_1.WalletDeviceType.Browser);
55
+ });
56
+ }
57
+ enable() {
58
+ return __awaiter(this, void 0, void 0, function* () {
59
+ return Promise.resolve(true);
60
+ });
61
+ }
62
+ disconnect() {
63
+ return __awaiter(this, void 0, void 0, function* () {
64
+ if (this.listeners[wallet_base_1.WalletEventListener.AccountChange]) {
65
+ const ethereum = yield this.getEthereum();
66
+ ethereum.removeListener('accountsChanged', this.listeners[wallet_base_1.WalletEventListener.AccountChange]);
67
+ }
68
+ if (this.listeners[wallet_base_1.WalletEventListener.ChainIdChange]) {
69
+ const ethereum = yield this.getEthereum();
70
+ ethereum.removeListener('chainChanged', this.listeners[wallet_base_1.WalletEventListener.ChainIdChange]);
71
+ }
72
+ this.listeners = {};
73
+ });
74
+ }
75
+ getAddresses() {
76
+ return __awaiter(this, void 0, void 0, function* () {
77
+ const ethereum = yield this.getEthereum();
78
+ try {
79
+ return yield ethereum.request({
80
+ method: 'eth_requestAccounts',
81
+ });
82
+ }
83
+ catch (e) {
84
+ throw this.EvmWalletException(new Error(e.message), {
85
+ code: exceptions_1.UnspecifiedErrorCode,
86
+ type: exceptions_1.ErrorType.WalletError,
87
+ contextModule: wallet_base_1.WalletAction.GetAccounts,
88
+ });
89
+ }
90
+ });
91
+ }
92
+ // eslint-disable-next-line class-methods-use-this
93
+ getSessionOrConfirm(address) {
94
+ return __awaiter(this, void 0, void 0, function* () {
95
+ return Promise.resolve(`0x${Buffer.from(`Confirmation for ${address} at time: ${Date.now()}`).toString('hex')}`);
96
+ });
97
+ }
98
+ sendEthereumTransaction(transaction, _options) {
99
+ return __awaiter(this, void 0, void 0, function* () {
100
+ const ethereum = yield this.getEthereum();
101
+ try {
102
+ return yield ethereum.request({
103
+ method: 'eth_sendTransaction',
104
+ params: [transaction],
105
+ });
106
+ }
107
+ catch (e) {
108
+ throw this.EvmWalletException(new Error(e.message), {
109
+ code: exceptions_1.UnspecifiedErrorCode,
110
+ type: exceptions_1.ErrorType.WalletError,
111
+ contextModule: wallet_base_1.WalletAction.SendEthereumTransaction,
112
+ });
113
+ }
114
+ });
115
+ }
116
+ sendTransaction(transaction, options) {
117
+ return __awaiter(this, void 0, void 0, function* () {
118
+ const { endpoints, txTimeout } = options;
119
+ if (!endpoints) {
120
+ throw new exceptions_1.WalletException(new Error('You have to pass endpoints within the options for using Ethereum native wallets'));
121
+ }
122
+ const txApi = new sdk_ts_1.TxGrpcApi(endpoints.grpc);
123
+ const response = yield txApi.broadcast(transaction, { txTimeout });
124
+ if (response.code !== 0) {
125
+ throw new exceptions_1.TransactionException(new Error(response.rawLog), {
126
+ code: exceptions_1.UnspecifiedErrorCode,
127
+ contextCode: response.code,
128
+ contextModule: response.codespace,
129
+ });
130
+ }
131
+ return response;
132
+ });
133
+ }
134
+ signEip712TypedData(eip712json, address) {
135
+ return __awaiter(this, void 0, void 0, function* () {
136
+ const ethereum = yield this.getEthereum();
137
+ try {
138
+ return yield ethereum.request({
139
+ method: 'eth_signTypedData_v4',
140
+ params: [address, eip712json],
141
+ });
142
+ }
143
+ catch (e) {
144
+ throw new exceptions_1.MetamaskException(new Error(e.message), {
145
+ code: exceptions_1.UnspecifiedErrorCode,
146
+ type: exceptions_1.ErrorType.WalletError,
147
+ contextModule: wallet_base_1.WalletAction.SignTransaction,
148
+ });
149
+ }
150
+ });
151
+ }
152
+ signAminoCosmosTransaction(_transaction) {
153
+ return __awaiter(this, void 0, void 0, function* () {
154
+ throw new exceptions_1.WalletException(new Error('This wallet does not support signing Cosmos transactions'), {
155
+ code: exceptions_1.UnspecifiedErrorCode,
156
+ type: exceptions_1.ErrorType.WalletError,
157
+ contextModule: wallet_base_1.WalletAction.SignTransaction,
158
+ });
159
+ });
160
+ }
161
+ // eslint-disable-next-line class-methods-use-this
162
+ signCosmosTransaction(_transaction) {
163
+ return __awaiter(this, void 0, void 0, function* () {
164
+ throw new exceptions_1.WalletException(new Error('This wallet does not support signing Cosmos transactions'), {
165
+ code: exceptions_1.UnspecifiedErrorCode,
166
+ type: exceptions_1.ErrorType.WalletError,
167
+ contextModule: wallet_base_1.WalletAction.SignTransaction,
168
+ });
169
+ });
170
+ }
171
+ signArbitrary(signer, data) {
172
+ return __awaiter(this, void 0, void 0, function* () {
173
+ const ethereum = yield this.getEthereum();
174
+ try {
175
+ const signature = yield ethereum.request({
176
+ method: 'personal_sign',
177
+ params: [(0, sdk_ts_1.toUtf8)(data), signer],
178
+ });
179
+ return signature;
180
+ }
181
+ catch (e) {
182
+ throw this.EvmWalletException(new Error(e.message), {
183
+ code: exceptions_1.UnspecifiedErrorCode,
184
+ type: exceptions_1.ErrorType.WalletError,
185
+ contextModule: wallet_base_1.WalletAction.SignArbitrary,
186
+ });
187
+ }
188
+ });
189
+ }
190
+ getEthereumChainId() {
191
+ return __awaiter(this, void 0, void 0, function* () {
192
+ const ethereum = yield this.getEthereum();
193
+ try {
194
+ return ethereum.request({ method: 'eth_chainId' });
195
+ }
196
+ catch (e) {
197
+ throw this.EvmWalletException(new Error(e.message), {
198
+ code: exceptions_1.UnspecifiedErrorCode,
199
+ type: exceptions_1.ErrorType.WalletError,
200
+ contextModule: wallet_base_1.WalletAction.GetChainId,
201
+ });
202
+ }
203
+ });
204
+ }
205
+ getEthereumTransactionReceipt(txHash) {
206
+ return __awaiter(this, void 0, void 0, function* () {
207
+ const ethereum = yield this.getEthereum();
208
+ const interval = 1000;
209
+ const transactionReceiptRetry = () => __awaiter(this, void 0, void 0, function* () {
210
+ const receipt = yield ethereum.request({
211
+ method: 'eth_getTransactionReceipt',
212
+ params: [txHash],
213
+ });
214
+ if (!receipt) {
215
+ yield (0, utils_1.sleep)(interval);
216
+ yield transactionReceiptRetry();
217
+ }
218
+ return receipt;
219
+ });
220
+ try {
221
+ return yield transactionReceiptRetry();
222
+ }
223
+ catch (e) {
224
+ throw this.EvmWalletException(new Error(e.message), {
225
+ code: exceptions_1.UnspecifiedErrorCode,
226
+ type: exceptions_1.ErrorType.WalletError,
227
+ contextModule: wallet_base_1.WalletAction.GetEthereumTransactionReceipt,
228
+ });
229
+ }
230
+ });
231
+ }
232
+ // eslint-disable-next-line class-methods-use-this
233
+ getPubKey() {
234
+ return __awaiter(this, void 0, void 0, function* () {
235
+ throw new exceptions_1.WalletException(new Error('You can only fetch PubKey from Cosmos native wallets'));
236
+ });
237
+ }
238
+ onChainIdChanged(callback) {
239
+ return __awaiter(this, void 0, void 0, function* () {
240
+ const ethereum = yield this.getEthereum();
241
+ this.listeners = {
242
+ [wallet_base_1.WalletEventListener.ChainIdChange]: callback,
243
+ };
244
+ ethereum.on('chainChanged', callback);
245
+ });
246
+ }
247
+ onAccountChange(callback) {
248
+ return __awaiter(this, void 0, void 0, function* () {
249
+ const ethereum = yield this.getEthereum();
250
+ this.listeners = {
251
+ [wallet_base_1.WalletEventListener.AccountChange]: callback,
252
+ };
253
+ ethereum.on('accountsChanged', callback);
254
+ });
255
+ }
256
+ getEthereum() {
257
+ return __awaiter(this, void 0, void 0, function* () {
258
+ const provider = this.wallet === wallet_base_1.Wallet.Metamask
259
+ ? yield (0, utils_2.getMetamaskProvider)()
260
+ : this.wallet === wallet_base_1.Wallet.Phantom
261
+ ? yield (0, utils_2.getPhantomProvider)()
262
+ : this.wallet === wallet_base_1.Wallet.BitGet
263
+ ? yield (0, utils_2.getBitGetProvider)()
264
+ : this.wallet === wallet_base_1.Wallet.OkxWallet
265
+ ? yield (0, utils_2.getOkxWalletProvider)()
266
+ : this.wallet === wallet_base_1.Wallet.TrustWallet
267
+ ? yield (0, utils_2.getTrustWalletProvider)()
268
+ : undefined;
269
+ if (!provider) {
270
+ throw this.EvmWalletException(new Error(`Please install the ${this.wallet} wallet extension.`), {
271
+ code: exceptions_1.UnspecifiedErrorCode,
272
+ type: exceptions_1.ErrorType.WalletNotInstalledError,
273
+ contextModule: wallet_base_1.WalletAction.GetAccounts,
274
+ });
275
+ }
276
+ return provider;
277
+ });
278
+ }
279
+ }
280
+ exports.EvmWallet = EvmWallet;
281
+ //# sourceMappingURL=strategy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"strategy.js","sourceRoot":"","sources":["../../../src/strategy/strategy.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { BrowserEip1993Provider } from '@injectivelabs/wallet-base';
2
+ export declare function getOkxWalletProvider({ timeout }?: {
3
+ timeout: number;
4
+ }): Promise<BrowserEip1993Provider>;
5
+ //# sourceMappingURL=Okx.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Okx.d.ts","sourceRoot":"","sources":["../../../../src/strategy/utils/Okx.ts"],"names":[],"mappings":"AACA,OAAO,EACL,sBAAsB,EAEvB,MAAM,4BAA4B,CAAA;AAMnC,wBAAsB,oBAAoB,CAAC,EAAE,OAAO,EAAE;;CAAoB,mCAUzE"}
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.getOkxWalletProvider = void 0;
13
+ const sdk_ts_1 = require("@injectivelabs/sdk-ts");
14
+ const $window = ((0, sdk_ts_1.isServerSide)()
15
+ ? {}
16
+ : window);
17
+ function getOkxWalletProvider() {
18
+ return __awaiter(this, arguments, void 0, function* ({ timeout } = { timeout: 3000 }) {
19
+ const provider = getOkxWalletFromWindow();
20
+ if (provider) {
21
+ return provider;
22
+ }
23
+ return listenForOkxWalletInitialized({
24
+ timeout,
25
+ });
26
+ });
27
+ }
28
+ exports.getOkxWalletProvider = getOkxWalletProvider;
29
+ function listenForOkxWalletInitialized() {
30
+ return __awaiter(this, arguments, void 0, function* ({ timeout } = { timeout: 3000 }) {
31
+ return new Promise((resolve) => {
32
+ const handleInitialization = () => {
33
+ resolve(getOkxWalletFromWindow());
34
+ };
35
+ $window.addEventListener('okxwallet#initialized', handleInitialization, {
36
+ once: true,
37
+ });
38
+ setTimeout(() => {
39
+ $window.removeEventListener('okxwallet#initialized', handleInitialization);
40
+ resolve(null);
41
+ }, timeout);
42
+ });
43
+ });
44
+ }
45
+ function getOkxWalletFromWindow() {
46
+ const injectedProviderExist = typeof window !== 'undefined' &&
47
+ (typeof $window.ethereum !== 'undefined' ||
48
+ typeof $window.okxwallet !== 'undefined');
49
+ // No injected providers exist.
50
+ if (!injectedProviderExist) {
51
+ return;
52
+ }
53
+ if ($window.okxwallet) {
54
+ return $window.okxwallet;
55
+ }
56
+ if ($window.ethereum.isOkxWallet) {
57
+ return $window.ethereum;
58
+ }
59
+ if ($window.providers) {
60
+ return $window.providers.find((p) => p.isOkxWallet);
61
+ }
62
+ return;
63
+ }
64
+ //# sourceMappingURL=Okx.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Okx.js","sourceRoot":"","sources":["../../../../src/strategy/utils/Okx.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,kDAAoD;AAMpD,MAAM,OAAO,GAAG,CAAC,IAAA,qBAAY,GAAE;IAC7B,CAAC,CAAC,EAAE;IACJ,CAAC,CAAC,MAAM,CAAyC,CAAA;AAEnD,SAAsB,oBAAoB;yDAAC,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE;QACxE,MAAM,QAAQ,GAAG,sBAAsB,EAAE,CAAA;QAEzC,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,QAAQ,CAAA;QACjB,CAAC;QAED,OAAO,6BAA6B,CAAC;YACnC,OAAO;SACR,CAAoC,CAAA;IACvC,CAAC;CAAA;AAVD,oDAUC;AAED,SAAe,6BAA6B;yDAAC,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE;QAC1E,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,MAAM,oBAAoB,GAAG,GAAG,EAAE;gBAChC,OAAO,CAAC,sBAAsB,EAAE,CAAC,CAAA;YACnC,CAAC,CAAA;YAED,OAAO,CAAC,gBAAgB,CAAC,uBAAuB,EAAE,oBAAoB,EAAE;gBACtE,IAAI,EAAE,IAAI;aACX,CAAC,CAAA;YAEF,UAAU,CAAC,GAAG,EAAE;gBACd,OAAO,CAAC,mBAAmB,CAAC,uBAAuB,EAAE,oBAAoB,CAAC,CAAA;gBAC1E,OAAO,CAAC,IAAI,CAAC,CAAA;YACf,CAAC,EAAE,OAAO,CAAC,CAAA;QACb,CAAC,CAAC,CAAA;IACJ,CAAC;CAAA;AAED,SAAS,sBAAsB;IAC7B,MAAM,qBAAqB,GACzB,OAAO,MAAM,KAAK,WAAW;QAC7B,CAAC,OAAO,OAAO,CAAC,QAAQ,KAAK,WAAW;YACtC,OAAO,OAAO,CAAC,SAAS,KAAK,WAAW,CAAC,CAAA;IAE7C,+BAA+B;IAC/B,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC3B,OAAM;IACR,CAAC;IAED,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QACtB,OAAO,OAAO,CAAC,SAAS,CAAA;IAC1B,CAAC;IAED,IAAI,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;QACjC,OAAO,OAAO,CAAC,QAAQ,CAAA;IACzB,CAAC;IAED,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QACtB,OAAO,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAA;IACrD,CAAC;IAED,OAAM;AACR,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { BrowserEip1993Provider } from '@injectivelabs/wallet-base';
2
+ export declare function getBitGetProvider({ timeout }?: {
3
+ timeout: number;
4
+ }): Promise<BrowserEip1993Provider>;
5
+ //# sourceMappingURL=bitget.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bitget.d.ts","sourceRoot":"","sources":["../../../../src/strategy/utils/bitget.ts"],"names":[],"mappings":"AACA,OAAO,EACL,sBAAsB,EAEvB,MAAM,4BAA4B,CAAA;AAMnC,wBAAsB,iBAAiB,CAAC,EAAE,OAAO,EAAE;;CAAoB,mCAUtE"}
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.getBitGetProvider = void 0;
13
+ const sdk_ts_1 = require("@injectivelabs/sdk-ts");
14
+ const $window = ((0, sdk_ts_1.isServerSide)()
15
+ ? {}
16
+ : window);
17
+ function getBitGetProvider() {
18
+ return __awaiter(this, arguments, void 0, function* ({ timeout } = { timeout: 3000 }) {
19
+ const provider = getBitGetFromWindow();
20
+ if (provider) {
21
+ return provider;
22
+ }
23
+ return listenForBitGetInitialized({
24
+ timeout,
25
+ });
26
+ });
27
+ }
28
+ exports.getBitGetProvider = getBitGetProvider;
29
+ function listenForBitGetInitialized() {
30
+ return __awaiter(this, arguments, void 0, function* ({ timeout } = { timeout: 3000 }) {
31
+ return new Promise((resolve) => {
32
+ const handleInitialization = () => {
33
+ resolve(getBitGetFromWindow());
34
+ };
35
+ $window.addEventListener('bitkeep#initialized', handleInitialization, {
36
+ once: true,
37
+ });
38
+ setTimeout(() => {
39
+ $window.removeEventListener('bitkeep#initialized', handleInitialization);
40
+ resolve(null);
41
+ }, timeout);
42
+ });
43
+ });
44
+ }
45
+ function getBitGetFromWindow() {
46
+ const injectedProviderExist = typeof window !== 'undefined' &&
47
+ (typeof $window.ethereum !== 'undefined' ||
48
+ typeof $window.bitkeep !== 'undefined');
49
+ // No injected providers exist.
50
+ if (!injectedProviderExist) {
51
+ return;
52
+ }
53
+ if ($window.bitkeep && $window.bitkeep.ethereum) {
54
+ return $window.bitkeep.ethereum;
55
+ }
56
+ return;
57
+ }
58
+ //# sourceMappingURL=bitget.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bitget.js","sourceRoot":"","sources":["../../../../src/strategy/utils/bitget.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,kDAAoD;AAMpD,MAAM,OAAO,GAAG,CAAC,IAAA,qBAAY,GAAE;IAC7B,CAAC,CAAC,EAAE;IACJ,CAAC,CAAC,MAAM,CAAyC,CAAA;AAEnD,SAAsB,iBAAiB;yDAAC,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE;QACrE,MAAM,QAAQ,GAAG,mBAAmB,EAAE,CAAA;QAEtC,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,QAAQ,CAAA;QACjB,CAAC;QAED,OAAO,0BAA0B,CAAC;YAChC,OAAO;SACR,CAAoC,CAAA;IACvC,CAAC;CAAA;AAVD,8CAUC;AAED,SAAe,0BAA0B;yDAAC,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE;QACvE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,MAAM,oBAAoB,GAAG,GAAG,EAAE;gBAChC,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAA;YAChC,CAAC,CAAA;YAED,OAAO,CAAC,gBAAgB,CAAC,qBAAqB,EAAE,oBAAoB,EAAE;gBACpE,IAAI,EAAE,IAAI;aACX,CAAC,CAAA;YAEF,UAAU,CAAC,GAAG,EAAE;gBACd,OAAO,CAAC,mBAAmB,CAAC,qBAAqB,EAAE,oBAAoB,CAAC,CAAA;gBACxE,OAAO,CAAC,IAAI,CAAC,CAAA;YACf,CAAC,EAAE,OAAO,CAAC,CAAA;QACb,CAAC,CAAC,CAAA;IACJ,CAAC;CAAA;AAED,SAAS,mBAAmB;IAC1B,MAAM,qBAAqB,GACzB,OAAO,MAAM,KAAK,WAAW;QAC7B,CAAC,OAAO,OAAO,CAAC,QAAQ,KAAK,WAAW;YACtC,OAAO,OAAO,CAAC,OAAO,KAAK,WAAW,CAAC,CAAA;IAE3C,+BAA+B;IAC/B,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC3B,OAAM;IACR,CAAC;IAED,IAAI,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QAChD,OAAO,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAA;IACjC,CAAC;IAED,OAAM;AACR,CAAC"}
@@ -0,0 +1,6 @@
1
+ export { getOkxWalletProvider } from './Okx';
2
+ export { getBitGetProvider } from './bitget';
3
+ export { getPhantomProvider } from './phantom';
4
+ export { getMetamaskProvider } from './metamask';
5
+ export { getTrustWalletProvider } from './trustWallet';
6
+ //# sourceMappingURL=index.d.ts.map