UNPKG

@authereum/bnc-onboard

Version:

Onboard users to web3 by allowing them to select a wallet, get that wallet ready to transact and have access to synced wallet state.

125 lines (107 loc) 6.79 kB
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } } function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; } import { m as mobileWalletInstallMessage } from './content-eeaca1cc.js'; var huobiwalletIcon = "\n <svg id=\"\u56FE\u5C42_1\" data-name=\"\u56FE\u5C42 1\" xmlns=\"http://www.w3.org/2000/svg\" width=\"40\" height=\"40\" viewBox=\"0 0 1024 1024\">\n <defs>\n <style>.cls-1{fill:#2d65f8;}.cls-1,.cls-2{fill-rule:evenodd;}.cls-2{fill:#173fff;}.cls-3{fill:#fcfcff;}.cls-4{fill:#fff;}</style>\n </defs>\n <title>huobi wallet icon</title>\n <path class=\"cls-1\" d=\"M292.28,0H552Q742.79,27,858.24,122.88T1024,392V731.72c0,101.63-10.58,138.48-30.45,175.64a207.13,207.13,0,0,1-86.19,86.19c-37.16,19.87-74,30.45-175.64,30.45H292.28c-101.63,0-138.48-10.58-175.64-30.45a207.13,207.13,0,0,1-86.19-86.19C10.58,870.2,0,833.35,0,731.72V292.28C0,190.65,10.58,153.8,30.45,116.64a207.13,207.13,0,0,1,86.19-86.19C153.8,10.58,190.65,0,292.28,0Z\"/>\n <path class=\"cls-2\" d=\"M993.55,116.64a207.13,207.13,0,0,0-86.19-86.19C870.21,10.58,833.35,0,731.72,0H552Q742.79,27,858.24,122.88T1024,392V292.28C1024,190.65,1013.42,153.8,993.55,116.64Z\"/>\n <path class=\"cls-3\" d=\"M591.8,382.71c0-97.43-48-181.13-84.48-208.41,0,0-2.78-1.53-2.59,2.3-3,188-100.19,239-153.65,307.63-123.27,158.45-8.6,332.23,108.14,364.18,65.35,18-15.06-31.95-25.4-136.86C421.21,584.73,591.8,487.81,591.8,382.71Z\"/>\n <path class=\"cls-4\" d=\"M643.64,445.69c-.78-.51-1.81-.9-2.53.32-2.07,23.74-26.56,74.42-57.67,121C478.07,725,538.08,801.1,571.91,842.18c19.44,23.74,0,0,49-24.25,60.52-36.26,99.8-98.95,105.62-168.62A242.5,242.5,0,0,0,643.64,445.69Z\"/>\n </svg>"; function huobiwallet(options) { var preferred = options.preferred, label = options.label, svg = options.svg, rpcUrl = options.rpcUrl; return { name: label || 'Huobi Wallet', svg: svg || huobiwalletIcon, wallet: function () { var _wallet = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2(helpers) { var getProviderName, getAddress, getNetwork, getBalance, huobiwalletProvider, isHuobiWallet, createProvider, provider, warned; return regeneratorRuntime.wrap(function _callee2$(_context2) { while (1) { switch (_context2.prev = _context2.next) { case 0: getProviderName = helpers.getProviderName, getAddress = helpers.getAddress, getNetwork = helpers.getNetwork, getBalance = helpers.getBalance; huobiwalletProvider = window.ethereum || window.web3 && window.web3.currentProvider; isHuobiWallet = getProviderName(huobiwalletProvider) === 'huobiwallet'; if (!(isHuobiWallet && rpcUrl)) { _context2.next = 7; break; } _context2.next = 6; return import('./providerEngine-d9d3eac4.js'); case 6: createProvider = _context2.sent["default"]; case 7: provider = createProvider ? createProvider({ rpcUrl: rpcUrl }) : null; warned = false; return _context2.abrupt("return", { provider: huobiwalletProvider, "interface": isHuobiWallet ? { address: { get: function get() { return getAddress(huobiwalletProvider); } }, network: { get: function get() { return getNetwork(huobiwalletProvider); } }, balance: { get: function () { var _get = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() { var address; return regeneratorRuntime.wrap(function _callee$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: if (provider) { _context.next = 3; break; } if (!warned) { console.warn('The Huobi Wallet provider does not allow rpc calls preventing Onboard.js from getting the balance. You can pass in a "rpcUrl" to the Huobi Wallet initialization object to get the balance.'); warned = true; } return _context.abrupt("return", null); case 3: _context.next = 5; return getAddress(huobiwalletProvider); case 5: address = _context.sent; return _context.abrupt("return", getBalance(provider, address)); case 7: case "end": return _context.stop(); } } }, _callee); })); function get() { return _get.apply(this, arguments); } return get; }() }, name: getProviderName(huobiwalletProvider) } : null }); case 10: case "end": return _context2.stop(); } } }, _callee2); })); function wallet(_x) { return _wallet.apply(this, arguments); } return wallet; }(), type: 'injected', link: 'https://www.huobiwallet.com', installMessage: mobileWalletInstallMessage, mobile: true, preferred: preferred }; } export default huobiwallet;