@openocean.finance/wallet 1.4.5 → 1.4.7

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.
package/lib/Chains.js CHANGED
@@ -50,6 +50,11 @@ var chainObj = {
50
50
  chainName: "Solana Mainnet", blockExplorerUrl: "https://solscan.io/tx/", popularToken: ["SOL", "SNY", "USDT", "USDC", "RAY", "STEP"],
51
51
  rpcUrls: null
52
52
  },
53
+ "starknet": {
54
+ compiler: 'Starknet',
55
+ chainName: "Starknet Testnet", blockExplorerUrl: "https://starkscan.co/tx/", popularToken: ["ETH", "WBTC", "USDC", "USDT", "DAI"],
56
+ rpcUrls: null
57
+ },
53
58
  "flow": {
54
59
  compiler: 'FLOW',
55
60
  chainName: "Flow Mainnet", blockExplorerUrl: "https://flowscan.org/transaction/", popularToken: ["SOL", "SNY", "USDT", "USDC", "RAY", "STEP"],
@@ -72,7 +72,7 @@ function isChainIdEq(wallet, chainId, utilsEht, k) {
72
72
  }
73
73
  function link(reqConnectWalletVo, chain) {
74
74
  return __awaiter(this, void 0, void 0, function () {
75
- var wallet, chainId, selectedName, qrData, instance_1, account, res, res, res, res, res, res, res, _a, e_1, message, _b, currentProvider, utilsEht;
75
+ var wallet, chainId, selectedName, qrData, instance_1, account, res, res, res, res, res, res, res, res, _a, e_1, message, _b, currentProvider, utilsEht;
76
76
  return __generator(this, function (_c) {
77
77
  switch (_c.label) {
78
78
  case 0:
@@ -83,13 +83,13 @@ function link(reqConnectWalletVo, chain) {
83
83
  selectedName = chain.key;
84
84
  _c.label = 1;
85
85
  case 1:
86
- _c.trys.push([1, 26, , 30]);
86
+ _c.trys.push([1, 28, , 32]);
87
87
  if (!(wallet.type === 'WalletConnect')) return [3 /*break*/, 3];
88
88
  wallet.infuraId = '2c7c4d86c2c746c89de722551b606119';
89
89
  return [4 /*yield*/, wallet.requestConnect(chainId)];
90
90
  case 2:
91
91
  _c.sent();
92
- return [3 /*break*/, 25];
92
+ return [3 /*break*/, 27];
93
93
  case 3:
94
94
  if (!(wallet.key === 'OntoMobile')) return [3 /*break*/, 6];
95
95
  return [4 /*yield*/, axios.get('https://ethapi.openocean.finance/v1/ont/login')];
@@ -110,14 +110,14 @@ function link(reqConnectWalletVo, chain) {
110
110
  case 5:
111
111
  account = _c.sent();
112
112
  wallet.address = account;
113
- return [3 /*break*/, 25];
113
+ return [3 /*break*/, 27];
114
114
  case 6:
115
115
  if (!(wallet.key === 'KeplrWallet')) return [3 /*break*/, 8];
116
116
  return [4 /*yield*/, wallet.requestCosmosConnect(chainId)];
117
117
  case 7:
118
118
  res = _c.sent();
119
119
  console.log('wallet.requestConnect', res, wallet);
120
- return [3 /*break*/, 25];
120
+ return [3 /*break*/, 27];
121
121
  case 8:
122
122
  if (!(selectedName === 'terra')) return [3 /*break*/, 11];
123
123
  if (!!wallet.sdk) return [3 /*break*/, 10];
@@ -135,7 +135,7 @@ function link(reqConnectWalletVo, chain) {
135
135
  // showToast($t(message));
136
136
  }
137
137
  _c.label = 10;
138
- case 10: return [3 /*break*/, 25];
138
+ case 10: return [3 /*break*/, 27];
139
139
  case 11:
140
140
  if (!(selectedName === "solana")) return [3 /*break*/, 13];
141
141
  return [4 /*yield*/, wallet.requestSolanaConnect()];
@@ -166,14 +166,14 @@ function link(reqConnectWalletVo, chain) {
166
166
  // message: message
167
167
  // }
168
168
  }
169
- return [3 /*break*/, 25];
169
+ return [3 /*break*/, 27];
170
170
  case 13:
171
171
  if (!(selectedName === 'tron')) return [3 /*break*/, 15];
172
172
  return [4 /*yield*/, wallet.requestTronConnect()];
173
173
  case 14:
174
174
  res = _c.sent();
175
175
  console.log('wallet.requestConnect', res, wallet);
176
- return [3 /*break*/, 25];
176
+ return [3 /*break*/, 27];
177
177
  case 15:
178
178
  if (!(selectedName === 'aptos')) return [3 /*break*/, 17];
179
179
  return [4 /*yield*/, wallet.requestAptosConnect()];
@@ -181,48 +181,56 @@ function link(reqConnectWalletVo, chain) {
181
181
  res = _c.sent();
182
182
  // wallet.customPublicKey = new PublicKey(res);
183
183
  console.log('wallet.requestConnect', res, wallet);
184
- return [3 /*break*/, 25];
184
+ return [3 /*break*/, 27];
185
185
  case 17:
186
- if (!(selectedName === 'near')) return [3 /*break*/, 19];
187
- return [4 /*yield*/, wallet.requestConnect()];
186
+ if (!(selectedName === 'starknet')) return [3 /*break*/, 19];
187
+ return [4 /*yield*/, wallet.requestStarknetConnect()];
188
188
  case 18:
189
189
  res = _c.sent();
190
+ // wallet.customPublicKey = new PublicKey(res);
190
191
  console.log('wallet.requestConnect', res, wallet);
191
- return [3 /*break*/, 25];
192
+ return [3 /*break*/, 27];
192
193
  case 19:
193
- if (!chainId) return [3 /*break*/, 21];
194
- return [4 /*yield*/, wallet.requestConnect(chainId)];
194
+ if (!(selectedName === 'near')) return [3 /*break*/, 21];
195
+ return [4 /*yield*/, wallet.requestConnect()];
195
196
  case 20:
196
- _a = _c.sent();
197
- return [3 /*break*/, 23];
198
- case 21: return [4 /*yield*/, wallet.requestConnect()];
197
+ res = _c.sent();
198
+ console.log('wallet.requestConnect', res, wallet);
199
+ return [3 /*break*/, 27];
200
+ case 21:
201
+ if (!chainId) return [3 /*break*/, 23];
202
+ return [4 /*yield*/, wallet.requestConnect(chainId)];
199
203
  case 22:
200
204
  _a = _c.sent();
201
- _c.label = 23;
202
- case 23:
205
+ return [3 /*break*/, 25];
206
+ case 23: return [4 /*yield*/, wallet.requestConnect()];
207
+ case 24:
208
+ _a = _c.sent();
209
+ _c.label = 25;
210
+ case 25:
203
211
  res = _a;
204
212
  console.log('wallet.requestConnect', res, wallet);
205
213
  return [4 /*yield*/, (0, util_1.sleep)(200)];
206
- case 24:
214
+ case 26:
207
215
  _c.sent();
208
216
  if (res) {
209
217
  // connect(wallet);
210
218
  }
211
- _c.label = 25;
212
- case 25: return [2 /*return*/, wallet];
213
- case 26:
219
+ _c.label = 27;
220
+ case 27: return [2 /*return*/, wallet];
221
+ case 28:
214
222
  e_1 = _c.sent();
215
223
  message = e_1.message;
216
224
  _b = wallet.sdk || {}, currentProvider = _b.currentProvider, utilsEht = _b.utils;
217
225
  if (reqConnectWalletVo.noSwitch) {
218
226
  throw new Error('No Switch');
219
227
  }
220
- if (!(message === "40006" && currentProvider)) return [3 /*break*/, 28];
228
+ if (!(message === "40006" && currentProvider)) return [3 /*break*/, 30];
221
229
  return [4 /*yield*/, linkAddOrSwitch(wallet, chain)];
222
- case 27: return [2 /*return*/, _c.sent()];
223
- case 28: throw new Error(message);
224
- case 29: return [3 /*break*/, 30];
225
- case 30: return [2 /*return*/];
230
+ case 29: return [2 /*return*/, _c.sent()];
231
+ case 30: throw new Error(message);
232
+ case 31: return [3 /*break*/, 32];
233
+ case 32: return [2 /*return*/];
226
234
  }
227
235
  });
228
236
  });
@@ -0,0 +1,15 @@
1
+ import { EnumChains, EnumWalletName, EnumWalletType } from "../types";
2
+ import BaseWallet from "./BaseWallet";
3
+ declare class ArgentX extends BaseWallet {
4
+ name: EnumWalletName;
5
+ icon: any;
6
+ supportChains: EnumChains[];
7
+ type: EnumWalletType;
8
+ sdk: any;
9
+ installUrl: string;
10
+ /**
11
+ * connect Coinbase and get wallet address
12
+ */
13
+ requestStarknetConnect(): Promise<string>;
14
+ }
15
+ export default ArgentX;
@@ -0,0 +1,103 @@
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
17
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
18
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
19
+ return new (P || (P = Promise))(function (resolve, reject) {
20
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
21
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
22
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
23
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
24
+ });
25
+ };
26
+ var __generator = (this && this.__generator) || function (thisArg, body) {
27
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
28
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
29
+ function verb(n) { return function (v) { return step([n, v]); }; }
30
+ function step(op) {
31
+ if (f) throw new TypeError("Generator is already executing.");
32
+ while (_) try {
33
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
34
+ if (y = 0, t) op = [op[0] & 2, t.value];
35
+ switch (op[0]) {
36
+ case 0: case 1: t = op; break;
37
+ case 4: _.label++; return { value: op[1], done: false };
38
+ case 5: _.label++; y = op[1]; op = [0]; continue;
39
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
40
+ default:
41
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
42
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
43
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
44
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
45
+ if (t[2]) _.ops.pop();
46
+ _.trys.pop(); continue;
47
+ }
48
+ op = body.call(thisArg, _);
49
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
50
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
51
+ }
52
+ };
53
+ var __importDefault = (this && this.__importDefault) || function (mod) {
54
+ return (mod && mod.__esModule) ? mod : { "default": mod };
55
+ };
56
+ Object.defineProperty(exports, "__esModule", { value: true });
57
+ /**
58
+ * @name Coinbase
59
+ * @author openocean
60
+ * @date 2021/4/21
61
+ * @desc
62
+ */
63
+ // @ts-ignore
64
+ var argentx_svg_1 = __importDefault(require("../assets/argentx.svg"));
65
+ var types_1 = require("../types");
66
+ var BaseWallet_1 = __importDefault(require("./BaseWallet"));
67
+ var get_starknet_1 = require("@argent/get-starknet");
68
+ var ArgentX = /** @class */ (function (_super) {
69
+ __extends(ArgentX, _super);
70
+ function ArgentX() {
71
+ var _this = _super !== null && _super.apply(this, arguments) || this;
72
+ _this.name = types_1.EnumWalletName.ArgentX;
73
+ _this.icon = argentx_svg_1.default;
74
+ _this.supportChains = [types_1.EnumChains.Starknet];
75
+ _this.type = types_1.EnumWalletType.Extension;
76
+ _this.installUrl = "https://crypto.com/defi-wallet";
77
+ return _this;
78
+ }
79
+ /**
80
+ * connect Coinbase and get wallet address
81
+ */
82
+ ArgentX.prototype.requestStarknetConnect = function () {
83
+ return __awaiter(this, void 0, void 0, function () {
84
+ var connection, address;
85
+ return __generator(this, function (_a) {
86
+ switch (_a.label) {
87
+ case 0: return [4 /*yield*/, (0, get_starknet_1.connect)()];
88
+ case 1:
89
+ connection = _a.sent();
90
+ if (!connection || !connection.isConnected) {
91
+ throw new Error(types_1.EnumErrors.NoArgentX);
92
+ }
93
+ this.sdk = connection;
94
+ address = (connection === null || connection === void 0 ? void 0 : connection.selectedAddress) || "";
95
+ this.address = address;
96
+ return [2 /*return*/, address];
97
+ }
98
+ });
99
+ });
100
+ };
101
+ return ArgentX;
102
+ }(BaseWallet_1.default));
103
+ exports.default = ArgentX;
@@ -23,5 +23,6 @@ declare abstract class BaseWallet {
23
23
  requestSolanaConnect?(): Promise<string>;
24
24
  requestTerraConnect?(): Promise<string>;
25
25
  requestAptosConnect?(): Promise<string>;
26
+ requestStarknetConnect?(): Promise<string>;
26
27
  }
27
28
  export default BaseWallet;
@@ -43,15 +43,17 @@ var SenderWallet_1 = __importDefault(require("./SenderWallet"));
43
43
  // import LedgerWallet from "./LedgerWallet";
44
44
  var LedgerEmbedWallet_1 = __importDefault(require("./LedgerEmbedWallet"));
45
45
  var RabbyWallet_1 = __importDefault(require("./RabbyWallet"));
46
+ var ArgentX_1 = __importDefault(require("./ArgentX"));
46
47
  var WalletObj = {
47
48
  MetaMask: new MetaMask_1.default(),
48
49
  BscWallet: new BscWallet_1.default(),
49
50
  WalletConnect: new WalletConnect_1.default(),
51
+ RabbyWallet: new RabbyWallet_1.default(),
50
52
  SafePalWallet: new SafePalWallet_1.default(),
51
53
  BraveWallet: new BraveWallet_1.default(),
52
54
  BitKeepWallet: new BitKeepWallet_1.default(),
53
55
  TrustWallet: new TrustWallet_1.default(),
54
- RabbyWallet: new RabbyWallet_1.default(),
56
+ ArgentX: new ArgentX_1.default(),
55
57
  UnstoppableDomains: new UnstoppableDomains_1.default(),
56
58
  // LedgerWallet: new LedgerWallet(),
57
59
  LedgerEmbedWallet: new LedgerEmbedWallet_1.default(),
@@ -0,0 +1,8 @@
1
+ <svg width="96.000000" height="96.000000" viewBox="0 0 96 96" fill="none" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
2
+ <desc>
3
+ Created with Pixso.
4
+ </desc>
5
+ <circle id="svg_1" cx="48.000000" cy="48.000000" r="48.000000" fill="#FFFFFF"/>
6
+ <path id="path" d="M55.2053 22L40.7946 22C40.3129 22 39.9272 22.3998 39.9166 22.8968C39.6255 36.8665 32.5451 50.1254 20.3582 59.5167C19.9713 59.8148 19.8831 60.3749 20.166 60.7783L28.5975 72.8125C28.8844 73.2221 29.4433 73.3145 29.8367 73.0136C37.4568 67.1798 43.586 60.1423 47.9999 52.3419C52.4139 60.1423 58.5434 67.1798 66.1636 73.0136C66.5566 73.3145 67.1156 73.2221 67.4028 72.8125L75.8344 60.7783C76.1168 60.3749 76.0286 59.8148 75.6421 59.5167C63.4549 50.1254 56.3745 36.8665 56.0837 22.8968C56.0732 22.3998 55.687 22 55.2053 22Z" fill-rule="nonzero" fill="#FF875B"/>
7
+ <defs/>
8
+ </svg>
package/lib/types.d.ts CHANGED
@@ -43,7 +43,8 @@ export declare enum EnumChains {
43
43
  Klaytn = "klaytn",
44
44
  ZKSYNC = "zksync",
45
45
  PolygonzkEVM = "polygon_zkevm",
46
- Linea = "linea"
46
+ Linea = "linea",
47
+ Starknet = "starknet"
47
48
  }
48
49
  export declare enum EnumWalletType {
49
50
  Extension = "Extension",
@@ -92,7 +93,8 @@ export declare enum EnumWalletName {
92
93
  SenderWallet = "Sender Wallet",
93
94
  LedgerWallet = "Ledger Wallet",
94
95
  LedgerEmbedWallet = "LedgerEmbed Wallet",
95
- RabbyWallet = "Rabby Wallet"
96
+ RabbyWallet = "Rabby Wallet",
97
+ ArgentX = "Argent X"
96
98
  }
97
99
  export declare enum EnumErrors {
98
100
  NotMetamask = "40001",
@@ -133,7 +135,8 @@ export declare enum EnumErrors {
133
135
  NoMeteorWallet = "40038",
134
136
  NoSender = "40039",
135
137
  NoLedger = "40040",
136
- NoRabbyWallet = "40041"
138
+ NoRabbyWallet = "40041",
139
+ NoArgentX = "40042"
137
140
  }
138
141
  export interface ConnectResult {
139
142
  chain: EnumChains;
package/lib/types.js CHANGED
@@ -44,6 +44,7 @@ var EnumChains;
44
44
  EnumChains["ZKSYNC"] = "zksync";
45
45
  EnumChains["PolygonzkEVM"] = "polygon_zkevm";
46
46
  EnumChains["Linea"] = "linea";
47
+ EnumChains["Starknet"] = "starknet";
47
48
  })(EnumChains = exports.EnumChains || (exports.EnumChains = {}));
48
49
  var EnumWalletType;
49
50
  (function (EnumWalletType) {
@@ -95,6 +96,7 @@ var EnumWalletName;
95
96
  EnumWalletName["LedgerWallet"] = "Ledger Wallet";
96
97
  EnumWalletName["LedgerEmbedWallet"] = "LedgerEmbed Wallet";
97
98
  EnumWalletName["RabbyWallet"] = "Rabby Wallet";
99
+ EnumWalletName["ArgentX"] = "Argent X";
98
100
  })(EnumWalletName = exports.EnumWalletName || (exports.EnumWalletName = {}));
99
101
  var EnumErrors;
100
102
  (function (EnumErrors) {
@@ -137,4 +139,5 @@ var EnumErrors;
137
139
  EnumErrors["NoSender"] = "40039";
138
140
  EnumErrors["NoLedger"] = "40040";
139
141
  EnumErrors["NoRabbyWallet"] = "40041";
142
+ EnumErrors["NoArgentX"] = "40042";
140
143
  })(EnumErrors = exports.EnumErrors || (exports.EnumErrors = {}));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openocean.finance/wallet",
3
- "version": "1.4.5",
3
+ "version": "1.4.7",
4
4
  "description": "A multi-chain wallets manager",
5
5
  "main": "lib/index.js",
6
6
  "scripts": {
@@ -41,6 +41,7 @@
41
41
  "webpack-cli": "^4.9.1"
42
42
  },
43
43
  "dependencies": {
44
+ "@argent/get-starknet": "^6.3.1",
44
45
  "@cosmjs/launchpad": "^0.27.1",
45
46
  "@cosmjs/stargate": "^0.28.4",
46
47
  "@gnosis.pm/safe-apps-provider": "^0.11.3",
@@ -65,6 +66,7 @@
65
66
  "near-api-js": "^0.44.2",
66
67
  "osmojs": "^13.0.0-rc.7-i-alpha",
67
68
  "path-browserify": "^1.0.1",
69
+ "starknet": "^4.22.0",
68
70
  "web3": "^1.7.4",
69
71
  "web3-ledgerhq-frame-connector": "^1.0.1",
70
72
  "web3-provider-engine": "^16.0.5"