diff --git a/App iOS/Info.plist b/App iOS/Info.plist index 3185ad37..4eecb6bc 100644 --- a/App iOS/Info.plist +++ b/App iOS/Info.plist @@ -5,7 +5,7 @@ CFBundleDevelopmentRegion $(DEVELOPMENT_LANGUAGE) CFBundleDisplayName - Wallеt + Big Wallet CFBundleExecutable $(EXECUTABLE_NAME) CFBundleIcons @@ -32,10 +32,10 @@ CFBundleTypeRole Viewer CFBundleURLName - tinywallet + bigwallet CFBundleURLSchemes - tinywallet + bigwallet diff --git a/App iOS/Screens/Accounts/AccountsListViewController.swift b/App iOS/Screens/Accounts/AccountsListViewController.swift index 3b6e4f6b..c71b4c3c 100644 --- a/App iOS/Screens/Accounts/AccountsListViewController.swift +++ b/App iOS/Screens/Accounts/AccountsListViewController.swift @@ -239,7 +239,7 @@ class AccountsListViewController: UIViewController, DataStateContainer { let action: DappRequestAction let id: Int - if let prefix = ["https://lil.org/extension?query=", "tinywallet://safari?request="].first(where: { inputLinkString.hasPrefix($0) == true }), + if let prefix = ["https://lil.org/extension?query=", "bigwallet://safari?request="].first(where: { inputLinkString.hasPrefix($0) == true }), let request = SafariRequest(query: String(inputLinkString.dropFirst(prefix.count))) { id = request.id action = DappRequestProcessor.processSafariRequest(request) { [weak self] hash in @@ -384,7 +384,7 @@ class AccountsListViewController: UIViewController, DataStateContainer { } @objc private func preferencesButtonTapped() { - let actionSheet = UIAlertController(title: Strings.tinyWallet, message: nil, preferredStyle: .actionSheet) + let actionSheet = UIAlertController(title: Strings.bigWallet, message: nil, preferredStyle: .actionSheet) actionSheet.popoverPresentationController?.barButtonItem = preferencesItem let xAction = UIAlertAction(title: Strings.viewOnX, style: .default) { _ in UIApplication.shared.open(URL.x) diff --git a/App macOS/Agent.swift b/App macOS/Agent.swift index 9708138b..a2f674b4 100644 --- a/App macOS/Agent.swift +++ b/App macOS/Agent.swift @@ -104,7 +104,7 @@ class Agent: NSObject { } lazy private var statusBarMenu: NSMenu = { - let menu = NSMenu(title: Strings.tinyWallet) + let menu = NSMenu(title: Strings.bigWallet) let showItem = NSMenuItem(title: Strings.showWallets, action: #selector(didSelectShowMenuItem), keyEquivalent: "") let safariItem = NSMenuItem(title: Strings.enableSafariExtension, action: #selector(enableSafariExtension), keyEquivalent: "") @@ -140,7 +140,7 @@ class Agent: NSObject { func warnBeforeQuitting(updateStatusBarAfterwards: Bool = false) { Window.activateWindow(nil) let alert = Alert() - alert.messageText = Strings.quitTinyWallet + alert.messageText = Strings.quitWallet alert.alertStyle = .warning alert.addButton(withTitle: Strings.ok) alert.addButton(withTitle: Strings.cancel) diff --git a/App macOS/AppDelegate.swift b/App macOS/AppDelegate.swift index 9558c556..77e30a78 100644 --- a/App macOS/AppDelegate.swift +++ b/App macOS/AppDelegate.swift @@ -61,7 +61,7 @@ class AppDelegate: NSObject, NSApplicationDelegate { private func processInput(url: String?) { guard let url = url else { return } - let safariPrefix = "tinywallet://safari?request=" + let safariPrefix = "bigwallet://safari?request=" if url.hasPrefix(safariPrefix), let request = SafariRequest(query: String(url.dropFirst(safariPrefix.count))) { processExternalRequest(.safari(request)) } diff --git a/App macOS/Base.lproj/Main.storyboard b/App macOS/Base.lproj/Main.storyboard index d6069478..07653dad 100644 --- a/App macOS/Base.lproj/Main.storyboard +++ b/App macOS/Base.lproj/Main.storyboard @@ -12,11 +12,11 @@ - + - + - + @@ -30,7 +30,7 @@ - + @@ -48,7 +48,7 @@ - + @@ -661,7 +661,7 @@ - + @@ -1435,7 +1435,7 @@ DQ - + diff --git a/App macOS/Screens/WelcomeViewController.swift b/App macOS/Screens/WelcomeViewController.swift index 43234a79..89a8c020 100644 --- a/App macOS/Screens/WelcomeViewController.swift +++ b/App macOS/Screens/WelcomeViewController.swift @@ -19,7 +19,7 @@ class WelcomeViewController: NSViewController { override func viewDidLoad() { super.viewDidLoad() - titleLabel.stringValue = Strings.tinyWallet + titleLabel.stringValue = Strings.bigWallet messageLabel.stringValue = Strings.welcomeScreenText getStartedButton.title = Strings.getStarted } diff --git a/App macOS/Supporting Files/Info.plist b/App macOS/Supporting Files/Info.plist index 8a184591..c384e0de 100644 --- a/App macOS/Supporting Files/Info.plist +++ b/App macOS/Supporting Files/Info.plist @@ -5,7 +5,7 @@ CFBundleDevelopmentRegion $(DEVELOPMENT_LANGUAGE) CFBundleDisplayName - Wallеt + Big Wallet CFBundleExecutable $(EXECUTABLE_NAME) CFBundleIconFile @@ -15,7 +15,7 @@ CFBundleInfoDictionaryVersion 6.0 CFBundleName - Wallet + Big Wallet CFBundlePackageType $(PRODUCT_BUNDLE_PACKAGE_TYPE) CFBundleShortVersionString @@ -26,10 +26,10 @@ CFBundleTypeRole Viewer CFBundleURLName - tinywallet + bigwallet CFBundleURLSchemes - tinywallet + bigwallet diff --git a/Safari Shared/Inpage Provider/ethereum.js b/Safari Shared/Inpage Provider/ethereum.js index fffba2c2..e7ae4c0f 100644 --- a/Safari Shared/Inpage Provider/ethereum.js +++ b/Safari Shared/Inpage Provider/ethereum.js @@ -10,7 +10,7 @@ import IdMapping from "./id_mapping"; import { EventEmitter } from "events"; import isUtf8 from "isutf8"; -class TinyWalletEthereum extends EventEmitter { +class BigWalletEthereum extends EventEmitter { _metamask = { isUnlocked: () => { @@ -31,7 +31,7 @@ class TinyWalletEthereum extends EventEmitter { this._isConnected = true; this._initialized = true; this._isUnlocked = true; - this.isTinyWallet = true; + this.isBigWallet = true; this.emitConnect(config.chainId); this.didEmitConnectAfterSubscription = false; this.didGetLatestConfiguration = false; @@ -41,22 +41,22 @@ class TinyWalletEthereum extends EventEmitter { this.on = (...args) => { if (args[0] == "connect") { setTimeout( function() { - if (!window.tinywallet.eth.didEmitConnectAfterSubscription) { - window.tinywallet.eth.emitConnect(window.tinywallet.eth.chainId); - window.tinywallet.eth.didEmitConnectAfterSubscription = true; + if (!window.bigwallet.eth.didEmitConnectAfterSubscription) { + window.bigwallet.eth.emitConnect(window.bigwallet.eth.chainId); + window.bigwallet.eth.didEmitConnectAfterSubscription = true; } }, 1); } return originalOn.apply(this, args); }; - setTimeout( function() { window.tinywallet.eth.emit("_initialized"); }, 1); + setTimeout( function() { window.bigwallet.eth.emit("_initialized"); }, 1); } externalDisconnect() { this.setAddress(""); - window.tinywallet.eth.emit("disconnect"); - window.tinywallet.eth.emit("accountsChanged", []); + window.bigwallet.eth.emit("disconnect"); + window.bigwallet.eth.emit("accountsChanged", []); } setAddress(address) { @@ -67,22 +67,22 @@ class TinyWalletEthereum extends EventEmitter { } updateAccount(eventName, addresses, chainId) { - window.tinywallet.eth.setAddress(addresses[0]); + window.bigwallet.eth.setAddress(addresses[0]); if (eventName == "switchAccount") { - window.tinywallet.eth.emit("accountsChanged", addresses); + window.bigwallet.eth.emit("accountsChanged", addresses); } - if (window.tinywallet.eth.rpc.chainId != chainId) { + if (window.bigwallet.eth.rpc.chainId != chainId) { this.rpc = new RPCServer(chainId); } - if (window.tinywallet.eth.chainId != chainId) { - window.tinywallet.eth.chainId = chainId; - window.tinywallet.eth.networkVersion = this.net_version(); + if (window.bigwallet.eth.chainId != chainId) { + window.bigwallet.eth.chainId = chainId; + window.bigwallet.eth.networkVersion = this.net_version(); if (eventName != "didLoadLatestConfiguration") { - window.tinywallet.eth.emit("chainChanged", chainId); - window.tinywallet.eth.emit("networkChanged", window.tinywallet.eth.net_version()); + window.bigwallet.eth.emit("chainChanged", chainId); + window.bigwallet.eth.emit("networkChanged", window.bigwallet.eth.net_version()); } } } @@ -96,8 +96,8 @@ class TinyWalletEthereum extends EventEmitter { request(payload) { var that = this; - if (!(this instanceof TinyWalletEthereum)) { - that = window.tinywallet.eth; + if (!(this instanceof BigWalletEthereum)) { + that = window.bigwallet.eth; } return that._request(payload, false); } @@ -111,7 +111,7 @@ class TinyWalletEthereum extends EventEmitter { } enable() { - if (!window.tinywallet.eth.address) { // avoid double accounts request in uniswap + if (!window.bigwallet.eth.address) { // avoid double accounts request in uniswap return this.request({ method: "eth_requestAccounts", params: [] }); } else { return this.request({ method: "eth_accounts", params: [] }); @@ -120,8 +120,8 @@ class TinyWalletEthereum extends EventEmitter { send(payload, callback) { var that = this; - if (!(this instanceof TinyWalletEthereum)) { - that = window.tinywallet.eth; + if (!(this instanceof BigWalletEthereum)) { + that = window.bigwallet.eth; } var requestPayload = {}; if (typeof payload.method !== "undefined") { @@ -143,8 +143,8 @@ class TinyWalletEthereum extends EventEmitter { sendAsync(payload, callback) { var that = this; - if (!(this instanceof TinyWalletEthereum)) { - that = window.tinywallet.eth; + if (!(this instanceof BigWalletEthereum)) { + that = window.bigwallet.eth; } if (Array.isArray(payload)) { Promise.all(payload.map(that._request.bind(that))) @@ -199,7 +199,7 @@ class TinyWalletEthereum extends EventEmitter { case "eth_newPendingTransactionFilter": case "eth_uninstallFilter": case "eth_subscribe": - throw new ProviderRpcError(4200, `tiny wallet does not support ${payload.method}`); + throw new ProviderRpcError(4200, `big wallet does not support ${payload.method}`); default: return this.rpc.call(payload); } @@ -335,7 +335,7 @@ class TinyWalletEthereum extends EventEmitter { this.postMessage("addEthereumChain", payload.id, payload.params[0]); } - processTinyWalletResponse(id, response) { + processBigWalletResponse(id, response) { if (response.name == "didLoadLatestConfiguration") { this.didGetLatestConfiguration = true; if (response.chainId) { @@ -376,7 +376,7 @@ class TinyWalletEthereum extends EventEmitter { address: this.address, chainId: this.chainId }; - window.tinywallet.postMessage(handler, id, object, "ethereum"); + window.bigwallet.postMessage(handler, id, object, "ethereum"); } else { this.sendError(id, new ProviderRpcError(4100, "provider is not ready")); } @@ -412,4 +412,4 @@ class TinyWalletEthereum extends EventEmitter { } } -module.exports = TinyWalletEthereum; +module.exports = BigWalletEthereum; diff --git a/Safari Shared/Inpage Provider/index.js b/Safari Shared/Inpage Provider/index.js index 8df0dd88..f097ebbc 100644 --- a/Safari Shared/Inpage Provider/index.js +++ b/Safari Shared/Inpage Provider/index.js @@ -3,24 +3,24 @@ "use strict"; -import TinyWalletEthereum from "./ethereum"; +import BigWalletEthereum from "./ethereum"; import ProviderRpcError from "./error"; -window.tinywallet = {}; -window.tinywallet.postMessage = (name, id, body, provider) => { +window.bigwallet = {}; +window.bigwallet.postMessage = (name, id, body, provider) => { const message = {name: name, id: id, provider: provider, body: body}; window.postMessage({direction: "from-page-script", message: message}, "*"); }; -window.tinywallet.disconnect = (provider) => { +window.bigwallet.disconnect = (provider) => { const disconnectRequest = {subject: "disconnect", provider: provider}; window.postMessage(disconnectRequest, "*"); }; // - MARK: Ethereum -let provider = new TinyWalletEthereum(); -window.tinywallet.eth = provider; +let provider = new BigWalletEthereum(); +window.bigwallet.eth = provider; window.ethereum = provider; window.web3 = {currentProvider: provider}; window.metamask = provider; @@ -30,8 +30,8 @@ window.dispatchEvent(new Event('ethereum#initialized')); function announceProvider() { const info = { - uuid: "bcce26fb-e330-425c-9d21-43ed52e98fcf", - name: "tiny wallet", + uuid: "08ac99d0-ec2b-4088-8599-c9f7eede344e", + name: "big wallet", icon: 'data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjU2IiBoZWlnaHQ9IjI1NiIgdmlld0JveD0iMCAwIDI1NiAyNTYiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxyZWN0IHdpZHRoPSIyNTYiIGhlaWdodD0iMjU2IiBmaWxsPSJ3aGl0ZSIvPgo8cGF0aCBkPSJNMjA5Ljc1IDEyOEMyMDkuNzUgODIuODUwOCAxNzMuMTQ5IDQ2LjI1IDEyOCA0Ni4yNUM4Mi44NTA4IDQ2LjI1IDQ2LjI1IDgyLjg1MDggNDYuMjUgMTI4QzQ2LjI1IDE3My4xNDkgODIuODUwOCAyMDkuNzUgMTI4IDIwOS43NUMxNzMuMTQ5IDIwOS43NSAyMDkuNzUgMTczLjE0OSAyMDkuNzUgMTI4WiIgZmlsbD0idXJsKCNwYWludDBfcmFkaWFsXzIwMzRfMjIpIi8+CjxwYXRoIGQ9Ik0xMjguMDAxIDQ3LjA2NzRDMTcyLjYzNiA0Ny4wNjc0IDIwOC45MzMgODMuMzY0NCAyMDguOTMzIDEyOEMyMDguOTMzIDE3Mi42MzUgMTcyLjYzNiAyMDguOTMyIDEyOC4wMDEgMjA4LjkzMkM4My4zNjU0IDIwOC45MzIgNDcuMDY4NCAxNzIuNjM1IDQ3LjA2ODQgMTI4QzQ3LjA2ODQgODMuMzY0NCA4My4zNjU0IDQ3LjA2NzQgMTI4LjAwMSA0Ny4wNjc0WiIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLW9wYWNpdHk9IjAuMDc1Ii8+CjxkZWZzPgo8cmFkaWFsR3JhZGllbnQgaWQ9InBhaW50MF9yYWRpYWxfMjAzNF8yMiIgY3g9IjAiIGN5PSIwIiByPSIxIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgZ3JhZGllbnRUcmFuc2Zvcm09InRyYW5zbGF0ZSgxNTQuOTA5IDg2LjA3NDUpIHNjYWxlKDEyMy4xKSI+CjxzdG9wIG9mZnNldD0iMC4xNTYyIiBzdG9wLWNvbG9yPSIjQzZFNkY1Ii8+CjxzdG9wIG9mZnNldD0iMC4zOTU4IiBzdG9wLWNvbG9yPSIjQTNEMkYwIi8+CjxzdG9wIG9mZnNldD0iMC43MjkyIiBzdG9wLWNvbG9yPSIjNUY4QUU3Ii8+CjxzdG9wIG9mZnNldD0iMC45MDYzIiBzdG9wLWNvbG9yPSIjMUQ0OUU3Ii8+CjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iIzE0MzhFQiIvPgo8L3JhZGlhbEdyYWRpZW50Pgo8L2RlZnM+Cjwvc3ZnPgo=', rdns: "org.lil.wallet" }; @@ -45,7 +45,7 @@ announceProvider(); window.addEventListener("message", function(event) { if (event.source == window && event.data && event.data.direction == "rpc-back") { - provider.processTinyWalletResponse(event.data.response.id, event.data.response); + provider.processBigWalletResponse(event.data.response.id, event.data.response); } else if (event.source == window && event.data && event.data.direction == "from-content-script") { const response = event.data.response; const id = event.data.id; @@ -72,7 +72,7 @@ window.addEventListener("message", function(event) { function deliverResponseToSpecificProvider(id, response, providerName) { switch (providerName) { case "ethereum": - provider.processTinyWalletResponse(id, response); + provider.processBigWalletResponse(id, response); break; case "multiple": response.bodies.forEach((body) => { @@ -94,6 +94,6 @@ function deliverResponseToSpecificProvider(id, response, providerName) { break; default: // pass unknown provider message to all providers - provider.processTinyWalletResponse(id, response); + provider.processBigWalletResponse(id, response); } } diff --git a/Safari Shared/Inpage Provider/package.json b/Safari Shared/Inpage Provider/package.json index 2f91ad70..174ec50f 100644 --- a/Safari Shared/Inpage Provider/package.json +++ b/Safari Shared/Inpage Provider/package.json @@ -9,7 +9,7 @@ }, "repository": { "type": "git", - "url": "git+ssh://git@github.com/lil-org/tiny-wallet.git" + "url": "git+ssh://git@github.com/lil-org/big-wallet.git" }, "keywords": [], "author": "lil org ", diff --git a/Safari Shared/Resources/content.js b/Safari Shared/Resources/content.js index 1889ebf7..6950a896 100644 --- a/Safari Shared/Resources/content.js +++ b/Safari Shared/Resources/content.js @@ -74,7 +74,7 @@ function injectScript() { container.insertBefore(scriptTag, container.children[0]); container.removeChild(scriptTag); } catch (error) { - console.error('tiny wallet: failed to inject', error); + console.error('big wallet: failed to inject', error); } } diff --git a/Safari Shared/Resources/inpage.js b/Safari Shared/Resources/inpage.js index dbad333e..b93ed5d8 100644 --- a/Safari Shared/Resources/inpage.js +++ b/Safari Shared/Resources/inpage.js @@ -1 +1 @@ -(function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i=o.length)return{done:true};return{done:false,value:o[i++]}},e:function e(_e){throw _e},f:F}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var normalCompletion=true,didErr=false,err;return{s:function s(){it=it.call(o)},n:function n(){var step=it.next();normalCompletion=step.done;return step},e:function e(_e2){didErr=true;err=_e2},f:function f(){try{if(!normalCompletion&&it["return"]!=null)it["return"]()}finally{if(didErr)throw err}}}}function _unsupportedIterableToArray(o,minLen){if(!o)return;if(typeof o==="string")return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(o);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen)}function _arrayLikeToArray(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i1&&arguments[1]!==undefined?arguments[1]:true;this.idMapping.tryFixId(payload);return new Promise(function(resolve,reject){if(!payload.id){payload.id=_utils["default"].genId()}_this2.callbacks.set(payload.id,function(error,data){setTimeout(function(){if(error){reject(error)}else{resolve(data)}},1)});_this2.wrapResults.set(payload.id,wrapResult);switch(payload.method){case"eth_accounts":case"eth_coinbase":case"net_version":case"eth_chainId":case"eth_sign":case"personal_sign":case"personal_ecRecover":case"eth_signTypedData_v3":case"eth_signTypedData":case"eth_signTypedData_v4":case"eth_sendTransaction":case"eth_requestAccounts":case"wallet_addEthereumChain":case"wallet_switchEthereumChain":case"wallet_requestPermissions":case"wallet_getPermissions":return _this2._processPayload(payload);case"eth_newFilter":case"eth_newBlockFilter":case"eth_newPendingTransactionFilter":case"eth_uninstallFilter":case"eth_subscribe":throw new _error["default"](4200,"tiny wallet does not support ".concat(payload.method));default:return _this2.rpc.call(payload)}})}},{key:"_processPayload",value:function _processPayload(payload){if(!this.didGetLatestConfiguration){this.pendingPayloads.push(payload);return}switch(payload.method){case"eth_accounts":return this.sendResponse(payload.id,this.eth_accounts());case"eth_coinbase":return this.sendResponse(payload.id,this.eth_coinbase());case"net_version":return this.sendResponse(payload.id,this.net_version());case"eth_chainId":return this.sendResponse(payload.id,this.eth_chainId());case"eth_sign":return this.eth_sign(payload);case"personal_sign":return this.personal_sign(payload);case"personal_ecRecover":return this.personal_ecRecover(payload);case"eth_signTypedData_v3":return this.eth_signTypedData(payload,false);case"eth_signTypedData":case"eth_signTypedData_v4":return this.eth_signTypedData(payload,true);case"eth_sendTransaction":return this.eth_sendTransaction(payload);case"eth_requestAccounts":if(!this.address){return this.eth_requestAccounts(payload)}else{return this.sendResponse(payload.id,this.eth_accounts())}case"wallet_addEthereumChain":return this.wallet_addEthereumChain(payload);case"wallet_switchEthereumChain":return this.wallet_switchEthereumChain(payload);case"wallet_requestPermissions":case"wallet_getPermissions":var permissions=[{parentCapability:"eth_accounts"}];return this.sendResponse(payload.id,permissions)}}},{key:"emitConnect",value:function emitConnect(chainId){this.emit("connect",{chainId:chainId})}},{key:"eth_accounts",value:function eth_accounts(){return this.address?[this.address]:[]}},{key:"eth_coinbase",value:function eth_coinbase(){return this.address}},{key:"net_version",value:function net_version(){return parseInt(this.chainId,16).toString(10)||null}},{key:"eth_chainId",value:function eth_chainId(){return this.chainId}},{key:"eth_sign",value:function eth_sign(payload){var buffer=_utils["default"].messageToBuffer(payload.params[1]);var hex=_utils["default"].bufferToHex(buffer);if((0,_isutf["default"])(buffer)){this.postMessage("signPersonalMessage",payload.id,{data:hex})}else{this.postMessage("signMessage",payload.id,{data:hex})}}},{key:"personal_sign",value:function personal_sign(payload){var message=payload.params[0];var buffer=_utils["default"].messageToBuffer(message);if(buffer.length===0){var hex=_utils["default"].bufferToHex(message);this.postMessage("signPersonalMessage",payload.id,{data:hex})}else{this.postMessage("signPersonalMessage",payload.id,{data:message})}}},{key:"personal_ecRecover",value:function personal_ecRecover(payload){this.postMessage("ecRecover",payload.id,{signature:payload.params[1],message:payload.params[0]})}},{key:"eth_signTypedData",value:function eth_signTypedData(payload,useV4){this.postMessage("signTypedMessage",payload.id,{raw:payload.params[1]})}},{key:"eth_sendTransaction",value:function eth_sendTransaction(payload){this.postMessage("signTransaction",payload.id,payload.params[0])}},{key:"eth_requestAccounts",value:function eth_requestAccounts(payload){this.postMessage("requestAccounts",payload.id,{})}},{key:"wallet_watchAsset",value:function wallet_watchAsset(payload){var options=payload.params.options;this.postMessage("watchAsset",payload.id,{type:payload.type,contract:options.address,symbol:options.symbol,decimals:options.decimals||0})}},{key:"wallet_switchEthereumChain",value:function wallet_switchEthereumChain(payload){if(this.chainId!=payload.params[0].chainId){this.postMessage("switchEthereumChain",payload.id,payload.params[0])}else{this.sendResponse(payload.id,[this.address])}}},{key:"wallet_addEthereumChain",value:function wallet_addEthereumChain(payload){this.postMessage("addEthereumChain",payload.id,payload.params[0])}},{key:"processTinyWalletResponse",value:function processTinyWalletResponse(id,response){if(response.name=="didLoadLatestConfiguration"){this.didGetLatestConfiguration=true;if(response.chainId){this.updateAccount(response.name,response.results,response.chainId)}var _iterator=_createForOfIteratorHelper(this.pendingPayloads),_step;try{for(_iterator.s();!(_step=_iterator.n()).done;){var payload=_step.value;this._processPayload(payload)}}catch(err){_iterator.e(err)}finally{_iterator.f()}this.pendingPayloads=[];return}if("result"in response){this.sendResponse(id,response.result)}else if("results"in response){if(response.name=="switchEthereumChain"||response.name=="addEthereumChain"){this.updateAccount(response.name,response.results,response.chainId)}if(response.name!="switchAccount"){this.sendResponse(id,response.results)}if(response.name=="requestAccounts"||response.name=="switchAccount"){this.updateAccount(response.name,response.results,response.chainId)}}else if("error"in response){this.sendError(id,response.error)}}},{key:"postMessage",value:function postMessage(handler,id,data){if(this.ready||handler==="requestAccounts"||handler==="switchEthereumChain"||handler==="addEthereumChain"){var object={object:data,address:this.address,chainId:this.chainId};window.tinywallet.postMessage(handler,id,object,"ethereum")}else{this.sendError(id,new _error["default"](4100,"provider is not ready"))}}},{key:"sendResponse",value:function sendResponse(id,result){var originId=this.idMapping.tryPopId(id)||id;var callback=this.callbacks.get(id);var wrapResult=this.wrapResults.get(id);var data={jsonrpc:"2.0",id:originId};if(result!==null&&result.result){data.result=result.result}else{data.result=result}if(callback){wrapResult?callback(null,data):callback(null,data.result);this.callbacks["delete"](id);this.wrapResults["delete"](id)}else{console.log("callback id: ".concat(id," not found"))}}},{key:"sendError",value:function sendError(id,error){console.log("<== ".concat(id," sendError ").concat(error));var callback=this.callbacks.get(id);if(callback){callback(error instanceof Error?error:new Error(error),null);this.callbacks["delete"](id);this.wrapResults["delete"](id)}}}]);return TinyWalletEthereum}(_events.EventEmitter);module.exports=TinyWalletEthereum},{"./error":1,"./id_mapping":3,"./rpc":10,"./utils":11,events:7,isutf8:9}],3:[function(require,module,exports){"use strict";var _utils=_interopRequireDefault(require("./utils"));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i=o.length)return{done:true};return{done:false,value:o[i++]}},e:function e(_e){throw _e},f:F}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var normalCompletion=true,didErr=false,err;return{s:function s(){it=it.call(o)},n:function n(){var step=it.next();normalCompletion=step.done;return step},e:function e(_e2){didErr=true;err=_e2},f:function f(){try{if(!normalCompletion&&it["return"]!=null)it["return"]()}finally{if(didErr)throw err}}}}function _unsupportedIterableToArray(o,minLen){if(!o)return;if(typeof o==="string")return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(o);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen)}function _arrayLikeToArray(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i0){throw new Error("Invalid string. Length must be a multiple of 4")}var validLen=b64.indexOf("=");if(validLen===-1)validLen=len;var placeHoldersLen=validLen===len?0:4-validLen%4;return[validLen,placeHoldersLen]}function byteLength(b64){var lens=getLens(b64);var validLen=lens[0];var placeHoldersLen=lens[1];return(validLen+placeHoldersLen)*3/4-placeHoldersLen}function _byteLength(b64,validLen,placeHoldersLen){return(validLen+placeHoldersLen)*3/4-placeHoldersLen}function toByteArray(b64){var tmp;var lens=getLens(b64);var validLen=lens[0];var placeHoldersLen=lens[1];var arr=new Arr(_byteLength(b64,validLen,placeHoldersLen));var curByte=0;var len=placeHoldersLen>0?validLen-4:validLen;var i;for(i=0;i>16&255;arr[curByte++]=tmp>>8&255;arr[curByte++]=tmp&255}if(placeHoldersLen===2){tmp=revLookup[b64.charCodeAt(i)]<<2|revLookup[b64.charCodeAt(i+1)]>>4;arr[curByte++]=tmp&255}if(placeHoldersLen===1){tmp=revLookup[b64.charCodeAt(i)]<<10|revLookup[b64.charCodeAt(i+1)]<<4|revLookup[b64.charCodeAt(i+2)]>>2;arr[curByte++]=tmp>>8&255;arr[curByte++]=tmp&255}return arr}function tripletToBase64(num){return lookup[num>>18&63]+lookup[num>>12&63]+lookup[num>>6&63]+lookup[num&63]}function encodeChunk(uint8,start,end){var tmp;var output=[];for(var i=start;ilen2?len2:i+maxChunkLength))}if(extraBytes===1){tmp=uint8[len-1];parts.push(lookup[tmp>>2]+lookup[tmp<<4&63]+"==")}else if(extraBytes===2){tmp=(uint8[len-2]<<8)+uint8[len-1];parts.push(lookup[tmp>>10]+lookup[tmp>>4&63]+lookup[tmp<<2&63]+"=")}return parts.join("")}},{}],6:[function(require,module,exports){(function(Buffer){(function(){"use strict";var base64=require("base64-js");var ieee754=require("ieee754");exports.Buffer=Buffer;exports.SlowBuffer=SlowBuffer;exports.INSPECT_MAX_BYTES=50;var K_MAX_LENGTH=2147483647;exports.kMaxLength=K_MAX_LENGTH;Buffer.TYPED_ARRAY_SUPPORT=typedArraySupport();if(!Buffer.TYPED_ARRAY_SUPPORT&&typeof console!=="undefined"&&typeof console.error==="function"){console.error("This browser lacks typed array (Uint8Array) support which is required by "+"`buffer` v5.x. Use `buffer` v4.x if you require old browser support.")}function typedArraySupport(){try{var arr=new Uint8Array(1);arr.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}};return arr.foo()===42}catch(e){return false}}Object.defineProperty(Buffer.prototype,"parent",{enumerable:true,get:function(){if(!Buffer.isBuffer(this))return undefined;return this.buffer}});Object.defineProperty(Buffer.prototype,"offset",{enumerable:true,get:function(){if(!Buffer.isBuffer(this))return undefined;return this.byteOffset}});function createBuffer(length){if(length>K_MAX_LENGTH){throw new RangeError('The value "'+length+'" is invalid for option "size"')}var buf=new Uint8Array(length);buf.__proto__=Buffer.prototype;return buf}function Buffer(arg,encodingOrOffset,length){if(typeof arg==="number"){if(typeof encodingOrOffset==="string"){throw new TypeError('The "string" argument must be of type string. Received type number')}return allocUnsafe(arg)}return from(arg,encodingOrOffset,length)}if(typeof Symbol!=="undefined"&&Symbol.species!=null&&Buffer[Symbol.species]===Buffer){Object.defineProperty(Buffer,Symbol.species,{value:null,configurable:true,enumerable:false,writable:false})}Buffer.poolSize=8192;function from(value,encodingOrOffset,length){if(typeof value==="string"){return fromString(value,encodingOrOffset)}if(ArrayBuffer.isView(value)){return fromArrayLike(value)}if(value==null){throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, "+"or Array-like Object. Received type "+typeof value)}if(isInstance(value,ArrayBuffer)||value&&isInstance(value.buffer,ArrayBuffer)){return fromArrayBuffer(value,encodingOrOffset,length)}if(typeof value==="number"){throw new TypeError('The "value" argument must not be of type number. Received type number')}var valueOf=value.valueOf&&value.valueOf();if(valueOf!=null&&valueOf!==value){return Buffer.from(valueOf,encodingOrOffset,length)}var b=fromObject(value);if(b)return b;if(typeof Symbol!=="undefined"&&Symbol.toPrimitive!=null&&typeof value[Symbol.toPrimitive]==="function"){return Buffer.from(value[Symbol.toPrimitive]("string"),encodingOrOffset,length)}throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, "+"or Array-like Object. Received type "+typeof value)}Buffer.from=function(value,encodingOrOffset,length){return from(value,encodingOrOffset,length)};Buffer.prototype.__proto__=Uint8Array.prototype;Buffer.__proto__=Uint8Array;function assertSize(size){if(typeof size!=="number"){throw new TypeError('"size" argument must be of type number')}else if(size<0){throw new RangeError('The value "'+size+'" is invalid for option "size"')}}function alloc(size,fill,encoding){assertSize(size);if(size<=0){return createBuffer(size)}if(fill!==undefined){return typeof encoding==="string"?createBuffer(size).fill(fill,encoding):createBuffer(size).fill(fill)}return createBuffer(size)}Buffer.alloc=function(size,fill,encoding){return alloc(size,fill,encoding)};function allocUnsafe(size){assertSize(size);return createBuffer(size<0?0:checked(size)|0)}Buffer.allocUnsafe=function(size){return allocUnsafe(size)};Buffer.allocUnsafeSlow=function(size){return allocUnsafe(size)};function fromString(string,encoding){if(typeof encoding!=="string"||encoding===""){encoding="utf8"}if(!Buffer.isEncoding(encoding)){throw new TypeError("Unknown encoding: "+encoding)}var length=byteLength(string,encoding)|0;var buf=createBuffer(length);var actual=buf.write(string,encoding);if(actual!==length){buf=buf.slice(0,actual)}return buf}function fromArrayLike(array){var length=array.length<0?0:checked(array.length)|0;var buf=createBuffer(length);for(var i=0;i=K_MAX_LENGTH){throw new RangeError("Attempt to allocate Buffer larger than maximum "+"size: 0x"+K_MAX_LENGTH.toString(16)+" bytes")}return length|0}function SlowBuffer(length){if(+length!=length){length=0}return Buffer.alloc(+length)}Buffer.isBuffer=function isBuffer(b){return b!=null&&b._isBuffer===true&&b!==Buffer.prototype};Buffer.compare=function compare(a,b){if(isInstance(a,Uint8Array))a=Buffer.from(a,a.offset,a.byteLength);if(isInstance(b,Uint8Array))b=Buffer.from(b,b.offset,b.byteLength);if(!Buffer.isBuffer(a)||!Buffer.isBuffer(b)){throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array')}if(a===b)return 0;var x=a.length;var y=b.length;for(var i=0,len=Math.min(x,y);i2&&arguments[2]===true;if(!mustMatch&&len===0)return 0;var loweredCase=false;for(;;){switch(encoding){case"ascii":case"latin1":case"binary":return len;case"utf8":case"utf-8":return utf8ToBytes(string).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return len*2;case"hex":return len>>>1;case"base64":return base64ToBytes(string).length;default:if(loweredCase){return mustMatch?-1:utf8ToBytes(string).length}encoding=(""+encoding).toLowerCase();loweredCase=true}}}Buffer.byteLength=byteLength;function slowToString(encoding,start,end){var loweredCase=false;if(start===undefined||start<0){start=0}if(start>this.length){return""}if(end===undefined||end>this.length){end=this.length}if(end<=0){return""}end>>>=0;start>>>=0;if(end<=start){return""}if(!encoding)encoding="utf8";while(true){switch(encoding){case"hex":return hexSlice(this,start,end);case"utf8":case"utf-8":return utf8Slice(this,start,end);case"ascii":return asciiSlice(this,start,end);case"latin1":case"binary":return latin1Slice(this,start,end);case"base64":return base64Slice(this,start,end);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return utf16leSlice(this,start,end);default:if(loweredCase)throw new TypeError("Unknown encoding: "+encoding);encoding=(encoding+"").toLowerCase();loweredCase=true}}}Buffer.prototype._isBuffer=true;function swap(b,n,m){var i=b[n];b[n]=b[m];b[m]=i}Buffer.prototype.swap16=function swap16(){var len=this.length;if(len%2!==0){throw new RangeError("Buffer size must be a multiple of 16-bits")}for(var i=0;imax)str+=" ... ";return""};Buffer.prototype.compare=function compare(target,start,end,thisStart,thisEnd){if(isInstance(target,Uint8Array)){target=Buffer.from(target,target.offset,target.byteLength)}if(!Buffer.isBuffer(target)){throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. '+"Received type "+typeof target)}if(start===undefined){start=0}if(end===undefined){end=target?target.length:0}if(thisStart===undefined){thisStart=0}if(thisEnd===undefined){thisEnd=this.length}if(start<0||end>target.length||thisStart<0||thisEnd>this.length){throw new RangeError("out of range index")}if(thisStart>=thisEnd&&start>=end){return 0}if(thisStart>=thisEnd){return-1}if(start>=end){return 1}start>>>=0;end>>>=0;thisStart>>>=0;thisEnd>>>=0;if(this===target)return 0;var x=thisEnd-thisStart;var y=end-start;var len=Math.min(x,y);var thisCopy=this.slice(thisStart,thisEnd);var targetCopy=target.slice(start,end);for(var i=0;i2147483647){byteOffset=2147483647}else if(byteOffset<-2147483648){byteOffset=-2147483648}byteOffset=+byteOffset;if(numberIsNaN(byteOffset)){byteOffset=dir?0:buffer.length-1}if(byteOffset<0)byteOffset=buffer.length+byteOffset;if(byteOffset>=buffer.length){if(dir)return-1;else byteOffset=buffer.length-1}else if(byteOffset<0){if(dir)byteOffset=0;else return-1}if(typeof val==="string"){val=Buffer.from(val,encoding)}if(Buffer.isBuffer(val)){if(val.length===0){return-1}return arrayIndexOf(buffer,val,byteOffset,encoding,dir)}else if(typeof val==="number"){val=val&255;if(typeof Uint8Array.prototype.indexOf==="function"){if(dir){return Uint8Array.prototype.indexOf.call(buffer,val,byteOffset)}else{return Uint8Array.prototype.lastIndexOf.call(buffer,val,byteOffset)}}return arrayIndexOf(buffer,[val],byteOffset,encoding,dir)}throw new TypeError("val must be string, number or Buffer")}function arrayIndexOf(arr,val,byteOffset,encoding,dir){var indexSize=1;var arrLength=arr.length;var valLength=val.length;if(encoding!==undefined){encoding=String(encoding).toLowerCase();if(encoding==="ucs2"||encoding==="ucs-2"||encoding==="utf16le"||encoding==="utf-16le"){if(arr.length<2||val.length<2){return-1}indexSize=2;arrLength/=2;valLength/=2;byteOffset/=2}}function read(buf,i){if(indexSize===1){return buf[i]}else{return buf.readUInt16BE(i*indexSize)}}var i;if(dir){var foundIndex=-1;for(i=byteOffset;iarrLength)byteOffset=arrLength-valLength;for(i=byteOffset;i>=0;i--){var found=true;for(var j=0;jremaining){length=remaining}}var strLen=string.length;if(length>strLen/2){length=strLen/2}for(var i=0;i>>0;if(isFinite(length)){length=length>>>0;if(encoding===undefined)encoding="utf8"}else{encoding=length;length=undefined}}else{throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported")}var remaining=this.length-offset;if(length===undefined||length>remaining)length=remaining;if(string.length>0&&(length<0||offset<0)||offset>this.length){throw new RangeError("Attempt to write outside buffer bounds")}if(!encoding)encoding="utf8";var loweredCase=false;for(;;){switch(encoding){case"hex":return hexWrite(this,string,offset,length);case"utf8":case"utf-8":return utf8Write(this,string,offset,length);case"ascii":return asciiWrite(this,string,offset,length);case"latin1":case"binary":return latin1Write(this,string,offset,length);case"base64":return base64Write(this,string,offset,length);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return ucs2Write(this,string,offset,length);default:if(loweredCase)throw new TypeError("Unknown encoding: "+encoding);encoding=(""+encoding).toLowerCase();loweredCase=true}}};Buffer.prototype.toJSON=function toJSON(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function base64Slice(buf,start,end){if(start===0&&end===buf.length){return base64.fromByteArray(buf)}else{return base64.fromByteArray(buf.slice(start,end))}}function utf8Slice(buf,start,end){end=Math.min(buf.length,end);var res=[];var i=start;while(i239?4:firstByte>223?3:firstByte>191?2:1;if(i+bytesPerSequence<=end){var secondByte,thirdByte,fourthByte,tempCodePoint;switch(bytesPerSequence){case 1:if(firstByte<128){codePoint=firstByte}break;case 2:secondByte=buf[i+1];if((secondByte&192)===128){tempCodePoint=(firstByte&31)<<6|secondByte&63;if(tempCodePoint>127){codePoint=tempCodePoint}}break;case 3:secondByte=buf[i+1];thirdByte=buf[i+2];if((secondByte&192)===128&&(thirdByte&192)===128){tempCodePoint=(firstByte&15)<<12|(secondByte&63)<<6|thirdByte&63;if(tempCodePoint>2047&&(tempCodePoint<55296||tempCodePoint>57343)){codePoint=tempCodePoint}}break;case 4:secondByte=buf[i+1];thirdByte=buf[i+2];fourthByte=buf[i+3];if((secondByte&192)===128&&(thirdByte&192)===128&&(fourthByte&192)===128){tempCodePoint=(firstByte&15)<<18|(secondByte&63)<<12|(thirdByte&63)<<6|fourthByte&63;if(tempCodePoint>65535&&tempCodePoint<1114112){codePoint=tempCodePoint}}}}if(codePoint===null){codePoint=65533;bytesPerSequence=1}else if(codePoint>65535){codePoint-=65536;res.push(codePoint>>>10&1023|55296);codePoint=56320|codePoint&1023}res.push(codePoint);i+=bytesPerSequence}return decodeCodePointsArray(res)}var MAX_ARGUMENTS_LENGTH=4096;function decodeCodePointsArray(codePoints){var len=codePoints.length;if(len<=MAX_ARGUMENTS_LENGTH){return String.fromCharCode.apply(String,codePoints)}var res="";var i=0;while(ilen)end=len;var out="";for(var i=start;ilen){start=len}if(end<0){end+=len;if(end<0)end=0}else if(end>len){end=len}if(endlength)throw new RangeError("Trying to access beyond buffer length")}Buffer.prototype.readUIntLE=function readUIntLE(offset,byteLength,noAssert){offset=offset>>>0;byteLength=byteLength>>>0;if(!noAssert)checkOffset(offset,byteLength,this.length);var val=this[offset];var mul=1;var i=0;while(++i>>0;byteLength=byteLength>>>0;if(!noAssert){checkOffset(offset,byteLength,this.length)}var val=this[offset+--byteLength];var mul=1;while(byteLength>0&&(mul*=256)){val+=this[offset+--byteLength]*mul}return val};Buffer.prototype.readUInt8=function readUInt8(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,1,this.length);return this[offset]};Buffer.prototype.readUInt16LE=function readUInt16LE(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,2,this.length);return this[offset]|this[offset+1]<<8};Buffer.prototype.readUInt16BE=function readUInt16BE(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,2,this.length);return this[offset]<<8|this[offset+1]};Buffer.prototype.readUInt32LE=function readUInt32LE(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,4,this.length);return(this[offset]|this[offset+1]<<8|this[offset+2]<<16)+this[offset+3]*16777216};Buffer.prototype.readUInt32BE=function readUInt32BE(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,4,this.length);return this[offset]*16777216+(this[offset+1]<<16|this[offset+2]<<8|this[offset+3])};Buffer.prototype.readIntLE=function readIntLE(offset,byteLength,noAssert){offset=offset>>>0;byteLength=byteLength>>>0;if(!noAssert)checkOffset(offset,byteLength,this.length);var val=this[offset];var mul=1;var i=0;while(++i=mul)val-=Math.pow(2,8*byteLength);return val};Buffer.prototype.readIntBE=function readIntBE(offset,byteLength,noAssert){offset=offset>>>0;byteLength=byteLength>>>0;if(!noAssert)checkOffset(offset,byteLength,this.length);var i=byteLength;var mul=1;var val=this[offset+--i];while(i>0&&(mul*=256)){val+=this[offset+--i]*mul}mul*=128;if(val>=mul)val-=Math.pow(2,8*byteLength);return val};Buffer.prototype.readInt8=function readInt8(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,1,this.length);if(!(this[offset]&128))return this[offset];return(255-this[offset]+1)*-1};Buffer.prototype.readInt16LE=function readInt16LE(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,2,this.length);var val=this[offset]|this[offset+1]<<8;return val&32768?val|4294901760:val};Buffer.prototype.readInt16BE=function readInt16BE(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,2,this.length);var val=this[offset+1]|this[offset]<<8;return val&32768?val|4294901760:val};Buffer.prototype.readInt32LE=function readInt32LE(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,4,this.length);return this[offset]|this[offset+1]<<8|this[offset+2]<<16|this[offset+3]<<24};Buffer.prototype.readInt32BE=function readInt32BE(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,4,this.length);return this[offset]<<24|this[offset+1]<<16|this[offset+2]<<8|this[offset+3]};Buffer.prototype.readFloatLE=function readFloatLE(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,4,this.length);return ieee754.read(this,offset,true,23,4)};Buffer.prototype.readFloatBE=function readFloatBE(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,4,this.length);return ieee754.read(this,offset,false,23,4)};Buffer.prototype.readDoubleLE=function readDoubleLE(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,8,this.length);return ieee754.read(this,offset,true,52,8)};Buffer.prototype.readDoubleBE=function readDoubleBE(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,8,this.length);return ieee754.read(this,offset,false,52,8)};function checkInt(buf,value,offset,ext,max,min){if(!Buffer.isBuffer(buf))throw new TypeError('"buffer" argument must be a Buffer instance');if(value>max||valuebuf.length)throw new RangeError("Index out of range")}Buffer.prototype.writeUIntLE=function writeUIntLE(value,offset,byteLength,noAssert){value=+value;offset=offset>>>0;byteLength=byteLength>>>0;if(!noAssert){var maxBytes=Math.pow(2,8*byteLength)-1;checkInt(this,value,offset,byteLength,maxBytes,0)}var mul=1;var i=0;this[offset]=value&255;while(++i>>0;byteLength=byteLength>>>0;if(!noAssert){var maxBytes=Math.pow(2,8*byteLength)-1;checkInt(this,value,offset,byteLength,maxBytes,0)}var i=byteLength-1;var mul=1;this[offset+i]=value&255;while(--i>=0&&(mul*=256)){this[offset+i]=value/mul&255}return offset+byteLength};Buffer.prototype.writeUInt8=function writeUInt8(value,offset,noAssert){value=+value;offset=offset>>>0;if(!noAssert)checkInt(this,value,offset,1,255,0);this[offset]=value&255;return offset+1};Buffer.prototype.writeUInt16LE=function writeUInt16LE(value,offset,noAssert){value=+value;offset=offset>>>0;if(!noAssert)checkInt(this,value,offset,2,65535,0);this[offset]=value&255;this[offset+1]=value>>>8;return offset+2};Buffer.prototype.writeUInt16BE=function writeUInt16BE(value,offset,noAssert){value=+value;offset=offset>>>0;if(!noAssert)checkInt(this,value,offset,2,65535,0);this[offset]=value>>>8;this[offset+1]=value&255;return offset+2};Buffer.prototype.writeUInt32LE=function writeUInt32LE(value,offset,noAssert){value=+value;offset=offset>>>0;if(!noAssert)checkInt(this,value,offset,4,4294967295,0);this[offset+3]=value>>>24;this[offset+2]=value>>>16;this[offset+1]=value>>>8;this[offset]=value&255;return offset+4};Buffer.prototype.writeUInt32BE=function writeUInt32BE(value,offset,noAssert){value=+value;offset=offset>>>0;if(!noAssert)checkInt(this,value,offset,4,4294967295,0);this[offset]=value>>>24;this[offset+1]=value>>>16;this[offset+2]=value>>>8;this[offset+3]=value&255;return offset+4};Buffer.prototype.writeIntLE=function writeIntLE(value,offset,byteLength,noAssert){value=+value;offset=offset>>>0;if(!noAssert){var limit=Math.pow(2,8*byteLength-1);checkInt(this,value,offset,byteLength,limit-1,-limit)}var i=0;var mul=1;var sub=0;this[offset]=value&255;while(++i>0)-sub&255}return offset+byteLength};Buffer.prototype.writeIntBE=function writeIntBE(value,offset,byteLength,noAssert){value=+value;offset=offset>>>0;if(!noAssert){var limit=Math.pow(2,8*byteLength-1);checkInt(this,value,offset,byteLength,limit-1,-limit)}var i=byteLength-1;var mul=1;var sub=0;this[offset+i]=value&255;while(--i>=0&&(mul*=256)){if(value<0&&sub===0&&this[offset+i+1]!==0){sub=1}this[offset+i]=(value/mul>>0)-sub&255}return offset+byteLength};Buffer.prototype.writeInt8=function writeInt8(value,offset,noAssert){value=+value;offset=offset>>>0;if(!noAssert)checkInt(this,value,offset,1,127,-128);if(value<0)value=255+value+1;this[offset]=value&255;return offset+1};Buffer.prototype.writeInt16LE=function writeInt16LE(value,offset,noAssert){value=+value;offset=offset>>>0;if(!noAssert)checkInt(this,value,offset,2,32767,-32768);this[offset]=value&255;this[offset+1]=value>>>8;return offset+2};Buffer.prototype.writeInt16BE=function writeInt16BE(value,offset,noAssert){value=+value;offset=offset>>>0;if(!noAssert)checkInt(this,value,offset,2,32767,-32768);this[offset]=value>>>8;this[offset+1]=value&255;return offset+2};Buffer.prototype.writeInt32LE=function writeInt32LE(value,offset,noAssert){value=+value;offset=offset>>>0;if(!noAssert)checkInt(this,value,offset,4,2147483647,-2147483648);this[offset]=value&255;this[offset+1]=value>>>8;this[offset+2]=value>>>16;this[offset+3]=value>>>24;return offset+4};Buffer.prototype.writeInt32BE=function writeInt32BE(value,offset,noAssert){value=+value;offset=offset>>>0;if(!noAssert)checkInt(this,value,offset,4,2147483647,-2147483648);if(value<0)value=4294967295+value+1;this[offset]=value>>>24;this[offset+1]=value>>>16;this[offset+2]=value>>>8;this[offset+3]=value&255;return offset+4};function checkIEEE754(buf,value,offset,ext,max,min){if(offset+ext>buf.length)throw new RangeError("Index out of range");if(offset<0)throw new RangeError("Index out of range")}function writeFloat(buf,value,offset,littleEndian,noAssert){value=+value;offset=offset>>>0;if(!noAssert){checkIEEE754(buf,value,offset,4,34028234663852886e22,-34028234663852886e22)}ieee754.write(buf,value,offset,littleEndian,23,4);return offset+4}Buffer.prototype.writeFloatLE=function writeFloatLE(value,offset,noAssert){return writeFloat(this,value,offset,true,noAssert)};Buffer.prototype.writeFloatBE=function writeFloatBE(value,offset,noAssert){return writeFloat(this,value,offset,false,noAssert)};function writeDouble(buf,value,offset,littleEndian,noAssert){value=+value;offset=offset>>>0;if(!noAssert){checkIEEE754(buf,value,offset,8,17976931348623157e292,-17976931348623157e292)}ieee754.write(buf,value,offset,littleEndian,52,8);return offset+8}Buffer.prototype.writeDoubleLE=function writeDoubleLE(value,offset,noAssert){return writeDouble(this,value,offset,true,noAssert)};Buffer.prototype.writeDoubleBE=function writeDoubleBE(value,offset,noAssert){return writeDouble(this,value,offset,false,noAssert)};Buffer.prototype.copy=function copy(target,targetStart,start,end){if(!Buffer.isBuffer(target))throw new TypeError("argument should be a Buffer");if(!start)start=0;if(!end&&end!==0)end=this.length;if(targetStart>=target.length)targetStart=target.length;if(!targetStart)targetStart=0;if(end>0&&end=this.length)throw new RangeError("Index out of range");if(end<0)throw new RangeError("sourceEnd out of bounds");if(end>this.length)end=this.length;if(target.length-targetStart=0;--i){target[i+targetStart]=this[i+start]}}else{Uint8Array.prototype.set.call(target,this.subarray(start,end),targetStart)}return len};Buffer.prototype.fill=function fill(val,start,end,encoding){if(typeof val==="string"){if(typeof start==="string"){encoding=start;start=0;end=this.length}else if(typeof end==="string"){encoding=end;end=this.length}if(encoding!==undefined&&typeof encoding!=="string"){throw new TypeError("encoding must be a string")}if(typeof encoding==="string"&&!Buffer.isEncoding(encoding)){throw new TypeError("Unknown encoding: "+encoding)}if(val.length===1){var code=val.charCodeAt(0);if(encoding==="utf8"&&code<128||encoding==="latin1"){val=code}}}else if(typeof val==="number"){val=val&255}if(start<0||this.length>>0;end=end===undefined?this.length:end>>>0;if(!val)val=0;var i;if(typeof val==="number"){for(i=start;i55295&&codePoint<57344){if(!leadSurrogate){if(codePoint>56319){if((units-=3)>-1)bytes.push(239,191,189);continue}else if(i+1===length){if((units-=3)>-1)bytes.push(239,191,189);continue}leadSurrogate=codePoint;continue}if(codePoint<56320){if((units-=3)>-1)bytes.push(239,191,189);leadSurrogate=codePoint;continue}codePoint=(leadSurrogate-55296<<10|codePoint-56320)+65536}else if(leadSurrogate){if((units-=3)>-1)bytes.push(239,191,189)}leadSurrogate=null;if(codePoint<128){if((units-=1)<0)break;bytes.push(codePoint)}else if(codePoint<2048){if((units-=2)<0)break;bytes.push(codePoint>>6|192,codePoint&63|128)}else if(codePoint<65536){if((units-=3)<0)break;bytes.push(codePoint>>12|224,codePoint>>6&63|128,codePoint&63|128)}else if(codePoint<1114112){if((units-=4)<0)break;bytes.push(codePoint>>18|240,codePoint>>12&63|128,codePoint>>6&63|128,codePoint&63|128)}else{throw new Error("Invalid code point")}}return bytes}function asciiToBytes(str){var byteArray=[];for(var i=0;i>8;lo=c%256;byteArray.push(lo);byteArray.push(hi)}return byteArray}function base64ToBytes(str){return base64.toByteArray(base64clean(str))}function blitBuffer(src,dst,offset,length){for(var i=0;i=dst.length||i>=src.length)break;dst[i+offset]=src[i]}return i}function isInstance(obj,type){return obj instanceof type||obj!=null&&obj.constructor!=null&&obj.constructor.name!=null&&obj.constructor.name===type.name}function numberIsNaN(obj){return obj!==obj}}).call(this)}).call(this,require("buffer").Buffer)},{"base64-js":5,buffer:6,ieee754:8}],7:[function(require,module,exports){"use strict";var R=typeof Reflect==="object"?Reflect:null;var ReflectApply=R&&typeof R.apply==="function"?R.apply:function ReflectApply(target,receiver,args){return Function.prototype.apply.call(target,receiver,args)};var ReflectOwnKeys;if(R&&typeof R.ownKeys==="function"){ReflectOwnKeys=R.ownKeys}else if(Object.getOwnPropertySymbols){ReflectOwnKeys=function ReflectOwnKeys(target){return Object.getOwnPropertyNames(target).concat(Object.getOwnPropertySymbols(target))}}else{ReflectOwnKeys=function ReflectOwnKeys(target){return Object.getOwnPropertyNames(target)}}function ProcessEmitWarning(warning){if(console&&console.warn)console.warn(warning)}var NumberIsNaN=Number.isNaN||function NumberIsNaN(value){return value!==value};function EventEmitter(){EventEmitter.init.call(this)}module.exports=EventEmitter;module.exports.once=once;EventEmitter.EventEmitter=EventEmitter;EventEmitter.prototype._events=undefined;EventEmitter.prototype._eventsCount=0;EventEmitter.prototype._maxListeners=undefined;var defaultMaxListeners=10;function checkListener(listener){if(typeof listener!=="function"){throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof listener)}}Object.defineProperty(EventEmitter,"defaultMaxListeners",{enumerable:true,get:function(){return defaultMaxListeners},set:function(arg){if(typeof arg!=="number"||arg<0||NumberIsNaN(arg)){throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+arg+".")}defaultMaxListeners=arg}});EventEmitter.init=function(){if(this._events===undefined||this._events===Object.getPrototypeOf(this)._events){this._events=Object.create(null);this._eventsCount=0}this._maxListeners=this._maxListeners||undefined};EventEmitter.prototype.setMaxListeners=function setMaxListeners(n){if(typeof n!=="number"||n<0||NumberIsNaN(n)){throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+n+".")}this._maxListeners=n;return this};function _getMaxListeners(that){if(that._maxListeners===undefined)return EventEmitter.defaultMaxListeners;return that._maxListeners}EventEmitter.prototype.getMaxListeners=function getMaxListeners(){return _getMaxListeners(this)};EventEmitter.prototype.emit=function emit(type){var args=[];for(var i=1;i0)er=args[0];if(er instanceof Error){throw er}var err=new Error("Unhandled error."+(er?" ("+er.message+")":""));err.context=er;throw err}var handler=events[type];if(handler===undefined)return false;if(typeof handler==="function"){ReflectApply(handler,this,args)}else{var len=handler.length;var listeners=arrayClone(handler,len);for(var i=0;i0&&existing.length>m&&!existing.warned){existing.warned=true;var w=new Error("Possible EventEmitter memory leak detected. "+existing.length+" "+String(type)+" listeners "+"added. Use emitter.setMaxListeners() to "+"increase limit");w.name="MaxListenersExceededWarning";w.emitter=target;w.type=type;w.count=existing.length;ProcessEmitWarning(w)}}return target}EventEmitter.prototype.addListener=function addListener(type,listener){return _addListener(this,type,listener,false)};EventEmitter.prototype.on=EventEmitter.prototype.addListener;EventEmitter.prototype.prependListener=function prependListener(type,listener){return _addListener(this,type,listener,true)};function onceWrapper(){if(!this.fired){this.target.removeListener(this.type,this.wrapFn);this.fired=true;if(arguments.length===0)return this.listener.call(this.target);return this.listener.apply(this.target,arguments)}}function _onceWrap(target,type,listener){var state={fired:false,wrapFn:undefined,target:target,type:type,listener:listener};var wrapped=onceWrapper.bind(state);wrapped.listener=listener;state.wrapFn=wrapped;return wrapped}EventEmitter.prototype.once=function once(type,listener){checkListener(listener);this.on(type,_onceWrap(this,type,listener));return this};EventEmitter.prototype.prependOnceListener=function prependOnceListener(type,listener){checkListener(listener);this.prependListener(type,_onceWrap(this,type,listener));return this};EventEmitter.prototype.removeListener=function removeListener(type,listener){var list,events,position,i,originalListener;checkListener(listener);events=this._events;if(events===undefined)return this;list=events[type];if(list===undefined)return this;if(list===listener||list.listener===listener){if(--this._eventsCount===0)this._events=Object.create(null);else{delete events[type];if(events.removeListener)this.emit("removeListener",type,list.listener||listener)}}else if(typeof list!=="function"){position=-1;for(i=list.length-1;i>=0;i--){if(list[i]===listener||list[i].listener===listener){originalListener=list[i].listener;position=i;break}}if(position<0)return this;if(position===0)list.shift();else{spliceOne(list,position)}if(list.length===1)events[type]=list[0];if(events.removeListener!==undefined)this.emit("removeListener",type,originalListener||listener)}return this};EventEmitter.prototype.off=EventEmitter.prototype.removeListener;EventEmitter.prototype.removeAllListeners=function removeAllListeners(type){var listeners,events,i;events=this._events;if(events===undefined)return this;if(events.removeListener===undefined){if(arguments.length===0){this._events=Object.create(null);this._eventsCount=0}else if(events[type]!==undefined){if(--this._eventsCount===0)this._events=Object.create(null);else delete events[type]}return this}if(arguments.length===0){var keys=Object.keys(events);var key;for(i=0;i=0;i--){this.removeListener(type,listeners[i])}}return this};function _listeners(target,type,unwrap){var events=target._events;if(events===undefined)return[];var evlistener=events[type];if(evlistener===undefined)return[];if(typeof evlistener==="function")return unwrap?[evlistener.listener||evlistener]:[evlistener];return unwrap?unwrapListeners(evlistener):arrayClone(evlistener,evlistener.length)}EventEmitter.prototype.listeners=function listeners(type){return _listeners(this,type,true)};EventEmitter.prototype.rawListeners=function rawListeners(type){return _listeners(this,type,false)};EventEmitter.listenerCount=function(emitter,type){if(typeof emitter.listenerCount==="function"){return emitter.listenerCount(type)}else{return listenerCount.call(emitter,type)}};EventEmitter.prototype.listenerCount=listenerCount;function listenerCount(type){var events=this._events;if(events!==undefined){var evlistener=events[type];if(typeof evlistener==="function"){return 1}else if(evlistener!==undefined){return evlistener.length}}return 0}EventEmitter.prototype.eventNames=function eventNames(){return this._eventsCount>0?ReflectOwnKeys(this._events):[]};function arrayClone(arr,n){var copy=new Array(n);for(var i=0;i>1;var nBits=-7;var i=isLE?nBytes-1:0;var d=isLE?-1:1;var s=buffer[offset+i];i+=d;e=s&(1<<-nBits)-1;s>>=-nBits;nBits+=eLen;for(;nBits>0;e=e*256+buffer[offset+i],i+=d,nBits-=8){}m=e&(1<<-nBits)-1;e>>=-nBits;nBits+=mLen;for(;nBits>0;m=m*256+buffer[offset+i],i+=d,nBits-=8){}if(e===0){e=1-eBias}else if(e===eMax){return m?NaN:(s?-1:1)*Infinity}else{m=m+Math.pow(2,mLen);e=e-eBias}return(s?-1:1)*m*Math.pow(2,e-mLen)};exports.write=function(buffer,value,offset,isLE,mLen,nBytes){var e,m,c;var eLen=nBytes*8-mLen-1;var eMax=(1<>1;var rt=mLen===23?Math.pow(2,-24)-Math.pow(2,-77):0;var i=isLE?0:nBytes-1;var d=isLE?1:-1;var s=value<0||value===0&&1/value<0?1:0;value=Math.abs(value);if(isNaN(value)||value===Infinity){m=isNaN(value)?1:0;e=eMax}else{e=Math.floor(Math.log(value)/Math.LN2);if(value*(c=Math.pow(2,-e))<1){e--;c*=2}if(e+eBias>=1){value+=rt/c}else{value+=rt*Math.pow(2,1-eBias)}if(value*c>=2){e++;c/=2}if(e+eBias>=eMax){m=0;e=eMax}else if(e+eBias>=1){m=(value*c-1)*Math.pow(2,mLen);e=e+eBias}else{m=value*Math.pow(2,eBias-1)*Math.pow(2,mLen);e=0}}for(;mLen>=8;buffer[offset+i]=m&255,i+=d,m/=256,mLen-=8){}e=e<0;buffer[offset+i]=e&255,i+=d,e/=256,eLen-=8){}buffer[offset+i-d]|=s*128}},{}],9:[function(require,module,exports){"use strict";function isUtf8(buf){if(!buf){return false}let i=0;const len=buf.length;while(i=194&&buf[i]<=223){if(buf[i+1]>>6===2){i+=2;continue}else{return false}}if((buf[i]===224&&buf[i+1]>=160&&buf[i+1]<=191||buf[i]===237&&buf[i+1]>=128&&buf[i+1]<=159)&&buf[i+2]>>6===2){i+=3;continue}if((buf[i]>=225&&buf[i]<=236||buf[i]>=238&&buf[i]<=239)&&buf[i+1]>>6===2&&buf[i+2]>>6===2){i+=3;continue}if((buf[i]===240&&buf[i+1]>=144&&buf[i+1]<=191||buf[i]>=241&&buf[i]<=243&&buf[i+1]>>6===2||buf[i]===244&&buf[i+1]>=128&&buf[i+1]<=143)&&buf[i+2]>>6===2&&buf[i+3]>>6===2){i+=4;continue}return false}return true}module.exports=isUtf8},{}],10:[function(require,module,exports){"use strict";function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;iarr.length)len=arr.length;for(var i=0,arr2=new Array(len);i=to){return[]}return new Array(to-from).fill().map(function(_,i){return i+from})}},{key:"hexToInt",value:function hexToInt(hexString){if(hexString===undefined||hexString===null){return hexString}return Number.parseInt(hexString,16)}},{key:"intToHex",value:function intToHex(_int){if(_int===undefined||_int===null){return _int}var hexString=_int.toString(16);return"0x"+hexString}},{key:"messageToBuffer",value:function messageToBuffer(message){var buffer=_buffer.Buffer.from([]);try{if(typeof message==="string"){buffer=_buffer.Buffer.from(message.replace("0x",""),"hex")}else{buffer=_buffer.Buffer.from(message)}}catch(err){console.log("messageToBuffer error: ".concat(err))}return buffer}},{key:"bufferToHex",value:function bufferToHex(buf){return"0x"+_buffer.Buffer.from(buf).toString("hex")}}]);return Utils}();module.exports=Utils},{buffer:6}]},{},[4]); \ No newline at end of file +(function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c="function"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error("Cannot find module '"+i+"'");throw a.code="MODULE_NOT_FOUND",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u="function"==typeof require&&require,i=0;i=o.length)return{done:true};return{done:false,value:o[i++]}},e:function e(_e){throw _e},f:F}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var normalCompletion=true,didErr=false,err;return{s:function s(){it=it.call(o)},n:function n(){var step=it.next();normalCompletion=step.done;return step},e:function e(_e2){didErr=true;err=_e2},f:function f(){try{if(!normalCompletion&&it["return"]!=null)it["return"]()}finally{if(didErr)throw err}}}}function _unsupportedIterableToArray(o,minLen){if(!o)return;if(typeof o==="string")return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(o);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen)}function _arrayLikeToArray(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i1&&arguments[1]!==undefined?arguments[1]:true;this.idMapping.tryFixId(payload);return new Promise(function(resolve,reject){if(!payload.id){payload.id=_utils["default"].genId()}_this2.callbacks.set(payload.id,function(error,data){setTimeout(function(){if(error){reject(error)}else{resolve(data)}},1)});_this2.wrapResults.set(payload.id,wrapResult);switch(payload.method){case"eth_accounts":case"eth_coinbase":case"net_version":case"eth_chainId":case"eth_sign":case"personal_sign":case"personal_ecRecover":case"eth_signTypedData_v3":case"eth_signTypedData":case"eth_signTypedData_v4":case"eth_sendTransaction":case"eth_requestAccounts":case"wallet_addEthereumChain":case"wallet_switchEthereumChain":case"wallet_requestPermissions":case"wallet_getPermissions":return _this2._processPayload(payload);case"eth_newFilter":case"eth_newBlockFilter":case"eth_newPendingTransactionFilter":case"eth_uninstallFilter":case"eth_subscribe":throw new _error["default"](4200,"big wallet does not support ".concat(payload.method));default:return _this2.rpc.call(payload)}})}},{key:"_processPayload",value:function _processPayload(payload){if(!this.didGetLatestConfiguration){this.pendingPayloads.push(payload);return}switch(payload.method){case"eth_accounts":return this.sendResponse(payload.id,this.eth_accounts());case"eth_coinbase":return this.sendResponse(payload.id,this.eth_coinbase());case"net_version":return this.sendResponse(payload.id,this.net_version());case"eth_chainId":return this.sendResponse(payload.id,this.eth_chainId());case"eth_sign":return this.eth_sign(payload);case"personal_sign":return this.personal_sign(payload);case"personal_ecRecover":return this.personal_ecRecover(payload);case"eth_signTypedData_v3":return this.eth_signTypedData(payload,false);case"eth_signTypedData":case"eth_signTypedData_v4":return this.eth_signTypedData(payload,true);case"eth_sendTransaction":return this.eth_sendTransaction(payload);case"eth_requestAccounts":if(!this.address){return this.eth_requestAccounts(payload)}else{return this.sendResponse(payload.id,this.eth_accounts())}case"wallet_addEthereumChain":return this.wallet_addEthereumChain(payload);case"wallet_switchEthereumChain":return this.wallet_switchEthereumChain(payload);case"wallet_requestPermissions":case"wallet_getPermissions":var permissions=[{parentCapability:"eth_accounts"}];return this.sendResponse(payload.id,permissions)}}},{key:"emitConnect",value:function emitConnect(chainId){this.emit("connect",{chainId:chainId})}},{key:"eth_accounts",value:function eth_accounts(){return this.address?[this.address]:[]}},{key:"eth_coinbase",value:function eth_coinbase(){return this.address}},{key:"net_version",value:function net_version(){return parseInt(this.chainId,16).toString(10)||null}},{key:"eth_chainId",value:function eth_chainId(){return this.chainId}},{key:"eth_sign",value:function eth_sign(payload){var buffer=_utils["default"].messageToBuffer(payload.params[1]);var hex=_utils["default"].bufferToHex(buffer);if((0,_isutf["default"])(buffer)){this.postMessage("signPersonalMessage",payload.id,{data:hex})}else{this.postMessage("signMessage",payload.id,{data:hex})}}},{key:"personal_sign",value:function personal_sign(payload){var message=payload.params[0];var buffer=_utils["default"].messageToBuffer(message);if(buffer.length===0){var hex=_utils["default"].bufferToHex(message);this.postMessage("signPersonalMessage",payload.id,{data:hex})}else{this.postMessage("signPersonalMessage",payload.id,{data:message})}}},{key:"personal_ecRecover",value:function personal_ecRecover(payload){this.postMessage("ecRecover",payload.id,{signature:payload.params[1],message:payload.params[0]})}},{key:"eth_signTypedData",value:function eth_signTypedData(payload,useV4){this.postMessage("signTypedMessage",payload.id,{raw:payload.params[1]})}},{key:"eth_sendTransaction",value:function eth_sendTransaction(payload){this.postMessage("signTransaction",payload.id,payload.params[0])}},{key:"eth_requestAccounts",value:function eth_requestAccounts(payload){this.postMessage("requestAccounts",payload.id,{})}},{key:"wallet_watchAsset",value:function wallet_watchAsset(payload){var options=payload.params.options;this.postMessage("watchAsset",payload.id,{type:payload.type,contract:options.address,symbol:options.symbol,decimals:options.decimals||0})}},{key:"wallet_switchEthereumChain",value:function wallet_switchEthereumChain(payload){if(this.chainId!=payload.params[0].chainId){this.postMessage("switchEthereumChain",payload.id,payload.params[0])}else{this.sendResponse(payload.id,[this.address])}}},{key:"wallet_addEthereumChain",value:function wallet_addEthereumChain(payload){this.postMessage("addEthereumChain",payload.id,payload.params[0])}},{key:"processBigWalletResponse",value:function processBigWalletResponse(id,response){if(response.name=="didLoadLatestConfiguration"){this.didGetLatestConfiguration=true;if(response.chainId){this.updateAccount(response.name,response.results,response.chainId)}var _iterator=_createForOfIteratorHelper(this.pendingPayloads),_step;try{for(_iterator.s();!(_step=_iterator.n()).done;){var payload=_step.value;this._processPayload(payload)}}catch(err){_iterator.e(err)}finally{_iterator.f()}this.pendingPayloads=[];return}if("result"in response){this.sendResponse(id,response.result)}else if("results"in response){if(response.name=="switchEthereumChain"||response.name=="addEthereumChain"){this.updateAccount(response.name,response.results,response.chainId)}if(response.name!="switchAccount"){this.sendResponse(id,response.results)}if(response.name=="requestAccounts"||response.name=="switchAccount"){this.updateAccount(response.name,response.results,response.chainId)}}else if("error"in response){this.sendError(id,response.error)}}},{key:"postMessage",value:function postMessage(handler,id,data){if(this.ready||handler==="requestAccounts"||handler==="switchEthereumChain"||handler==="addEthereumChain"){var object={object:data,address:this.address,chainId:this.chainId};window.bigwallet.postMessage(handler,id,object,"ethereum")}else{this.sendError(id,new _error["default"](4100,"provider is not ready"))}}},{key:"sendResponse",value:function sendResponse(id,result){var originId=this.idMapping.tryPopId(id)||id;var callback=this.callbacks.get(id);var wrapResult=this.wrapResults.get(id);var data={jsonrpc:"2.0",id:originId};if(result!==null&&result.result){data.result=result.result}else{data.result=result}if(callback){wrapResult?callback(null,data):callback(null,data.result);this.callbacks["delete"](id);this.wrapResults["delete"](id)}else{console.log("callback id: ".concat(id," not found"))}}},{key:"sendError",value:function sendError(id,error){console.log("<== ".concat(id," sendError ").concat(error));var callback=this.callbacks.get(id);if(callback){callback(error instanceof Error?error:new Error(error),null);this.callbacks["delete"](id);this.wrapResults["delete"](id)}}}]);return BigWalletEthereum}(_events.EventEmitter);module.exports=BigWalletEthereum},{"./error":1,"./id_mapping":3,"./rpc":10,"./utils":11,events:7,isutf8:9}],3:[function(require,module,exports){"use strict";var _utils=_interopRequireDefault(require("./utils"));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i=o.length)return{done:true};return{done:false,value:o[i++]}},e:function e(_e){throw _e},f:F}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var normalCompletion=true,didErr=false,err;return{s:function s(){it=it.call(o)},n:function n(){var step=it.next();normalCompletion=step.done;return step},e:function e(_e2){didErr=true;err=_e2},f:function f(){try{if(!normalCompletion&&it["return"]!=null)it["return"]()}finally{if(didErr)throw err}}}}function _unsupportedIterableToArray(o,minLen){if(!o)return;if(typeof o==="string")return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(o);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen)}function _arrayLikeToArray(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i0){throw new Error("Invalid string. Length must be a multiple of 4")}var validLen=b64.indexOf("=");if(validLen===-1)validLen=len;var placeHoldersLen=validLen===len?0:4-validLen%4;return[validLen,placeHoldersLen]}function byteLength(b64){var lens=getLens(b64);var validLen=lens[0];var placeHoldersLen=lens[1];return(validLen+placeHoldersLen)*3/4-placeHoldersLen}function _byteLength(b64,validLen,placeHoldersLen){return(validLen+placeHoldersLen)*3/4-placeHoldersLen}function toByteArray(b64){var tmp;var lens=getLens(b64);var validLen=lens[0];var placeHoldersLen=lens[1];var arr=new Arr(_byteLength(b64,validLen,placeHoldersLen));var curByte=0;var len=placeHoldersLen>0?validLen-4:validLen;var i;for(i=0;i>16&255;arr[curByte++]=tmp>>8&255;arr[curByte++]=tmp&255}if(placeHoldersLen===2){tmp=revLookup[b64.charCodeAt(i)]<<2|revLookup[b64.charCodeAt(i+1)]>>4;arr[curByte++]=tmp&255}if(placeHoldersLen===1){tmp=revLookup[b64.charCodeAt(i)]<<10|revLookup[b64.charCodeAt(i+1)]<<4|revLookup[b64.charCodeAt(i+2)]>>2;arr[curByte++]=tmp>>8&255;arr[curByte++]=tmp&255}return arr}function tripletToBase64(num){return lookup[num>>18&63]+lookup[num>>12&63]+lookup[num>>6&63]+lookup[num&63]}function encodeChunk(uint8,start,end){var tmp;var output=[];for(var i=start;ilen2?len2:i+maxChunkLength))}if(extraBytes===1){tmp=uint8[len-1];parts.push(lookup[tmp>>2]+lookup[tmp<<4&63]+"==")}else if(extraBytes===2){tmp=(uint8[len-2]<<8)+uint8[len-1];parts.push(lookup[tmp>>10]+lookup[tmp>>4&63]+lookup[tmp<<2&63]+"=")}return parts.join("")}},{}],6:[function(require,module,exports){(function(Buffer){(function(){"use strict";var base64=require("base64-js");var ieee754=require("ieee754");exports.Buffer=Buffer;exports.SlowBuffer=SlowBuffer;exports.INSPECT_MAX_BYTES=50;var K_MAX_LENGTH=2147483647;exports.kMaxLength=K_MAX_LENGTH;Buffer.TYPED_ARRAY_SUPPORT=typedArraySupport();if(!Buffer.TYPED_ARRAY_SUPPORT&&typeof console!=="undefined"&&typeof console.error==="function"){console.error("This browser lacks typed array (Uint8Array) support which is required by "+"`buffer` v5.x. Use `buffer` v4.x if you require old browser support.")}function typedArraySupport(){try{var arr=new Uint8Array(1);arr.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}};return arr.foo()===42}catch(e){return false}}Object.defineProperty(Buffer.prototype,"parent",{enumerable:true,get:function(){if(!Buffer.isBuffer(this))return undefined;return this.buffer}});Object.defineProperty(Buffer.prototype,"offset",{enumerable:true,get:function(){if(!Buffer.isBuffer(this))return undefined;return this.byteOffset}});function createBuffer(length){if(length>K_MAX_LENGTH){throw new RangeError('The value "'+length+'" is invalid for option "size"')}var buf=new Uint8Array(length);buf.__proto__=Buffer.prototype;return buf}function Buffer(arg,encodingOrOffset,length){if(typeof arg==="number"){if(typeof encodingOrOffset==="string"){throw new TypeError('The "string" argument must be of type string. Received type number')}return allocUnsafe(arg)}return from(arg,encodingOrOffset,length)}if(typeof Symbol!=="undefined"&&Symbol.species!=null&&Buffer[Symbol.species]===Buffer){Object.defineProperty(Buffer,Symbol.species,{value:null,configurable:true,enumerable:false,writable:false})}Buffer.poolSize=8192;function from(value,encodingOrOffset,length){if(typeof value==="string"){return fromString(value,encodingOrOffset)}if(ArrayBuffer.isView(value)){return fromArrayLike(value)}if(value==null){throw TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, "+"or Array-like Object. Received type "+typeof value)}if(isInstance(value,ArrayBuffer)||value&&isInstance(value.buffer,ArrayBuffer)){return fromArrayBuffer(value,encodingOrOffset,length)}if(typeof value==="number"){throw new TypeError('The "value" argument must not be of type number. Received type number')}var valueOf=value.valueOf&&value.valueOf();if(valueOf!=null&&valueOf!==value){return Buffer.from(valueOf,encodingOrOffset,length)}var b=fromObject(value);if(b)return b;if(typeof Symbol!=="undefined"&&Symbol.toPrimitive!=null&&typeof value[Symbol.toPrimitive]==="function"){return Buffer.from(value[Symbol.toPrimitive]("string"),encodingOrOffset,length)}throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, "+"or Array-like Object. Received type "+typeof value)}Buffer.from=function(value,encodingOrOffset,length){return from(value,encodingOrOffset,length)};Buffer.prototype.__proto__=Uint8Array.prototype;Buffer.__proto__=Uint8Array;function assertSize(size){if(typeof size!=="number"){throw new TypeError('"size" argument must be of type number')}else if(size<0){throw new RangeError('The value "'+size+'" is invalid for option "size"')}}function alloc(size,fill,encoding){assertSize(size);if(size<=0){return createBuffer(size)}if(fill!==undefined){return typeof encoding==="string"?createBuffer(size).fill(fill,encoding):createBuffer(size).fill(fill)}return createBuffer(size)}Buffer.alloc=function(size,fill,encoding){return alloc(size,fill,encoding)};function allocUnsafe(size){assertSize(size);return createBuffer(size<0?0:checked(size)|0)}Buffer.allocUnsafe=function(size){return allocUnsafe(size)};Buffer.allocUnsafeSlow=function(size){return allocUnsafe(size)};function fromString(string,encoding){if(typeof encoding!=="string"||encoding===""){encoding="utf8"}if(!Buffer.isEncoding(encoding)){throw new TypeError("Unknown encoding: "+encoding)}var length=byteLength(string,encoding)|0;var buf=createBuffer(length);var actual=buf.write(string,encoding);if(actual!==length){buf=buf.slice(0,actual)}return buf}function fromArrayLike(array){var length=array.length<0?0:checked(array.length)|0;var buf=createBuffer(length);for(var i=0;i=K_MAX_LENGTH){throw new RangeError("Attempt to allocate Buffer larger than maximum "+"size: 0x"+K_MAX_LENGTH.toString(16)+" bytes")}return length|0}function SlowBuffer(length){if(+length!=length){length=0}return Buffer.alloc(+length)}Buffer.isBuffer=function isBuffer(b){return b!=null&&b._isBuffer===true&&b!==Buffer.prototype};Buffer.compare=function compare(a,b){if(isInstance(a,Uint8Array))a=Buffer.from(a,a.offset,a.byteLength);if(isInstance(b,Uint8Array))b=Buffer.from(b,b.offset,b.byteLength);if(!Buffer.isBuffer(a)||!Buffer.isBuffer(b)){throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array')}if(a===b)return 0;var x=a.length;var y=b.length;for(var i=0,len=Math.min(x,y);i2&&arguments[2]===true;if(!mustMatch&&len===0)return 0;var loweredCase=false;for(;;){switch(encoding){case"ascii":case"latin1":case"binary":return len;case"utf8":case"utf-8":return utf8ToBytes(string).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return len*2;case"hex":return len>>>1;case"base64":return base64ToBytes(string).length;default:if(loweredCase){return mustMatch?-1:utf8ToBytes(string).length}encoding=(""+encoding).toLowerCase();loweredCase=true}}}Buffer.byteLength=byteLength;function slowToString(encoding,start,end){var loweredCase=false;if(start===undefined||start<0){start=0}if(start>this.length){return""}if(end===undefined||end>this.length){end=this.length}if(end<=0){return""}end>>>=0;start>>>=0;if(end<=start){return""}if(!encoding)encoding="utf8";while(true){switch(encoding){case"hex":return hexSlice(this,start,end);case"utf8":case"utf-8":return utf8Slice(this,start,end);case"ascii":return asciiSlice(this,start,end);case"latin1":case"binary":return latin1Slice(this,start,end);case"base64":return base64Slice(this,start,end);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return utf16leSlice(this,start,end);default:if(loweredCase)throw new TypeError("Unknown encoding: "+encoding);encoding=(encoding+"").toLowerCase();loweredCase=true}}}Buffer.prototype._isBuffer=true;function swap(b,n,m){var i=b[n];b[n]=b[m];b[m]=i}Buffer.prototype.swap16=function swap16(){var len=this.length;if(len%2!==0){throw new RangeError("Buffer size must be a multiple of 16-bits")}for(var i=0;imax)str+=" ... ";return""};Buffer.prototype.compare=function compare(target,start,end,thisStart,thisEnd){if(isInstance(target,Uint8Array)){target=Buffer.from(target,target.offset,target.byteLength)}if(!Buffer.isBuffer(target)){throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. '+"Received type "+typeof target)}if(start===undefined){start=0}if(end===undefined){end=target?target.length:0}if(thisStart===undefined){thisStart=0}if(thisEnd===undefined){thisEnd=this.length}if(start<0||end>target.length||thisStart<0||thisEnd>this.length){throw new RangeError("out of range index")}if(thisStart>=thisEnd&&start>=end){return 0}if(thisStart>=thisEnd){return-1}if(start>=end){return 1}start>>>=0;end>>>=0;thisStart>>>=0;thisEnd>>>=0;if(this===target)return 0;var x=thisEnd-thisStart;var y=end-start;var len=Math.min(x,y);var thisCopy=this.slice(thisStart,thisEnd);var targetCopy=target.slice(start,end);for(var i=0;i2147483647){byteOffset=2147483647}else if(byteOffset<-2147483648){byteOffset=-2147483648}byteOffset=+byteOffset;if(numberIsNaN(byteOffset)){byteOffset=dir?0:buffer.length-1}if(byteOffset<0)byteOffset=buffer.length+byteOffset;if(byteOffset>=buffer.length){if(dir)return-1;else byteOffset=buffer.length-1}else if(byteOffset<0){if(dir)byteOffset=0;else return-1}if(typeof val==="string"){val=Buffer.from(val,encoding)}if(Buffer.isBuffer(val)){if(val.length===0){return-1}return arrayIndexOf(buffer,val,byteOffset,encoding,dir)}else if(typeof val==="number"){val=val&255;if(typeof Uint8Array.prototype.indexOf==="function"){if(dir){return Uint8Array.prototype.indexOf.call(buffer,val,byteOffset)}else{return Uint8Array.prototype.lastIndexOf.call(buffer,val,byteOffset)}}return arrayIndexOf(buffer,[val],byteOffset,encoding,dir)}throw new TypeError("val must be string, number or Buffer")}function arrayIndexOf(arr,val,byteOffset,encoding,dir){var indexSize=1;var arrLength=arr.length;var valLength=val.length;if(encoding!==undefined){encoding=String(encoding).toLowerCase();if(encoding==="ucs2"||encoding==="ucs-2"||encoding==="utf16le"||encoding==="utf-16le"){if(arr.length<2||val.length<2){return-1}indexSize=2;arrLength/=2;valLength/=2;byteOffset/=2}}function read(buf,i){if(indexSize===1){return buf[i]}else{return buf.readUInt16BE(i*indexSize)}}var i;if(dir){var foundIndex=-1;for(i=byteOffset;iarrLength)byteOffset=arrLength-valLength;for(i=byteOffset;i>=0;i--){var found=true;for(var j=0;jremaining){length=remaining}}var strLen=string.length;if(length>strLen/2){length=strLen/2}for(var i=0;i>>0;if(isFinite(length)){length=length>>>0;if(encoding===undefined)encoding="utf8"}else{encoding=length;length=undefined}}else{throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported")}var remaining=this.length-offset;if(length===undefined||length>remaining)length=remaining;if(string.length>0&&(length<0||offset<0)||offset>this.length){throw new RangeError("Attempt to write outside buffer bounds")}if(!encoding)encoding="utf8";var loweredCase=false;for(;;){switch(encoding){case"hex":return hexWrite(this,string,offset,length);case"utf8":case"utf-8":return utf8Write(this,string,offset,length);case"ascii":return asciiWrite(this,string,offset,length);case"latin1":case"binary":return latin1Write(this,string,offset,length);case"base64":return base64Write(this,string,offset,length);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return ucs2Write(this,string,offset,length);default:if(loweredCase)throw new TypeError("Unknown encoding: "+encoding);encoding=(""+encoding).toLowerCase();loweredCase=true}}};Buffer.prototype.toJSON=function toJSON(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function base64Slice(buf,start,end){if(start===0&&end===buf.length){return base64.fromByteArray(buf)}else{return base64.fromByteArray(buf.slice(start,end))}}function utf8Slice(buf,start,end){end=Math.min(buf.length,end);var res=[];var i=start;while(i239?4:firstByte>223?3:firstByte>191?2:1;if(i+bytesPerSequence<=end){var secondByte,thirdByte,fourthByte,tempCodePoint;switch(bytesPerSequence){case 1:if(firstByte<128){codePoint=firstByte}break;case 2:secondByte=buf[i+1];if((secondByte&192)===128){tempCodePoint=(firstByte&31)<<6|secondByte&63;if(tempCodePoint>127){codePoint=tempCodePoint}}break;case 3:secondByte=buf[i+1];thirdByte=buf[i+2];if((secondByte&192)===128&&(thirdByte&192)===128){tempCodePoint=(firstByte&15)<<12|(secondByte&63)<<6|thirdByte&63;if(tempCodePoint>2047&&(tempCodePoint<55296||tempCodePoint>57343)){codePoint=tempCodePoint}}break;case 4:secondByte=buf[i+1];thirdByte=buf[i+2];fourthByte=buf[i+3];if((secondByte&192)===128&&(thirdByte&192)===128&&(fourthByte&192)===128){tempCodePoint=(firstByte&15)<<18|(secondByte&63)<<12|(thirdByte&63)<<6|fourthByte&63;if(tempCodePoint>65535&&tempCodePoint<1114112){codePoint=tempCodePoint}}}}if(codePoint===null){codePoint=65533;bytesPerSequence=1}else if(codePoint>65535){codePoint-=65536;res.push(codePoint>>>10&1023|55296);codePoint=56320|codePoint&1023}res.push(codePoint);i+=bytesPerSequence}return decodeCodePointsArray(res)}var MAX_ARGUMENTS_LENGTH=4096;function decodeCodePointsArray(codePoints){var len=codePoints.length;if(len<=MAX_ARGUMENTS_LENGTH){return String.fromCharCode.apply(String,codePoints)}var res="";var i=0;while(ilen)end=len;var out="";for(var i=start;ilen){start=len}if(end<0){end+=len;if(end<0)end=0}else if(end>len){end=len}if(endlength)throw new RangeError("Trying to access beyond buffer length")}Buffer.prototype.readUIntLE=function readUIntLE(offset,byteLength,noAssert){offset=offset>>>0;byteLength=byteLength>>>0;if(!noAssert)checkOffset(offset,byteLength,this.length);var val=this[offset];var mul=1;var i=0;while(++i>>0;byteLength=byteLength>>>0;if(!noAssert){checkOffset(offset,byteLength,this.length)}var val=this[offset+--byteLength];var mul=1;while(byteLength>0&&(mul*=256)){val+=this[offset+--byteLength]*mul}return val};Buffer.prototype.readUInt8=function readUInt8(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,1,this.length);return this[offset]};Buffer.prototype.readUInt16LE=function readUInt16LE(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,2,this.length);return this[offset]|this[offset+1]<<8};Buffer.prototype.readUInt16BE=function readUInt16BE(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,2,this.length);return this[offset]<<8|this[offset+1]};Buffer.prototype.readUInt32LE=function readUInt32LE(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,4,this.length);return(this[offset]|this[offset+1]<<8|this[offset+2]<<16)+this[offset+3]*16777216};Buffer.prototype.readUInt32BE=function readUInt32BE(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,4,this.length);return this[offset]*16777216+(this[offset+1]<<16|this[offset+2]<<8|this[offset+3])};Buffer.prototype.readIntLE=function readIntLE(offset,byteLength,noAssert){offset=offset>>>0;byteLength=byteLength>>>0;if(!noAssert)checkOffset(offset,byteLength,this.length);var val=this[offset];var mul=1;var i=0;while(++i=mul)val-=Math.pow(2,8*byteLength);return val};Buffer.prototype.readIntBE=function readIntBE(offset,byteLength,noAssert){offset=offset>>>0;byteLength=byteLength>>>0;if(!noAssert)checkOffset(offset,byteLength,this.length);var i=byteLength;var mul=1;var val=this[offset+--i];while(i>0&&(mul*=256)){val+=this[offset+--i]*mul}mul*=128;if(val>=mul)val-=Math.pow(2,8*byteLength);return val};Buffer.prototype.readInt8=function readInt8(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,1,this.length);if(!(this[offset]&128))return this[offset];return(255-this[offset]+1)*-1};Buffer.prototype.readInt16LE=function readInt16LE(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,2,this.length);var val=this[offset]|this[offset+1]<<8;return val&32768?val|4294901760:val};Buffer.prototype.readInt16BE=function readInt16BE(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,2,this.length);var val=this[offset+1]|this[offset]<<8;return val&32768?val|4294901760:val};Buffer.prototype.readInt32LE=function readInt32LE(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,4,this.length);return this[offset]|this[offset+1]<<8|this[offset+2]<<16|this[offset+3]<<24};Buffer.prototype.readInt32BE=function readInt32BE(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,4,this.length);return this[offset]<<24|this[offset+1]<<16|this[offset+2]<<8|this[offset+3]};Buffer.prototype.readFloatLE=function readFloatLE(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,4,this.length);return ieee754.read(this,offset,true,23,4)};Buffer.prototype.readFloatBE=function readFloatBE(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,4,this.length);return ieee754.read(this,offset,false,23,4)};Buffer.prototype.readDoubleLE=function readDoubleLE(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,8,this.length);return ieee754.read(this,offset,true,52,8)};Buffer.prototype.readDoubleBE=function readDoubleBE(offset,noAssert){offset=offset>>>0;if(!noAssert)checkOffset(offset,8,this.length);return ieee754.read(this,offset,false,52,8)};function checkInt(buf,value,offset,ext,max,min){if(!Buffer.isBuffer(buf))throw new TypeError('"buffer" argument must be a Buffer instance');if(value>max||valuebuf.length)throw new RangeError("Index out of range")}Buffer.prototype.writeUIntLE=function writeUIntLE(value,offset,byteLength,noAssert){value=+value;offset=offset>>>0;byteLength=byteLength>>>0;if(!noAssert){var maxBytes=Math.pow(2,8*byteLength)-1;checkInt(this,value,offset,byteLength,maxBytes,0)}var mul=1;var i=0;this[offset]=value&255;while(++i>>0;byteLength=byteLength>>>0;if(!noAssert){var maxBytes=Math.pow(2,8*byteLength)-1;checkInt(this,value,offset,byteLength,maxBytes,0)}var i=byteLength-1;var mul=1;this[offset+i]=value&255;while(--i>=0&&(mul*=256)){this[offset+i]=value/mul&255}return offset+byteLength};Buffer.prototype.writeUInt8=function writeUInt8(value,offset,noAssert){value=+value;offset=offset>>>0;if(!noAssert)checkInt(this,value,offset,1,255,0);this[offset]=value&255;return offset+1};Buffer.prototype.writeUInt16LE=function writeUInt16LE(value,offset,noAssert){value=+value;offset=offset>>>0;if(!noAssert)checkInt(this,value,offset,2,65535,0);this[offset]=value&255;this[offset+1]=value>>>8;return offset+2};Buffer.prototype.writeUInt16BE=function writeUInt16BE(value,offset,noAssert){value=+value;offset=offset>>>0;if(!noAssert)checkInt(this,value,offset,2,65535,0);this[offset]=value>>>8;this[offset+1]=value&255;return offset+2};Buffer.prototype.writeUInt32LE=function writeUInt32LE(value,offset,noAssert){value=+value;offset=offset>>>0;if(!noAssert)checkInt(this,value,offset,4,4294967295,0);this[offset+3]=value>>>24;this[offset+2]=value>>>16;this[offset+1]=value>>>8;this[offset]=value&255;return offset+4};Buffer.prototype.writeUInt32BE=function writeUInt32BE(value,offset,noAssert){value=+value;offset=offset>>>0;if(!noAssert)checkInt(this,value,offset,4,4294967295,0);this[offset]=value>>>24;this[offset+1]=value>>>16;this[offset+2]=value>>>8;this[offset+3]=value&255;return offset+4};Buffer.prototype.writeIntLE=function writeIntLE(value,offset,byteLength,noAssert){value=+value;offset=offset>>>0;if(!noAssert){var limit=Math.pow(2,8*byteLength-1);checkInt(this,value,offset,byteLength,limit-1,-limit)}var i=0;var mul=1;var sub=0;this[offset]=value&255;while(++i>0)-sub&255}return offset+byteLength};Buffer.prototype.writeIntBE=function writeIntBE(value,offset,byteLength,noAssert){value=+value;offset=offset>>>0;if(!noAssert){var limit=Math.pow(2,8*byteLength-1);checkInt(this,value,offset,byteLength,limit-1,-limit)}var i=byteLength-1;var mul=1;var sub=0;this[offset+i]=value&255;while(--i>=0&&(mul*=256)){if(value<0&&sub===0&&this[offset+i+1]!==0){sub=1}this[offset+i]=(value/mul>>0)-sub&255}return offset+byteLength};Buffer.prototype.writeInt8=function writeInt8(value,offset,noAssert){value=+value;offset=offset>>>0;if(!noAssert)checkInt(this,value,offset,1,127,-128);if(value<0)value=255+value+1;this[offset]=value&255;return offset+1};Buffer.prototype.writeInt16LE=function writeInt16LE(value,offset,noAssert){value=+value;offset=offset>>>0;if(!noAssert)checkInt(this,value,offset,2,32767,-32768);this[offset]=value&255;this[offset+1]=value>>>8;return offset+2};Buffer.prototype.writeInt16BE=function writeInt16BE(value,offset,noAssert){value=+value;offset=offset>>>0;if(!noAssert)checkInt(this,value,offset,2,32767,-32768);this[offset]=value>>>8;this[offset+1]=value&255;return offset+2};Buffer.prototype.writeInt32LE=function writeInt32LE(value,offset,noAssert){value=+value;offset=offset>>>0;if(!noAssert)checkInt(this,value,offset,4,2147483647,-2147483648);this[offset]=value&255;this[offset+1]=value>>>8;this[offset+2]=value>>>16;this[offset+3]=value>>>24;return offset+4};Buffer.prototype.writeInt32BE=function writeInt32BE(value,offset,noAssert){value=+value;offset=offset>>>0;if(!noAssert)checkInt(this,value,offset,4,2147483647,-2147483648);if(value<0)value=4294967295+value+1;this[offset]=value>>>24;this[offset+1]=value>>>16;this[offset+2]=value>>>8;this[offset+3]=value&255;return offset+4};function checkIEEE754(buf,value,offset,ext,max,min){if(offset+ext>buf.length)throw new RangeError("Index out of range");if(offset<0)throw new RangeError("Index out of range")}function writeFloat(buf,value,offset,littleEndian,noAssert){value=+value;offset=offset>>>0;if(!noAssert){checkIEEE754(buf,value,offset,4,34028234663852886e22,-34028234663852886e22)}ieee754.write(buf,value,offset,littleEndian,23,4);return offset+4}Buffer.prototype.writeFloatLE=function writeFloatLE(value,offset,noAssert){return writeFloat(this,value,offset,true,noAssert)};Buffer.prototype.writeFloatBE=function writeFloatBE(value,offset,noAssert){return writeFloat(this,value,offset,false,noAssert)};function writeDouble(buf,value,offset,littleEndian,noAssert){value=+value;offset=offset>>>0;if(!noAssert){checkIEEE754(buf,value,offset,8,17976931348623157e292,-17976931348623157e292)}ieee754.write(buf,value,offset,littleEndian,52,8);return offset+8}Buffer.prototype.writeDoubleLE=function writeDoubleLE(value,offset,noAssert){return writeDouble(this,value,offset,true,noAssert)};Buffer.prototype.writeDoubleBE=function writeDoubleBE(value,offset,noAssert){return writeDouble(this,value,offset,false,noAssert)};Buffer.prototype.copy=function copy(target,targetStart,start,end){if(!Buffer.isBuffer(target))throw new TypeError("argument should be a Buffer");if(!start)start=0;if(!end&&end!==0)end=this.length;if(targetStart>=target.length)targetStart=target.length;if(!targetStart)targetStart=0;if(end>0&&end=this.length)throw new RangeError("Index out of range");if(end<0)throw new RangeError("sourceEnd out of bounds");if(end>this.length)end=this.length;if(target.length-targetStart=0;--i){target[i+targetStart]=this[i+start]}}else{Uint8Array.prototype.set.call(target,this.subarray(start,end),targetStart)}return len};Buffer.prototype.fill=function fill(val,start,end,encoding){if(typeof val==="string"){if(typeof start==="string"){encoding=start;start=0;end=this.length}else if(typeof end==="string"){encoding=end;end=this.length}if(encoding!==undefined&&typeof encoding!=="string"){throw new TypeError("encoding must be a string")}if(typeof encoding==="string"&&!Buffer.isEncoding(encoding)){throw new TypeError("Unknown encoding: "+encoding)}if(val.length===1){var code=val.charCodeAt(0);if(encoding==="utf8"&&code<128||encoding==="latin1"){val=code}}}else if(typeof val==="number"){val=val&255}if(start<0||this.length>>0;end=end===undefined?this.length:end>>>0;if(!val)val=0;var i;if(typeof val==="number"){for(i=start;i55295&&codePoint<57344){if(!leadSurrogate){if(codePoint>56319){if((units-=3)>-1)bytes.push(239,191,189);continue}else if(i+1===length){if((units-=3)>-1)bytes.push(239,191,189);continue}leadSurrogate=codePoint;continue}if(codePoint<56320){if((units-=3)>-1)bytes.push(239,191,189);leadSurrogate=codePoint;continue}codePoint=(leadSurrogate-55296<<10|codePoint-56320)+65536}else if(leadSurrogate){if((units-=3)>-1)bytes.push(239,191,189)}leadSurrogate=null;if(codePoint<128){if((units-=1)<0)break;bytes.push(codePoint)}else if(codePoint<2048){if((units-=2)<0)break;bytes.push(codePoint>>6|192,codePoint&63|128)}else if(codePoint<65536){if((units-=3)<0)break;bytes.push(codePoint>>12|224,codePoint>>6&63|128,codePoint&63|128)}else if(codePoint<1114112){if((units-=4)<0)break;bytes.push(codePoint>>18|240,codePoint>>12&63|128,codePoint>>6&63|128,codePoint&63|128)}else{throw new Error("Invalid code point")}}return bytes}function asciiToBytes(str){var byteArray=[];for(var i=0;i>8;lo=c%256;byteArray.push(lo);byteArray.push(hi)}return byteArray}function base64ToBytes(str){return base64.toByteArray(base64clean(str))}function blitBuffer(src,dst,offset,length){for(var i=0;i=dst.length||i>=src.length)break;dst[i+offset]=src[i]}return i}function isInstance(obj,type){return obj instanceof type||obj!=null&&obj.constructor!=null&&obj.constructor.name!=null&&obj.constructor.name===type.name}function numberIsNaN(obj){return obj!==obj}}).call(this)}).call(this,require("buffer").Buffer)},{"base64-js":5,buffer:6,ieee754:8}],7:[function(require,module,exports){"use strict";var R=typeof Reflect==="object"?Reflect:null;var ReflectApply=R&&typeof R.apply==="function"?R.apply:function ReflectApply(target,receiver,args){return Function.prototype.apply.call(target,receiver,args)};var ReflectOwnKeys;if(R&&typeof R.ownKeys==="function"){ReflectOwnKeys=R.ownKeys}else if(Object.getOwnPropertySymbols){ReflectOwnKeys=function ReflectOwnKeys(target){return Object.getOwnPropertyNames(target).concat(Object.getOwnPropertySymbols(target))}}else{ReflectOwnKeys=function ReflectOwnKeys(target){return Object.getOwnPropertyNames(target)}}function ProcessEmitWarning(warning){if(console&&console.warn)console.warn(warning)}var NumberIsNaN=Number.isNaN||function NumberIsNaN(value){return value!==value};function EventEmitter(){EventEmitter.init.call(this)}module.exports=EventEmitter;module.exports.once=once;EventEmitter.EventEmitter=EventEmitter;EventEmitter.prototype._events=undefined;EventEmitter.prototype._eventsCount=0;EventEmitter.prototype._maxListeners=undefined;var defaultMaxListeners=10;function checkListener(listener){if(typeof listener!=="function"){throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof listener)}}Object.defineProperty(EventEmitter,"defaultMaxListeners",{enumerable:true,get:function(){return defaultMaxListeners},set:function(arg){if(typeof arg!=="number"||arg<0||NumberIsNaN(arg)){throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+arg+".")}defaultMaxListeners=arg}});EventEmitter.init=function(){if(this._events===undefined||this._events===Object.getPrototypeOf(this)._events){this._events=Object.create(null);this._eventsCount=0}this._maxListeners=this._maxListeners||undefined};EventEmitter.prototype.setMaxListeners=function setMaxListeners(n){if(typeof n!=="number"||n<0||NumberIsNaN(n)){throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+n+".")}this._maxListeners=n;return this};function _getMaxListeners(that){if(that._maxListeners===undefined)return EventEmitter.defaultMaxListeners;return that._maxListeners}EventEmitter.prototype.getMaxListeners=function getMaxListeners(){return _getMaxListeners(this)};EventEmitter.prototype.emit=function emit(type){var args=[];for(var i=1;i0)er=args[0];if(er instanceof Error){throw er}var err=new Error("Unhandled error."+(er?" ("+er.message+")":""));err.context=er;throw err}var handler=events[type];if(handler===undefined)return false;if(typeof handler==="function"){ReflectApply(handler,this,args)}else{var len=handler.length;var listeners=arrayClone(handler,len);for(var i=0;i0&&existing.length>m&&!existing.warned){existing.warned=true;var w=new Error("Possible EventEmitter memory leak detected. "+existing.length+" "+String(type)+" listeners "+"added. Use emitter.setMaxListeners() to "+"increase limit");w.name="MaxListenersExceededWarning";w.emitter=target;w.type=type;w.count=existing.length;ProcessEmitWarning(w)}}return target}EventEmitter.prototype.addListener=function addListener(type,listener){return _addListener(this,type,listener,false)};EventEmitter.prototype.on=EventEmitter.prototype.addListener;EventEmitter.prototype.prependListener=function prependListener(type,listener){return _addListener(this,type,listener,true)};function onceWrapper(){if(!this.fired){this.target.removeListener(this.type,this.wrapFn);this.fired=true;if(arguments.length===0)return this.listener.call(this.target);return this.listener.apply(this.target,arguments)}}function _onceWrap(target,type,listener){var state={fired:false,wrapFn:undefined,target:target,type:type,listener:listener};var wrapped=onceWrapper.bind(state);wrapped.listener=listener;state.wrapFn=wrapped;return wrapped}EventEmitter.prototype.once=function once(type,listener){checkListener(listener);this.on(type,_onceWrap(this,type,listener));return this};EventEmitter.prototype.prependOnceListener=function prependOnceListener(type,listener){checkListener(listener);this.prependListener(type,_onceWrap(this,type,listener));return this};EventEmitter.prototype.removeListener=function removeListener(type,listener){var list,events,position,i,originalListener;checkListener(listener);events=this._events;if(events===undefined)return this;list=events[type];if(list===undefined)return this;if(list===listener||list.listener===listener){if(--this._eventsCount===0)this._events=Object.create(null);else{delete events[type];if(events.removeListener)this.emit("removeListener",type,list.listener||listener)}}else if(typeof list!=="function"){position=-1;for(i=list.length-1;i>=0;i--){if(list[i]===listener||list[i].listener===listener){originalListener=list[i].listener;position=i;break}}if(position<0)return this;if(position===0)list.shift();else{spliceOne(list,position)}if(list.length===1)events[type]=list[0];if(events.removeListener!==undefined)this.emit("removeListener",type,originalListener||listener)}return this};EventEmitter.prototype.off=EventEmitter.prototype.removeListener;EventEmitter.prototype.removeAllListeners=function removeAllListeners(type){var listeners,events,i;events=this._events;if(events===undefined)return this;if(events.removeListener===undefined){if(arguments.length===0){this._events=Object.create(null);this._eventsCount=0}else if(events[type]!==undefined){if(--this._eventsCount===0)this._events=Object.create(null);else delete events[type]}return this}if(arguments.length===0){var keys=Object.keys(events);var key;for(i=0;i=0;i--){this.removeListener(type,listeners[i])}}return this};function _listeners(target,type,unwrap){var events=target._events;if(events===undefined)return[];var evlistener=events[type];if(evlistener===undefined)return[];if(typeof evlistener==="function")return unwrap?[evlistener.listener||evlistener]:[evlistener];return unwrap?unwrapListeners(evlistener):arrayClone(evlistener,evlistener.length)}EventEmitter.prototype.listeners=function listeners(type){return _listeners(this,type,true)};EventEmitter.prototype.rawListeners=function rawListeners(type){return _listeners(this,type,false)};EventEmitter.listenerCount=function(emitter,type){if(typeof emitter.listenerCount==="function"){return emitter.listenerCount(type)}else{return listenerCount.call(emitter,type)}};EventEmitter.prototype.listenerCount=listenerCount;function listenerCount(type){var events=this._events;if(events!==undefined){var evlistener=events[type];if(typeof evlistener==="function"){return 1}else if(evlistener!==undefined){return evlistener.length}}return 0}EventEmitter.prototype.eventNames=function eventNames(){return this._eventsCount>0?ReflectOwnKeys(this._events):[]};function arrayClone(arr,n){var copy=new Array(n);for(var i=0;i>1;var nBits=-7;var i=isLE?nBytes-1:0;var d=isLE?-1:1;var s=buffer[offset+i];i+=d;e=s&(1<<-nBits)-1;s>>=-nBits;nBits+=eLen;for(;nBits>0;e=e*256+buffer[offset+i],i+=d,nBits-=8){}m=e&(1<<-nBits)-1;e>>=-nBits;nBits+=mLen;for(;nBits>0;m=m*256+buffer[offset+i],i+=d,nBits-=8){}if(e===0){e=1-eBias}else if(e===eMax){return m?NaN:(s?-1:1)*Infinity}else{m=m+Math.pow(2,mLen);e=e-eBias}return(s?-1:1)*m*Math.pow(2,e-mLen)};exports.write=function(buffer,value,offset,isLE,mLen,nBytes){var e,m,c;var eLen=nBytes*8-mLen-1;var eMax=(1<>1;var rt=mLen===23?Math.pow(2,-24)-Math.pow(2,-77):0;var i=isLE?0:nBytes-1;var d=isLE?1:-1;var s=value<0||value===0&&1/value<0?1:0;value=Math.abs(value);if(isNaN(value)||value===Infinity){m=isNaN(value)?1:0;e=eMax}else{e=Math.floor(Math.log(value)/Math.LN2);if(value*(c=Math.pow(2,-e))<1){e--;c*=2}if(e+eBias>=1){value+=rt/c}else{value+=rt*Math.pow(2,1-eBias)}if(value*c>=2){e++;c/=2}if(e+eBias>=eMax){m=0;e=eMax}else if(e+eBias>=1){m=(value*c-1)*Math.pow(2,mLen);e=e+eBias}else{m=value*Math.pow(2,eBias-1)*Math.pow(2,mLen);e=0}}for(;mLen>=8;buffer[offset+i]=m&255,i+=d,m/=256,mLen-=8){}e=e<0;buffer[offset+i]=e&255,i+=d,e/=256,eLen-=8){}buffer[offset+i-d]|=s*128}},{}],9:[function(require,module,exports){"use strict";function isUtf8(buf){if(!buf){return false}let i=0;const len=buf.length;while(i=194&&buf[i]<=223){if(buf[i+1]>>6===2){i+=2;continue}else{return false}}if((buf[i]===224&&buf[i+1]>=160&&buf[i+1]<=191||buf[i]===237&&buf[i+1]>=128&&buf[i+1]<=159)&&buf[i+2]>>6===2){i+=3;continue}if((buf[i]>=225&&buf[i]<=236||buf[i]>=238&&buf[i]<=239)&&buf[i+1]>>6===2&&buf[i+2]>>6===2){i+=3;continue}if((buf[i]===240&&buf[i+1]>=144&&buf[i+1]<=191||buf[i]>=241&&buf[i]<=243&&buf[i+1]>>6===2||buf[i]===244&&buf[i+1]>=128&&buf[i+1]<=143)&&buf[i+2]>>6===2&&buf[i+3]>>6===2){i+=4;continue}return false}return true}module.exports=isUtf8},{}],10:[function(require,module,exports){"use strict";function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;iarr.length)len=arr.length;for(var i=0,arr2=new Array(len);i=to){return[]}return new Array(to-from).fill().map(function(_,i){return i+from})}},{key:"hexToInt",value:function hexToInt(hexString){if(hexString===undefined||hexString===null){return hexString}return Number.parseInt(hexString,16)}},{key:"intToHex",value:function intToHex(_int){if(_int===undefined||_int===null){return _int}var hexString=_int.toString(16);return"0x"+hexString}},{key:"messageToBuffer",value:function messageToBuffer(message){var buffer=_buffer.Buffer.from([]);try{if(typeof message==="string"){buffer=_buffer.Buffer.from(message.replace("0x",""),"hex")}else{buffer=_buffer.Buffer.from(message)}}catch(err){console.log("messageToBuffer error: ".concat(err))}return buffer}},{key:"bufferToHex",value:function bufferToHex(buf){return"0x"+_buffer.Buffer.from(buf).toString("hex")}}]);return Utils}();module.exports=Utils},{buffer:6}]},{},[4]); \ No newline at end of file diff --git a/Safari Shared/Resources/service_worker.js b/Safari Shared/Resources/service_worker.js index 76eb16c8..da4dfbdb 100644 --- a/Safari Shared/Resources/service_worker.js +++ b/Safari Shared/Resources/service_worker.js @@ -126,7 +126,7 @@ function onBeforeExtensionPageNavigation(details) { if (details.url.includes("lil.org/extension?query=")) { const queryStringIndex = details.url.indexOf("?query=") + 7; const encodedQuery = details.url.substring(queryStringIndex); - browser.tabs.update(details.tabId, { url: "tinywallet://safari?request=" + encodedQuery }); + browser.tabs.update(details.tabId, { url: "bigwallet://safari?request=" + encodedQuery }); } } diff --git a/Safari Shared/SafariWebExtensionHandler.swift b/Safari Shared/SafariWebExtensionHandler.swift index 2a51b95d..083e717a 100644 --- a/Safari Shared/SafariWebExtensionHandler.swift +++ b/Safari Shared/SafariWebExtensionHandler.swift @@ -40,7 +40,7 @@ class SafariWebExtensionHandler: NSObject, NSExtensionRequestHandling { } } else if let query = String(data: data, encoding: .utf8)?.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed), let request = SafariRequest(query: query), - let url = URL(string: "tinywallet://safari?request=\(query)") { + let url = URL(string: "bigwallet://safari?request=\(query)") { if case let .ethereum(ethereumRequest) = request.body, ethereumRequest.method == .switchEthereumChain || ethereumRequest.method == .addEthereumChain { // TODO: different processing for addEthereumChain diff --git a/Shared/Services/ConfigurationService.swift b/Shared/Services/ConfigurationService.swift index dd653d9b..20c6eb28 100644 --- a/Shared/Services/ConfigurationService.swift +++ b/Shared/Services/ConfigurationService.swift @@ -15,7 +15,7 @@ class ConfigurationService { } private func getInfuraKeysFromCloudKit(completion: @escaping ([String]) -> Void) { - let container = CKContainer(identifier: "iCloud.tinywallet") + let container = CKContainer(identifier: "iCloud.tinywallet") // TODO: recreate icloud container let publicDatabase = container.publicCloudDatabase let predicate = NSPredicate(value: true) let query = CKQuery(recordType: "Config", predicate: predicate) diff --git a/Shared/Supporting Files/Localizable.xcstrings b/Shared/Supporting Files/Localizable.xcstrings index 8d7f3a32..03403316 100644 --- a/Shared/Supporting Files/Localizable.xcstrings +++ b/Shared/Supporting Files/Localizable.xcstrings @@ -843,12 +843,12 @@ } } }, - "tiny wallet" : { + "big wallet" : { "localizations" : { "en" : { "stringUnit" : { "state" : "translated", - "value" : "tiny wallet" + "value" : "big wallet" } } } @@ -1025,4 +1025,4 @@ } }, "version" : "1.0" -} \ No newline at end of file +} diff --git a/Shared/Supporting Files/Strings.swift b/Shared/Supporting Files/Strings.swift index 0e11607d..76d3e785 100644 --- a/Shared/Supporting Files/Strings.swift +++ b/Shared/Supporting Files/Strings.swift @@ -15,11 +15,11 @@ struct Strings { static let failedToSend = loc("Failed to send") static let failedToSign = loc("Failed to sign") static let failedToSwitchChain = loc("Failed to switch chain") - static let tinyWallet = loc("tiny wallet") + static let bigWallet = loc("big wallet") static let showWallets = loc("Show Wallets") static let enterWallet = loc("Enter Wallet") static let quit = loc("Quit") - static let quitTinyWallet = loc("Quit Wallet?") + static let quitWallet = loc("Quit Wallet?") static let enableSafariExtension = loc("Enable Safari Extension") static let dropUsALine = loc("yo@lil.org") static let viewOnGithub = loc("github")