@openocean.finance/wallet 0.3.8 → 0.4.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 (70) hide show
  1. package/lib/.DS_Store +0 -0
  2. package/lib/Chains/BaseChain.js +8 -0
  3. package/lib/Chains/EthChain.js +41 -0
  4. package/lib/Chains/index.js +1 -0
  5. package/lib/WalletManager.js +117 -0
  6. package/lib/Wallets/BaseWallet.js +8 -0
  7. package/lib/Wallets/BraveWallet.js +129 -0
  8. package/lib/Wallets/BscWallet.js +112 -0
  9. package/lib/Wallets/CloverWallet.js +136 -0
  10. package/lib/Wallets/Coin98.js +139 -0
  11. package/lib/Wallets/CoinbaseWallet.js +111 -0
  12. package/lib/Wallets/CryptoCom.d.ts +16 -0
  13. package/lib/Wallets/CryptoCom.js +111 -0
  14. package/lib/Wallets/Cyano.js +108 -0
  15. package/lib/Wallets/ImTokenWallet.js +111 -0
  16. package/lib/Wallets/KeplrWallet.js +121 -0
  17. package/lib/Wallets/MathWallet.js +111 -0
  18. package/lib/Wallets/MetaMask.js +130 -0
  19. package/lib/Wallets/MetaXWallet.js +112 -0
  20. package/lib/Wallets/OKExWallet.js +112 -0
  21. package/lib/Wallets/OntoMobile.js +111 -0
  22. package/lib/Wallets/OntoWallet.js +112 -0
  23. package/lib/Wallets/Phantom.js +65 -0
  24. package/lib/Wallets/SafePalWallet.js +126 -0
  25. package/lib/Wallets/SlopeWallet.js +110 -0
  26. package/lib/Wallets/SolflareWallet.js +106 -0
  27. package/lib/Wallets/Sollet.js +67 -0
  28. package/lib/Wallets/SolletIo.js +64 -0
  29. package/lib/Wallets/TerraStation.js +64 -0
  30. package/lib/Wallets/TokenPocket.js +111 -0
  31. package/lib/Wallets/TronLink.js +101 -0
  32. package/lib/Wallets/TrustWallet.js +163 -0
  33. package/lib/Wallets/WalletConnect.js +163 -0
  34. package/lib/Wallets/{XDEFIWallet.d.ts → XDeFiWallet.d.ts} +0 -0
  35. package/lib/Wallets/XDeFiWallet.js +138 -0
  36. package/lib/assets/.DS_Store +0 -0
  37. package/lib/assets/approveErc20Abi.json +23 -0
  38. package/lib/assets/brave.svg +24 -0
  39. package/lib/assets/bscwallet.svg +23 -0
  40. package/lib/assets/clover.svg +11 -0
  41. package/lib/assets/coin98.svg +18 -0
  42. package/lib/assets/coinbase.svg +17 -0
  43. package/lib/assets/cryptoCom.svg +14 -0
  44. package/lib/assets/cyano.svg +7 -0
  45. package/lib/assets/erc20Abi.json +222 -0
  46. package/lib/assets/imtoken.svg +12 -0
  47. package/lib/assets/keplr.png +0 -0
  48. package/lib/assets/math.svg +1 -0
  49. package/lib/assets/metamask.svg +1 -0
  50. package/lib/assets/metax.svg +10 -0
  51. package/lib/assets/okex.svg +21 -0
  52. package/lib/assets/onto.svg +1 -0
  53. package/lib/assets/phantom.svg +22 -0
  54. package/lib/assets/safepal.svg +1 -0
  55. package/lib/assets/slope.svg +25 -0
  56. package/lib/assets/solflare.svg +23 -0
  57. package/lib/assets/sollet.svg +7 -0
  58. package/lib/assets/terra.svg +17 -0
  59. package/lib/assets/tokenpocket.svg +1 -0
  60. package/lib/assets/tronlink.svg +25 -0
  61. package/lib/assets/trust.svg +10 -0
  62. package/lib/assets/walletconnect.svg +1 -0
  63. package/lib/assets/xdefi.svg +15 -0
  64. package/lib/index.d.ts +3 -2
  65. package/lib/index.js +72 -2
  66. package/lib/types.d.ts +4 -2
  67. package/lib/types.js +101 -0
  68. package/package.json +28 -10
  69. package/README.md +0 -6
  70. package/lib/index.js.LICENSE.txt +0 -216
@@ -0,0 +1,163 @@
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 __assign = (this && this.__assign) || function () {
18
+ __assign = Object.assign || function(t) {
19
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
20
+ s = arguments[i];
21
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
22
+ t[p] = s[p];
23
+ }
24
+ return t;
25
+ };
26
+ return __assign.apply(this, arguments);
27
+ };
28
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
29
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
30
+ return new (P || (P = Promise))(function (resolve, reject) {
31
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
32
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
33
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
34
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
35
+ });
36
+ };
37
+ var __generator = (this && this.__generator) || function (thisArg, body) {
38
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
39
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
40
+ function verb(n) { return function (v) { return step([n, v]); }; }
41
+ function step(op) {
42
+ if (f) throw new TypeError("Generator is already executing.");
43
+ while (_) try {
44
+ 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;
45
+ if (y = 0, t) op = [op[0] & 2, t.value];
46
+ switch (op[0]) {
47
+ case 0: case 1: t = op; break;
48
+ case 4: _.label++; return { value: op[1], done: false };
49
+ case 5: _.label++; y = op[1]; op = [0]; continue;
50
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
51
+ default:
52
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
53
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
54
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
55
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
56
+ if (t[2]) _.ops.pop();
57
+ _.trys.pop(); continue;
58
+ }
59
+ op = body.call(thisArg, _);
60
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
61
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
62
+ }
63
+ };
64
+ var __importDefault = (this && this.__importDefault) || function (mod) {
65
+ return (mod && mod.__esModule) ? mod : { "default": mod };
66
+ };
67
+ Object.defineProperty(exports, "__esModule", { value: true });
68
+ /**
69
+ * @name WalletConnect
70
+ * @author openocean
71
+ * @date 2021/4/21
72
+ * @desc
73
+ */
74
+ // @ts-ignore
75
+ var walletconnect_svg_1 = __importDefault(require("../assets/walletconnect.svg"));
76
+ var types_1 = require("../types");
77
+ var BaseWallet_1 = __importDefault(require("./BaseWallet"));
78
+ var web3_1 = __importDefault(require("web3"));
79
+ var web3_provider_1 = __importDefault(require("@walletconnect/web3-provider"));
80
+ var WalletConnect = /** @class */ (function (_super) {
81
+ __extends(WalletConnect, _super);
82
+ function WalletConnect() {
83
+ var _this = _super !== null && _super.apply(this, arguments) || this;
84
+ _this.name = types_1.EnumWalletName.WalletConnect;
85
+ _this.icon = walletconnect_svg_1.default;
86
+ _this.supportChains = [
87
+ types_1.EnumChains.ETH,
88
+ types_1.EnumChains.BSC,
89
+ types_1.EnumChains.Polygon,
90
+ types_1.EnumChains.OKEX,
91
+ types_1.EnumChains.XDai,
92
+ types_1.EnumChains.HECO,
93
+ types_1.EnumChains.Fantom,
94
+ types_1.EnumChains.Avalanche,
95
+ types_1.EnumChains.Arbitrum,
96
+ types_1.EnumChains.Optimism,
97
+ types_1.EnumChains.Boba,
98
+ types_1.EnumChains.Moonriver,
99
+ types_1.EnumChains.Aurora,
100
+ types_1.EnumChains.Cronos,
101
+ types_1.EnumChains.Harmony
102
+ ];
103
+ _this.type = types_1.EnumWalletType.WalletConnect;
104
+ _this.sdk = null;
105
+ return _this;
106
+ }
107
+ /**
108
+ * connect metamask and get wallet address
109
+ * @param chainId specific chainId,throw error when not match
110
+ * @param config
111
+ */
112
+ WalletConnect.prototype.requestConnect = function (chainId, config) {
113
+ if (chainId === void 0) { chainId = 1; }
114
+ return __awaiter(this, void 0, void 0, function () {
115
+ var provider, currentChainId, address;
116
+ return __generator(this, function (_a) {
117
+ switch (_a.label) {
118
+ case 0:
119
+ if (!this.infuraId) {
120
+ throw new Error("infuraId not set");
121
+ }
122
+ provider = new web3_provider_1.default(__assign({ infuraId: this.infuraId, chainId: chainId, rpc: {
123
+ 69: "https://kovan.optimism.io",
124
+ 420: "https://goerli.optimism.io",
125
+ 10: "https://mainnet.optimism.io",
126
+ 25: "https://evm.cronos.org",
127
+ 56: "https://bsc-dataseed1.binance.org",
128
+ 66: "https://exchainrpc.okex.org",
129
+ 100: "https://rpc.xdaichain.com",
130
+ 128: "https://http-mainnet.hecochain.com",
131
+ 137: "https://rpc-mainnet.maticvigil.com",
132
+ 250: "https://rpcapi.fantom.network",
133
+ 288: "https://mainnet.boba.network",
134
+ 1285: "https://rpc.moonriver.moonbeam.network",
135
+ 42161: "https://arb1.arbitrum.io/rpc",
136
+ 421611: "https://rinkeby.arbitrum.io/rpc",
137
+ 43114: "https://api.avax.network/ext/bc/C/rpc",
138
+ 1313161554: "https://mainnet.aurora.dev",
139
+ 1666600000: "https://api.harmony.one",
140
+ } }, config));
141
+ return [4 /*yield*/, provider.enable()];
142
+ case 1:
143
+ _a.sent();
144
+ this.sdk = new web3_1.default(provider);
145
+ return [4 /*yield*/, this.sdk.eth.getChainId()];
146
+ case 2:
147
+ currentChainId = _a.sent();
148
+ if (chainId && currentChainId !== chainId) {
149
+ throw new Error(types_1.EnumErrors.ChainIdNotMath);
150
+ }
151
+ return [4 /*yield*/, this.sdk.eth.getAccounts()];
152
+ case 3:
153
+ address = (_a.sent())[0];
154
+ this.address = address;
155
+ this.chainId = currentChainId;
156
+ return [2 /*return*/, address];
157
+ }
158
+ });
159
+ });
160
+ };
161
+ return WalletConnect;
162
+ }(BaseWallet_1.default));
163
+ exports.default = WalletConnect;
@@ -0,0 +1,138 @@
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 XDeFi
59
+ * @author openocean
60
+ * @date 2021/4/21
61
+ * @desc
62
+ */
63
+ // @ts-ignore
64
+ var xdefi_svg_1 = __importDefault(require("../assets/xdefi.svg"));
65
+ var types_1 = require("../types");
66
+ var BaseWallet_1 = __importDefault(require("./BaseWallet"));
67
+ var web3_1 = __importDefault(require("web3"));
68
+ // @ts-ignore
69
+ var terra_js_1 = require("@terra-money/terra.js");
70
+ var XDEFIWallet = /** @class */ (function (_super) {
71
+ __extends(XDEFIWallet, _super);
72
+ function XDEFIWallet() {
73
+ var _this = _super !== null && _super.apply(this, arguments) || this;
74
+ _this.name = types_1.EnumWalletName.XDEFIWallet;
75
+ _this.icon = xdefi_svg_1.default;
76
+ _this.supportChains = [types_1.EnumChains.ETH, types_1.EnumChains.BSC, types_1.EnumChains.Polygon, types_1.EnumChains.Terra];
77
+ _this.type = types_1.EnumWalletType.Extension;
78
+ _this.sdk = null;
79
+ return _this;
80
+ }
81
+ /**
82
+ * connect XDeFi and get wallet address
83
+ * @param chainId specific chainId,throw error when not match
84
+ */
85
+ XDEFIWallet.prototype.requestConnect = function (chainId) {
86
+ return __awaiter(this, void 0, void 0, function () {
87
+ var address, currentChainId;
88
+ return __generator(this, function (_a) {
89
+ switch (_a.label) {
90
+ case 0:
91
+ if (!(window.xfi && window.xfi.ethereum)) {
92
+ throw new Error(types_1.EnumErrors.NoXDeFi);
93
+ }
94
+ this.sdk = new web3_1.default(window.xfi.ethereum);
95
+ return [4 /*yield*/, this.sdk.eth.requestAccounts()];
96
+ case 1:
97
+ address = (_a.sent())[0];
98
+ return [4 /*yield*/, this.sdk.eth.getChainId()];
99
+ case 2:
100
+ currentChainId = _a.sent();
101
+ if (chainId && currentChainId !== chainId) {
102
+ throw new Error(types_1.EnumErrors.ChainIdNotMath);
103
+ }
104
+ this.address = address;
105
+ this.chainId = currentChainId;
106
+ return [2 /*return*/, address];
107
+ }
108
+ });
109
+ });
110
+ };
111
+ /**
112
+ * connect XDeFi and get wallet address
113
+ * @param chainId specific chainId,throw error when not match
114
+ */
115
+ XDEFIWallet.prototype.requestTerraConnect = function () {
116
+ return __awaiter(this, void 0, void 0, function () {
117
+ var _this = this;
118
+ return __generator(this, function (_a) {
119
+ return [2 /*return*/, new Promise(function (res) {
120
+ if (!(window.xfi && window.xfi.terra)) {
121
+ throw new Error(types_1.EnumErrors.NoXDeFi);
122
+ }
123
+ var extension = new terra_js_1.Extension('xdefi-wallet');
124
+ _this.sdk = extension;
125
+ extension.on("onConnect", function (data) {
126
+ var address = (data || {}).address;
127
+ _this.address = address;
128
+ _this.chainId = ''; // todo sollet chainId
129
+ res(address);
130
+ });
131
+ extension.connect();
132
+ })];
133
+ });
134
+ });
135
+ };
136
+ return XDEFIWallet;
137
+ }(BaseWallet_1.default));
138
+ exports.default = XDEFIWallet;
Binary file
@@ -0,0 +1,23 @@
1
+ {
2
+ "constant": false,
3
+ "inputs": [
4
+ {
5
+ "name": "_spender",
6
+ "type": "address"
7
+ },
8
+ {
9
+ "name": "_value",
10
+ "type": "uint256"
11
+ }
12
+ ],
13
+ "name": "approve",
14
+ "outputs": [
15
+ {
16
+ "name": "",
17
+ "type": "bool"
18
+ }
19
+ ],
20
+ "payable": false,
21
+ "stateMutability": "nonpayable",
22
+ "type": "function"
23
+ }
@@ -0,0 +1,24 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <svg width="32px" height="32px" viewBox="0 0 32 32" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
3
+ <title>brave</title>
4
+ <defs>
5
+ <linearGradient x1="0.00183385292%" y1="100.706144%" x2="100%" y2="100.706144%" id="linearGradient-1">
6
+ <stop stop-color="#FF5500" offset="0%"></stop>
7
+ <stop stop-color="#FF5500" offset="41%"></stop>
8
+ <stop stop-color="#FF2000" offset="58.2%"></stop>
9
+ <stop stop-color="#FF2000" offset="100%"></stop>
10
+ </linearGradient>
11
+ <linearGradient x1="2.14763914%" y1="99.6350365%" x2="100%" y2="99.6350365%" id="linearGradient-2">
12
+ <stop stop-color="#FF452A" offset="0%"></stop>
13
+ <stop stop-color="#FF2000" offset="100%"></stop>
14
+ </linearGradient>
15
+ </defs>
16
+ <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
17
+ <g id="brave">
18
+ <circle id="Oval" fill="#FFFFFF" fill-rule="nonzero" cx="16" cy="16" r="16"></circle>
19
+ <path d="M25.3002017,10.6192921 L25.8503576,9.27104346 C25.8503576,9.27104346 25.1501926,8.52173116 24.3000183,7.67265725 C23.4502109,6.82358335 21.6501009,7.32312489 21.6501009,7.32312489 L19.6002201,5 L12.4001467,5 L10.3502659,7.32312489 C10.3502659,7.32312489 8.55015588,6.82358335 7.70034843,7.67265725 C6.85017422,8.52173116 6.15037594,9.27104346 6.15037594,9.27104346 L6.70053182,10.6192921 L6,12.6170915 C6,12.6170915 8.05905006,20.4058317 8.30038511,21.3572345 C8.77535302,23.2299652 9.10031175,23.9539703 10.4503943,24.9031726 C11.80011,25.8520081 14.2501375,27.4999083 14.6499175,27.7500458 C15.0500642,27.9994498 15.5503393,28.4249037 16.0003668,28.4249037 C16.4503943,28.4249037 16.9503026,27.9994498 17.3500825,27.7500458 C17.7502292,27.5002751 20.19989,25.8520081 21.5503393,24.9031726 C22.900055,23.9543371 23.2253805,23.2299652 23.7003484,21.3572345 C23.9413167,20.4058317 26,12.6170915 26,12.6170915 L25.3002017,10.6192921 Z" id="Path" fill="url(#linearGradient-1)"></path>
20
+ <path d="M18.5501559,9.22079589 C18.8501742,9.22079589 21.0753714,8.79644233 21.0753714,8.79644233 C21.0753714,8.79644233 23.7120851,11.980011 23.7120851,12.6607372 C23.7120851,13.2233633 23.4850541,13.4434256 23.2180451,13.7030992 C23.162296,13.7573813 23.1043462,13.8131304 23.0467632,13.8747478 L21.0698698,15.9715753 C21.0486476,15.9938681 21.0271285,16.0158763 21.0053182,16.037594 C20.8079956,16.2356501 20.5175133,16.5275995 20.7221713,17.0124702 L20.7643499,17.1111315 C20.9891803,17.636347 21.2668256,18.2847974 20.9136255,18.9413167 C20.5376857,19.6403814 19.8940033,20.1069136 19.4813864,20.029525 C19.0691363,19.9525032 18.1001284,19.4467266 17.7439941,19.2160279 C17.3878599,18.9849624 16.2585733,18.0548322 16.2585733,17.698698 C16.2585733,17.4019806 17.0706033,16.9083074 17.4652485,16.6680726 C17.5437374,16.6203924 17.6057216,16.5829818 17.6412984,16.558775 C17.6820099,16.5312672 17.7502292,16.4890886 17.8342197,16.4370072 C18.1940216,16.2132771 18.8443059,15.8098295 18.8608106,15.6312122 C18.8809829,15.4104163 18.8732808,15.3458647 18.5827985,14.8008436 C18.521181,14.6849441 18.4489272,14.5609756 18.3744728,14.4326059 C18.0979277,13.957638 17.7883734,13.4258206 17.8573262,13.044746 C17.9343481,12.6145241 18.6092059,12.3680543 19.1806345,12.158995 C19.251788,12.1333211 19.3218412,12.1076472 19.3885934,12.08234 L19.9838621,11.8589767 C20.5545571,11.6455162 21.1883367,11.4082157 21.2932331,11.3601687 C21.4377407,11.2937832 21.4003301,11.2299652 20.9620392,11.1885201 C20.8910916,11.181563 20.8201817,11.1742275 20.7493123,11.1665138 C20.2064918,11.1089309 19.2055749,11.0029342 18.7192371,11.1382725 C18.62351,11.1650468 18.516413,11.1940216 18.4038144,11.2244636 C17.8573262,11.3722721 17.1872364,11.5534568 17.1226848,11.6579864 C17.1116816,11.676325 17.1006785,11.6920961 17.0900422,11.7067669 C17.0284247,11.7940583 16.9884467,11.8512745 17.0566661,12.2224464 C17.0768384,12.3332111 17.1186503,12.550706 17.1703649,12.8199156 C17.3207409,13.6077389 17.5565744,14.8364203 17.5862828,15.1122318 C17.5903173,15.1511095 17.5950853,15.1881533 17.5994865,15.2240968 C17.6372639,15.5321841 17.6622043,15.7372089 17.3042362,15.8189987 L17.2107097,15.8402714 C16.8065285,15.9326976 16.214194,16.0687695 16.0003668,16.0687695 C15.7861727,16.0687695 15.1934715,15.9330644 14.7892903,15.8402714 L14.6961306,15.8189987 C14.3381625,15.7372089 14.3634696,15.5321841 14.401247,15.2240968 C14.4056483,15.1881533 14.4100495,15.1507427 14.414084,15.1122318 C14.4437924,14.8360535 14.6799927,13.6040712 14.8311021,12.8166147 C14.88245,12.5488722 14.9238951,12.3324775 14.9440675,12.2224464 C15.01192,11.8512745 14.9719421,11.7940583 14.9103246,11.7067669 C14.8989739,11.6907447 14.8879682,11.6744808 14.8773152,11.6579864 C14.8134972,11.5534568 14.1437741,11.3722721 13.5969191,11.2244636 C13.4843206,11.1940216 13.3768568,11.1650468 13.2814964,11.1382725 C12.7947919,11.0025674 11.7942417,11.1089309 11.2514212,11.1665138 C11.1685311,11.1753163 11.096644,11.1830185 11.0386943,11.1885201 C10.6000367,11.2299652 10.5629928,11.2937832 10.7075005,11.3601687 C10.8120301,11.4082157 11.4458096,11.6455162 12.0161379,11.8589767 C12.2350999,11.9407666 12.4452595,12.0192555 12.6117733,12.08234 C12.6788924,12.1076472 12.7485788,12.1329543 12.820099,12.1593618 C13.3915276,12.3684211 14.0663855,12.6145241 14.1434073,13.044746 C14.2119934,13.4258206 13.902439,13.957638 13.6262608,14.4326059 C13.5514396,14.5609756 13.4795525,14.6849441 13.4175683,14.8008436 C13.1274528,15.3458647 13.1197506,15.4104163 13.139923,15.6312122 C13.1560609,15.8101962 13.8059784,16.2132771 14.1661471,16.4370072 C14.2501375,16.4890886 14.3183569,16.5312672 14.3590684,16.558775 C14.3950119,16.5829818 14.4566294,16.6203924 14.5351183,16.6680726 C14.9297634,16.9079406 15.7417935,17.4016138 15.7417935,17.698698 C15.7417935,18.0544654 14.6128736,18.9849624 14.2563726,19.2160279 C13.9006052,19.4470933 12.9315973,19.9525032 12.5189804,20.029525 C12.1067302,20.1065469 11.4626811,19.6403814 11.087108,18.9416835 C10.7339079,18.2847974 11.0111865,17.636347 11.2360169,17.1114983 L11.2781955,17.0124702 C11.4832202,16.5275995 11.1927379,16.2356501 10.9950486,16.037594 C10.97336,16.0158751 10.9519631,15.9938669 10.9308637,15.9715753 L8.95397029,13.8747478 C8.89602054,13.8134972 8.83807079,13.7573813 8.78232166,13.7030992 C8.51531267,13.4437924 8.28864845,13.2233633 8.28864845,12.6607372 C8.28864845,11.9803778 10.9253622,8.79644233 10.9253622,8.79644233 C10.9253622,8.79644233 13.1501926,9.22079589 13.4502109,9.22079589 C13.6897121,9.22079589 14.151843,9.06198423 14.6337796,8.89620392 C14.7559142,8.85439208 14.8791491,8.81184669 15.0005502,8.77150193 C15.6002201,8.57161196 16.0003668,8.57014487 16.0003668,8.57014487 C16.0003668,8.57014487 16.4001467,8.57161196 17.0001834,8.77150193 C17.1212177,8.81184669 17.2448194,8.85439208 17.366954,8.89620392 C17.8485237,9.06198423 18.3110215,9.22079589 18.5501559,9.22079589 L18.5501559,9.22079589 Z M18.1683477,20.4828535 C18.6385476,20.7249221 18.9723088,20.8965707 19.0984779,20.9754264 C19.2616908,21.0773886 19.162296,21.2699432 19.0133871,21.3752063 C18.864845,21.4797359 16.8666789,23.0253072 16.673024,23.1962223 L16.5941683,23.2662754 C16.4074821,23.4346231 16.1690812,23.6491839 16,23.6491839 C15.8312855,23.6491839 15.5928847,23.4342564 15.4058317,23.2662754 L15.3277095,23.1962223 C15.1333211,23.0253072 13.1355217,21.4797359 12.9869796,21.3748395 C12.8384376,21.2699432 12.738676,21.0777554 12.9018889,20.9750596 C13.0280579,20.8965707 13.362186,20.7245553 13.8331194,20.4821199 L14.2805795,20.2514212 C14.984779,19.8875848 15.8631946,19.5776637 16.0003668,19.5776637 C16.1371722,19.5776637 17.015221,19.887218 17.720154,20.2514212 C17.880066,20.3343114 18.0300752,20.4117 18.1683477,20.4824867 L18.1683477,20.4828535 Z" id="Shape" fill="#FFFFFF"></path>
21
+ <path d="M21.6501009,7.32312489 L19.6002201,5 L12.4001467,5 L10.3502659,7.32312489 C10.3502659,7.32312489 8.55015588,6.82358335 7.70034843,7.67265725 C7.70034843,7.67265725 10.1004951,7.45626261 10.9253622,8.79644233 C10.9253622,8.79644233 13.1501926,9.22079589 13.4502109,9.22079589 C13.7502292,9.22079589 14.4001467,8.97139189 15.0001834,8.77150193 C15.6002201,8.57161196 16.0003668,8.57014487 16.0003668,8.57014487 C16.0003668,8.57014487 16.4001467,8.57161196 17.0001834,8.77150193 C17.6002201,8.97139189 18.2501375,9.22079589 18.5501559,9.22079589 C18.8501742,9.22079589 21.0753714,8.79644233 21.0753714,8.79644233 C21.9002384,7.45626261 24.3000183,7.67265725 24.3000183,7.67265725 C23.4502109,6.82358335 21.6501009,7.32312489 21.6501009,7.32312489 L21.6501009,7.32312489 Z" id="Path" fill="url(#linearGradient-2)"></path>
22
+ </g>
23
+ </g>
24
+ </svg>
@@ -0,0 +1,23 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <svg width="32px" height="32px" viewBox="0 0 32 32" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
3
+ <!-- Generator: Sketch 63 (92445) - https://sketch.com -->
4
+ <title>bscwallet</title>
5
+ <desc>Created with Sketch.</desc>
6
+ <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
7
+ <g id="bscwallet" fill-rule="nonzero">
8
+ <path d="M32,16 C32,7.16343333 24.8365667,0 16,0 C7.16343333,0 0,7.16343333 0,16 C0,24.8365667 7.16343333,32 16,32 C24.8365667,32 32,24.8365667 32,16 Z" id="Path" fill="#1E2026"></path>
9
+ <g id="Group" transform="translate(7.000000, 6.000000)" fill="#F0B90B">
10
+ <polygon id="Path" points="8.81631429 4.56777473e-15 3.40315714 3.15094286 5.39331429 4.31498571 8.81631429 2.32808571 12.2393143 4.31498571 14.2295143 3.15094286"></polygon>
11
+ <polygon id="Path" points="12.2393143 5.96065714 14.2295143 7.12474286 14.2295143 9.45282857 10.8064286 11.4396857 10.8064286 15.4134857 8.81631429 16.5775714 6.8262 15.4134857 6.8262 11.4396857 3.40315714 9.45282857 3.40315714 7.12474286 5.39331429 5.96065714 8.81631429 7.9476"></polygon>
12
+ <polygon id="Path" points="14.2295143 11.0985429 14.2295143 13.4266286 12.2393143 14.5906286 12.2393143 12.2625429"></polygon>
13
+ <polygon id="Path" points="12.2195143 16.2363429 15.6425143 14.2494857 15.6425143 10.2756857 17.6326286 9.1116 17.6326286 15.4134857 12.2195143 18.5644286"></polygon>
14
+ <polygon id="Path" points="15.6425143 6.30188571 13.6524 5.13783429 15.6425143 3.97379143 17.6326286 5.13783429 17.6326286 7.46588571 15.6425143 8.62997143"></polygon>
15
+ <polygon id="Path" points="6.8262 19.4074286 6.8262 17.0793429 8.81631429 18.2433429 10.8064286 17.0793429 10.8064286 19.4074286 8.81631429 20.5714286"></polygon>
16
+ <polygon id="Path" points="5.39331429 14.5906286 3.40315714 13.4266286 3.40315714 11.0985429 5.39331429 12.2625429"></polygon>
17
+ <polygon id="Path" points="8.81631429 6.30188571 6.8262 5.13783429 8.81631429 3.97379143 10.8064286 5.13783429"></polygon>
18
+ <polygon id="Path" points="3.98031429 5.13783429 1.99014 6.30188571 1.99014 8.62997143 9.89684525e-15 7.46588571 9.89684525e-15 5.13783429 1.99014 3.97379143"></polygon>
19
+ <polygon id="Path" points="4.56777473e-15 9.1116 1.99014 10.2756857 1.99014 14.2494857 5.4132 16.2363429 5.4132 18.5644286 4.56777473e-15 15.4134857"></polygon>
20
+ </g>
21
+ </g>
22
+ </g>
23
+ </svg>
@@ -0,0 +1,11 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <svg width="32px" height="32px" viewBox="0 0 32 32" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
3
+ <title>clover</title>
4
+ <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
5
+ <g id="clover" fill-rule="nonzero">
6
+ <circle id="Oval" fill="#FFFFFF" cx="16" cy="16" r="16"></circle>
7
+ <path d="M21,16 C23.7642947,16 26,13.7643069 26,11 C26,8.23568267 23.7532727,6 21,6 C18.2466751,6 16.0220442,8.22467195 16,10.9669678 C15.9779558,8.22467195 13.7533249,6 11,6 C8.23568436,6 6,8.23568267 6,11 C6,13.7533327 8.22466751,15.9889736 10.9779715,16 C8.22466751,16.0110264 6,18.2467195 6,21.0000261 C6,23.7643591 8.23568436,26 11,26 C13.7642947,26 16,23.7643591 16,21.0000261 C16,18.2467195 13.7753168,16.0110264 11.0220233,16 C13.7642947,15.9889736 15.9779558,13.7753333 16,11.0330478 C16.0110221,13.7753333 18.2466751,16 21,16 Z" id="Path" fill="#06E594"></path>
8
+ <path d="M21,26 C23.7614217,26 26,23.7613921 26,21 C26,18.2386079 23.7614217,16 21,16 C18.2385783,16 16,18.2386079 16,21 C16,23.7613921 18.2385783,26 21,26 Z" id="Path" fill="#06E594"></path>
9
+ </g>
10
+ </g>
11
+ </svg>
@@ -0,0 +1,18 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <svg width="96px" height="96px" viewBox="0 0 96 96" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
3
+ <!-- Generator: Sketch 63 (92445) - https://sketch.com -->
4
+ <title>coin98</title>
5
+ <desc>Created with Sketch.</desc>
6
+ <defs>
7
+ <linearGradient x1="69.264%" y1="3.73%" x2="4.739%" y2="68.255%" id="linearGradient-1">
8
+ <stop stop-color="#F1D961" offset="0%"></stop>
9
+ <stop stop-color="#CDA146" offset="100%"></stop>
10
+ </linearGradient>
11
+ </defs>
12
+ <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
13
+ <g id="coin98" fill-rule="nonzero">
14
+ <path d="M96,48 C96,21.4903 74.5097,0 48,0 C21.4903,0 0,21.4903 0,48 C0,74.5097 21.4903,96 48,96 C74.5097,96 96,74.5097 96,48 Z" id="svg_1" fill="url(#linearGradient-1)"></path>
15
+ <path d="M33.7141978,25.0000212 C26.1367607,25.0062569 19.9979225,31.1518347 20.0000005,38.729274 C20.0020796,46.3067133 26.1442886,52.4489223 33.7217279,52.4510014 C41.2991672,52.4530794 47.4447449,46.3142412 47.4509807,38.7368041 C47.446828,31.1519092 41.2990927,25.0041739 33.7141978,25.0000212 Z M33.7256109,46.9608053 C30.394678,46.9608053 27.3917542,44.9542316 26.1171806,41.8768014 C24.842607,38.7993713 25.5474073,35.2571762 27.902915,32.9020334 C30.2584226,30.5468905 33.8007268,29.8426389 36.8779594,31.1176893 C39.955192,32.3927396 41.9613005,35.3959743 41.9607846,38.7269072 C41.9453822,43.2684659 38.2671719,46.9461065 33.7256109,46.9608053 Z M73.8039216,36.884277 C73.8081736,38.8723821 73.3208658,40.8287873 72.3880117,42.5686485 C70.9488379,41.3607133 69.3107004,40.4295992 67.5518514,39.8197845 C68.0208479,38.9167015 68.2677439,37.9087137 68.2708732,36.884277 C68.2708732,33.468602 65.5858427,30.6996503 62.2736898,30.6996503 C58.9615368,30.6996503 56.2765063,33.468602 56.2765063,36.884277 C56.2689231,37.9100749 56.5164774,38.9207499 56.9955281,39.8197845 C55.2364184,40.4298665 53.5979209,41.3609483 52.1581366,42.5686485 C50.204716,38.8874372 50.281188,34.4161516 52.3592733,30.8082682 C54.4373586,27.2003849 58.2082148,24.9921029 62.2773834,25.0000212 C68.6395262,25.0070378 73.7957511,30.3232856 73.8039216,36.884277 Z M62.285797,42.5686485 C54.705747,42.5624218 48.5557208,48.7019671 48.5490199,56.2820148 C48.5423299,63.8620625 54.6815003,70.0124629 62.2615495,70.0196286 C69.8415987,70.0267819 75.9923765,63.8879895 76,56.3079427 C75.9924296,48.7328693 69.8608459,42.5900695 62.285797,42.5686485 Z M62.2644007,64.5294326 C58.9332399,64.5252942 55.9326515,62.5147154 54.6620514,59.4353911 C53.3914513,56.3560668 54.1011171,52.8145496 56.4600744,50.462534 C58.8190318,48.1105185 62.3626231,47.4112949 65.4381863,48.6909676 C68.5137496,49.9706403 70.515473,52.9771446 70.509804,56.3083054 C70.4964158,60.8526317 66.8087433,64.5294326 62.2644007,64.5294326 Z M45.2549023,57.9411974 C45.2549023,64.6119308 40.0930088,70.0196286 33.7254906,70.0196286 C27.3579724,70.0196286 22.1960789,64.6119308 22.1960789,57.9411974 L27.7287192,57.9411974 C27.7287192,61.4108335 30.4135652,64.2235293 33.7254906,64.2235293 C37.037416,64.2235293 39.722262,61.4108335 39.722262,57.9411974 L45.2549023,57.9411974 Z" id="Shape" fill="#252525"></path>
16
+ </g>
17
+ </g>
18
+ </svg>
@@ -0,0 +1,17 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <svg width="96px" height="96px" viewBox="0 0 96 96" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
3
+ <title>coinbase</title>
4
+ <defs>
5
+ <linearGradient x1="50%" y1="0%" x2="50%" y2="100%" id="linearGradient-1">
6
+ <stop stop-color="#2D66F5" offset="0%"></stop>
7
+ <stop stop-color="#144ADF" offset="100%"></stop>
8
+ </linearGradient>
9
+ </defs>
10
+ <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
11
+ <g id="coinbase" fill-rule="nonzero">
12
+ <path d="M96,48 C96,21.4903 74.5097,0 48,0 C21.4903,0 0,21.4903 0,48 C0,74.5097 21.4903,96 48,96 C74.5097,96 96,74.5097 96,48 Z" id="svg_1" fill="url(#linearGradient-1)"></path>
13
+ <rect id="Rectangle" fill="#FFFFFF" x="18" y="18" width="60" height="60" rx="30"></rect>
14
+ <rect id="Rectangle" fill="#2D66F5" x="37" y="37" width="22" height="22" rx="2"></rect>
15
+ </g>
16
+ </g>
17
+ </svg>
@@ -0,0 +1,14 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <svg width="96px" height="96px" viewBox="0 0 96 96" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
3
+ <title>crypto.com</title>
4
+ <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
5
+ <g id="crypto.com">
6
+ <path d="M96,48 C96,21.4903 74.5097,0 48,0 C21.4903,0 0,21.4903 0,48 C0,74.5097 21.4903,96 48,96 C74.5097,96 96,74.5097 96,48 Z" id="svg_1" fill="#061121" fill-rule="nonzero"></path>
7
+ <polygon id="Path" fill="#FFFFFF" fill-rule="nonzero" points="54.9149551 42.1763636 52.6657084 48.2892735 53.3207217 55.1179808 48.0555036 55.1430924 42.8399455 55.1430924 43.5445718 48.2892735 41.2455478 42.1763636"></polygon>
8
+ <polygon id="Path" fill="#FFFFFF" fill-rule="nonzero" points="61.181116 44.2223708 54.989351 48.3143851 54.989351 55.5824278 50.2679044 60.1891122 50.2679044 62.3606772 54.82859 66.6160342 58.6352241 66.6160342 68.2384092 49.6199526"></polygon>
9
+ <polygon id="Path" fill="#FFFFFF" fill-rule="nonzero" points="37.4636967 29.5860503 58.585705 29.5860503 61.1318316 40.531907 35.0041934 40.531907"></polygon>
10
+ <polygon id="Path" fill="#FFFFFF" fill-rule="nonzero" points="41.220976 48.3143851 34.9547212 44.2725939 27.8728563 49.6199526 37.525537 66.6662574 41.3816432 66.6662574 45.9421411 62.3606772 45.9421411 60.1891122 41.220976 55.5824278"></polygon>
11
+ <path d="M20.0742282,31.3936148 L48.0925843,15 L76,31.4438145 L76,64.2686881 L47.9691386,80.7125495 L20,64.2562496 L20,31.3936148 L20.0742282,31.3936148 Z M48.0925843,18.3515278 L22.8672967,33.1133122 L22.8672967,62.6369046 L48.0925843,77.3987595 L73.2067473,62.6369046 L73.2067473,33.1133122 L48.0925843,18.3515278 Z" id="Shape" fill="#FFFFFF"></path>
12
+ </g>
13
+ </g>
14
+ </svg>
@@ -0,0 +1,7 @@
1
+ <svg width="96" height="96" xmlns="http://www.w3.org/2000/svg" class="sc-bdfBwQ CXMyy">
2
+ <g>
3
+ <title>Layer 1</title>
4
+ <circle id="svg_1" fill="white" r="48" cy="48" cx="48"/>
5
+ <path d="m20.94855,23.17182l7.51292,7.51269l36.27493,36.27493c-10.01706,10.01706 -26.25784,10.01706 -36.27493,0c-5.00851,-5.00855 -7.51292,-11.57293 -7.51292,-18.13762l0,0l0,-25.65001l0,0.00001zm10.31504,5.86873c10.01706,-10.01706 26.25787,-10.01706 36.27493,0c5.00828,5.00855 7.51292,11.5732 7.51292,18.13762l0,0l0,25.65027l-43.78785,-43.78789z" fill="#48A3FF" id="形状结合" stroke="null"/>
6
+ </g>
7
+ </svg>