Reland wallet standard on demand (#17168)
* Revert "Revert "On demand loading wallet-standard" (#17131)"
This reverts commit 1e3bae927c.
* Cherry-pick [WebUI: Roll Terser to v5.16.2](https://chromium-review.googlesource.com/c/chromium/src/+/4218203)
in a less invasive way by pointing it to brave local terser. Otherwise
we will have to also cherry-pick
https://chromium-review.googlesource.com/c/chromium/src/+/4160349 and
https://chromium-review.googlesource.com/c/chromium/src/+/4214416 otherwise
we won't have a matching node_modules.tar.gz.sha1
---
The reason we need this is because `terser` that chromium used is too
old and it doesn’t support [Private fields and
methods](terser/terser#913)
so that is why we will see
[this](https://bravesoftware.slack.com/archives/C7VLGSR55/p1675990758314239)
on Android release build due to `_strip_resource_files = is_android &&
is_official_build` in `//tools/grit/grit_rule.gni`
This commit is contained in:
@@ -403,11 +403,6 @@ class TestSolanaProvider final : public brave_wallet::mojom::SolanaProvider {
|
||||
}
|
||||
}
|
||||
|
||||
void IsSolanaKeyringCreated(
|
||||
IsSolanaKeyringCreatedCallback callback) override {
|
||||
std::move(callback).Run(true);
|
||||
}
|
||||
|
||||
void SetError(SolanaProviderError error, const std::string& error_message) {
|
||||
error_ = error;
|
||||
error_message_ = error_message;
|
||||
@@ -641,7 +636,8 @@ IN_PROC_BROWSER_TEST_F(SolanaProviderRendererTest, NonWritable) {
|
||||
for (const std::string& method :
|
||||
{"on", "off", "emit", "removeListener", "removeAllListeners",
|
||||
"connect", "disconnect", "signAndSendTransaction", "signMessage",
|
||||
"request", "signTransaction", "signAllTransactions"}) {
|
||||
"request", "signTransaction", "signAllTransactions",
|
||||
"walletStandardInit"}) {
|
||||
SCOPED_TRACE(method);
|
||||
auto result = EvalJs(web_contents(browser()),
|
||||
NonWriteableScriptMethod(provider, method),
|
||||
|
||||
@@ -601,13 +601,6 @@ void SolanaProviderImpl::Request(base::Value::Dict arg,
|
||||
}
|
||||
}
|
||||
|
||||
void SolanaProviderImpl::IsSolanaKeyringCreated(
|
||||
IsSolanaKeyringCreatedCallback callback) {
|
||||
DCHECK(keyring_service_);
|
||||
std::move(callback).Run(
|
||||
!!keyring_service_->GetSelectedAccount(mojom::CoinType::SOL));
|
||||
}
|
||||
|
||||
bool SolanaProviderImpl::IsAccountConnected(const std::string& account) {
|
||||
return delegate_->IsSolanaAccountConnected(account);
|
||||
}
|
||||
|
||||
@@ -62,8 +62,6 @@ class SolanaProviderImpl final : public mojom::SolanaProvider,
|
||||
SignMessageCallback callback) override;
|
||||
void Request(base::Value::Dict arg, RequestCallback callback) override;
|
||||
|
||||
void IsSolanaKeyringCreated(IsSolanaKeyringCreatedCallback callback) override;
|
||||
|
||||
private:
|
||||
FRIEND_TEST_ALL_PREFIXES(SolanaProviderImplUnitTest, GetDeserializedMessage);
|
||||
|
||||
|
||||
@@ -210,10 +210,6 @@ interface SolanaProvider {
|
||||
Request(mojo_base.mojom.DictionaryValue arg)
|
||||
=> (SolanaProviderError error, string error_message,
|
||||
mojo_base.mojom.DictionaryValue result);
|
||||
|
||||
// DO NOT USE: This is supposed to be a temporary solution for us to decide
|
||||
// whether to load wallet-standard js module
|
||||
IsSolanaKeyringCreated() => (bool created);
|
||||
};
|
||||
|
||||
enum WalletPinServiceErrorCode {
|
||||
|
||||
@@ -29,7 +29,6 @@
|
||||
#include "third_party/blink/public/common/browser_interface_broker_proxy.h"
|
||||
#include "third_party/blink/public/mojom/devtools/console_message.mojom.h"
|
||||
#include "third_party/blink/public/web/blink.h"
|
||||
#include "third_party/blink/public/web/web_console_message.h"
|
||||
#include "third_party/blink/public/web/web_local_frame.h"
|
||||
#include "url/origin.h"
|
||||
|
||||
|
||||
@@ -52,6 +52,11 @@ constexpr char kSignatures[] = "signatures";
|
||||
constexpr char kToString[] = "toString";
|
||||
constexpr char kSolanaProviderScript[] = "solana_provider.js";
|
||||
constexpr char kWalletStandardScript[] = "wallet_standard.js";
|
||||
constexpr char kWalletStandardOnDemandScript[] = R"((function () {
|
||||
window.addEventListener('wallet-standard:app-ready', (e) => {
|
||||
window.braveSolana.walletStandardInit()
|
||||
})
|
||||
})())";
|
||||
|
||||
} // namespace
|
||||
|
||||
@@ -139,7 +144,8 @@ void JSSolanaProvider::Install(bool allow_overwrite_window_solana,
|
||||
// Non-function properties are readonly guaranteed by gin::Wrappable
|
||||
for (const std::string& method :
|
||||
{"connect", "disconnect", "signAndSendTransaction", "signMessage",
|
||||
"request", "signTransaction", "signAllTransactions"}) {
|
||||
"request", "signTransaction", "signAllTransactions",
|
||||
"walletStandardInit"}) {
|
||||
SetOwnPropertyWritable(context,
|
||||
provider_value->ToObject(context).ToLocalChecked(),
|
||||
gin::StringToV8(isolate, method), false);
|
||||
@@ -151,6 +157,9 @@ void JSSolanaProvider::Install(bool allow_overwrite_window_solana,
|
||||
LoadDataResource(
|
||||
IDR_BRAVE_WALLET_SCRIPT_SOLANA_PROVIDER_SCRIPT_BUNDLE_JS),
|
||||
kSolanaProviderScript);
|
||||
|
||||
ExecuteScript(web_frame, kWalletStandardOnDemandScript,
|
||||
kWalletStandardScript);
|
||||
}
|
||||
|
||||
gin::ObjectTemplateBuilder JSSolanaProvider::GetObjectTemplateBuilder(
|
||||
@@ -169,7 +178,10 @@ gin::ObjectTemplateBuilder JSSolanaProvider::GetObjectTemplateBuilder(
|
||||
// Deprecated
|
||||
.SetMethod("signTransaction", &JSSolanaProvider::SignTransaction)
|
||||
// Deprecated
|
||||
.SetMethod("signAllTransactions", &JSSolanaProvider::SignAllTransactions);
|
||||
.SetMethod("signAllTransactions", &JSSolanaProvider::SignAllTransactions)
|
||||
// Internal function used to load and initialize wallet-standard natively.
|
||||
// It only function once and further calls do nothing.
|
||||
.SetMethod("walletStandardInit", &JSSolanaProvider::WalletStandardInit);
|
||||
}
|
||||
|
||||
const char* JSSolanaProvider::GetTypeName() {
|
||||
@@ -197,16 +209,6 @@ void JSSolanaProvider::AccountChangedEvent(
|
||||
FireEvent(solana::kAccountChangedEvent, std::move(args));
|
||||
}
|
||||
|
||||
void JSSolanaProvider::DidFinishLoad() {
|
||||
if (wallet_standard_loaded_ || !EnsureConnected()) {
|
||||
return;
|
||||
}
|
||||
solana_provider_->IsSolanaKeyringCreated(
|
||||
// We don't need weak ptr for mojo bindings when owning mojo::Remote
|
||||
base::BindOnce(&JSSolanaProvider::OnIsSolanaKeyringCreated,
|
||||
base::Unretained(this)));
|
||||
}
|
||||
|
||||
void JSSolanaProvider::WillReleaseScriptContext(v8::Local<v8::Context>,
|
||||
int32_t world_id) {
|
||||
if (world_id != content::ISOLATED_WORLD_ID_GLOBAL) {
|
||||
@@ -562,6 +564,33 @@ v8::Local<v8::Promise> JSSolanaProvider::SignAllTransactions(
|
||||
return resolver.ToLocalChecked()->GetPromise();
|
||||
}
|
||||
|
||||
void JSSolanaProvider::WalletStandardInit(gin::Arguments* arguments) {
|
||||
if (wallet_standard_loaded_) {
|
||||
render_frame()->GetWebFrame()->AddMessageToConsole(
|
||||
blink::WebConsoleMessage(blink::mojom::ConsoleMessageLevel::kWarning,
|
||||
"Wallet Standard has already been loaded."));
|
||||
return;
|
||||
}
|
||||
blink::WebLocalFrame* web_frame = render_frame()->GetWebFrame();
|
||||
std::string wallet_standard_module_str = base::StrCat(
|
||||
{"(function() {", LoadDataResource(IDR_BRAVE_WALLET_STANDARD_JS),
|
||||
"return walletStandardBrave; })()"});
|
||||
|
||||
v8::Local<v8::Value> wallet_standard =
|
||||
ExecuteScript(web_frame, wallet_standard_module_str,
|
||||
"wallet_standard_brave")
|
||||
.ToLocalChecked();
|
||||
v8::Local<v8::Value> object;
|
||||
v8::Isolate* isolate = arguments->isolate();
|
||||
v8::Local<v8::Context> context = isolate->GetCurrentContext();
|
||||
if (!GetProperty(context, context->Global(), kBraveSolana).ToLocal(&object)) {
|
||||
return;
|
||||
}
|
||||
CallMethodOfObject(web_frame, wallet_standard, "initialize",
|
||||
std::vector<v8::Local<v8::Value>>({object}));
|
||||
wallet_standard_loaded_ = true;
|
||||
}
|
||||
|
||||
void JSSolanaProvider::FireEvent(
|
||||
const std::string& event,
|
||||
std::vector<v8::Local<v8::Value>>&& event_args) {
|
||||
@@ -992,18 +1021,4 @@ v8::Local<v8::Value> JSSolanaProvider::CreateTransaction(
|
||||
return transaction.ToLocalChecked();
|
||||
}
|
||||
|
||||
void JSSolanaProvider::OnIsSolanaKeyringCreated(bool created) {
|
||||
if (!created || !render_frame()) {
|
||||
return;
|
||||
}
|
||||
v8::Isolate* isolate = blink::MainThreadIsolate();
|
||||
v8::HandleScope handle_scope(isolate);
|
||||
blink::WebLocalFrame* web_frame = render_frame()->GetWebFrame();
|
||||
ExecuteScript(web_frame,
|
||||
LoadDataResource(
|
||||
IDR_BRAVE_WALLET_SCRIPT_WALLET_STANDARD_SCRIPT_BUNDLE_JS),
|
||||
kWalletStandardScript);
|
||||
wallet_standard_loaded_ = true;
|
||||
}
|
||||
|
||||
} // namespace brave_wallet
|
||||
|
||||
@@ -57,7 +57,6 @@ class JSSolanaProvider final : public gin::Wrappable<JSSolanaProvider>,
|
||||
|
||||
// RenderFrameObserver implementation.
|
||||
void OnDestruct() override {}
|
||||
void DidFinishLoad() override;
|
||||
void WillReleaseScriptContext(v8::Local<v8::Context>,
|
||||
int32_t world_id) override;
|
||||
|
||||
@@ -102,6 +101,8 @@ class JSSolanaProvider final : public gin::Wrappable<JSSolanaProvider>,
|
||||
// (solanaWeb3.Transaction[]) => Promise<solanaWeb3.Transaction[]>
|
||||
v8::Local<v8::Promise> SignAllTransactions(gin::Arguments* arguments);
|
||||
|
||||
void WalletStandardInit(gin::Arguments* arguments);
|
||||
|
||||
void FireEvent(const std::string& event,
|
||||
std::vector<v8::Local<v8::Value>>&& event_args);
|
||||
|
||||
@@ -177,8 +178,6 @@ class JSSolanaProvider final : public gin::Wrappable<JSSolanaProvider>,
|
||||
v8::Local<v8::Context> context,
|
||||
const std::vector<uint8_t> serialized_tx);
|
||||
|
||||
void OnIsSolanaKeyringCreated(bool created);
|
||||
|
||||
bool wallet_standard_loaded_ = false;
|
||||
v8::Global<v8::Value> solana_web3_module_;
|
||||
std::unique_ptr<content::V8ValueConverter> v8_value_converter_;
|
||||
|
||||
@@ -12,10 +12,6 @@ transpile_web_ui("brave_wallet_script_resources") {
|
||||
"solana_provider_script",
|
||||
rebase_path("solana_provider.js"),
|
||||
],
|
||||
[
|
||||
"wallet_standard_script",
|
||||
rebase_path("wallet_standard.js"),
|
||||
],
|
||||
]
|
||||
|
||||
resource_name = "brave_wallet_script"
|
||||
|
||||
@@ -1,14 +0,0 @@
|
||||
// Copyright (c) 2023 The Brave Authors. All rights reserved.
|
||||
// This Source Code Form is subject to the terms of the Mozilla Public
|
||||
// License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
||||
// You can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
|
||||
(function () {
|
||||
if (!window.braveSolana) {
|
||||
return
|
||||
}
|
||||
|
||||
const WalletStandard = require('@brave/wallet-standard-brave')
|
||||
WalletStandard.initialize(window.braveSolana);
|
||||
})()
|
||||
|
||||
@@ -4,5 +4,6 @@
|
||||
<include name="IDR_BRAVE_WALLET_SOLANA_WEB3_JS" file="../brave_wallet/resources/solana_web3_script.js" type="BINDATA" />
|
||||
<!-- This is only used for test to generate input object -->
|
||||
<include name="IDR_BRAVE_WALLET_SOLANA_WEB3_JS_FOR_TEST" file="../../node_modules/@solana/web3.js/lib/index.iife.min.js" type="BINDATA" />
|
||||
<include name="IDR_BRAVE_WALLET_STANDARD_JS" file="../../node_modules/@brave/wallet-standard-brave/lib/index.iife.min.js" type="BINDATA" />
|
||||
</grit-part>
|
||||
|
||||
|
||||
@@ -166,9 +166,8 @@ BraveWalletProviderScriptKey const BraveWalletProviderScriptKeyWalletStandard =
|
||||
IDR_BRAVE_WALLET_SCRIPT_SOLANA_PROVIDER_SCRIPT_BUNDLE_JS),
|
||||
std::make_pair(BraveWalletProviderScriptKeySolanaWeb3,
|
||||
IDR_BRAVE_WALLET_SOLANA_WEB3_JS),
|
||||
std::make_pair(
|
||||
BraveWalletProviderScriptKeyWalletStandard,
|
||||
IDR_BRAVE_WALLET_SCRIPT_WALLET_STANDARD_SCRIPT_BUNDLE_JS)};
|
||||
std::make_pair(BraveWalletProviderScriptKeyWalletStandard,
|
||||
IDR_BRAVE_WALLET_STANDARD_JS)};
|
||||
case BraveWalletCoinTypeFil:
|
||||
// Currently not supported
|
||||
return {std::make_pair(@"", 0)};
|
||||
|
||||
Generated
+135
-44
@@ -11,7 +11,7 @@
|
||||
"dependencies": {
|
||||
"@brave/leo": "github:brave/leo",
|
||||
"@brave/react-virtualized-auto-sizer": "^1.0.4",
|
||||
"@brave/wallet-standard-brave": "~0.0.5",
|
||||
"@brave/wallet-standard-brave": "~0.0.6",
|
||||
"@dnd-kit/core": "6.0.5",
|
||||
"@dnd-kit/sortable": "7.0.1",
|
||||
"@glif/filecoin-wallet-provider": "2.0.0-beta.12",
|
||||
@@ -106,6 +106,7 @@
|
||||
"sinon": "7.5.0",
|
||||
"style-loader": "0.23.1",
|
||||
"styled-components": "5.3.0",
|
||||
"terser": "5.16.2",
|
||||
"trezor-connect": "8.2.6-extended",
|
||||
"ts-jest": "26.5.6",
|
||||
"ts-loader": "8.4.0",
|
||||
@@ -3549,9 +3550,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@brave/wallet-standard-brave": {
|
||||
"version": "0.0.5",
|
||||
"resolved": "https://registry.npmjs.org/@brave/wallet-standard-brave/-/wallet-standard-brave-0.0.5.tgz",
|
||||
"integrity": "sha512-gXiQZgAx0mis9arHzZatCR8D7QXt7IR4oUsSTT3XAp7ua0hqlvAsFJwBxsL+p+hRGD1Ruzmt7l2ai7m7gV41ww==",
|
||||
"version": "0.0.6",
|
||||
"resolved": "https://registry.npmjs.org/@brave/wallet-standard-brave/-/wallet-standard-brave-0.0.6.tgz",
|
||||
"integrity": "sha512-O9svdlfGhwM4jI6jhtdkngEWISQ7xbyAOJ+0UtIXmRfAprap7Bac+vLq/cOT60KHA6HRMdM0m+yEJW4pyTccng==",
|
||||
"dependencies": {
|
||||
"@solana/wallet-standard-features": "^1.0.0",
|
||||
"@solana/web3.js": "1.58.0",
|
||||
@@ -17514,6 +17515,38 @@
|
||||
"node": ">= 6"
|
||||
}
|
||||
},
|
||||
"node_modules/html-minifier-terser/node_modules/source-map": {
|
||||
"version": "0.6.1",
|
||||
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
|
||||
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
|
||||
"dev": true,
|
||||
"engines": {
|
||||
"node": ">=0.10.0"
|
||||
}
|
||||
},
|
||||
"node_modules/html-minifier-terser/node_modules/terser": {
|
||||
"version": "4.8.1",
|
||||
"resolved": "https://registry.npmjs.org/terser/-/terser-4.8.1.tgz",
|
||||
"integrity": "sha512-4GnLC0x667eJG0ewJTa6z/yXrbLGv80D9Ru6HIpCQmO+Q4PfEtBFi0ObSckqwL6VyQv/7ENJieXHo2ANmdQwgw==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"commander": "^2.20.0",
|
||||
"source-map": "~0.6.1",
|
||||
"source-map-support": "~0.5.12"
|
||||
},
|
||||
"bin": {
|
||||
"terser": "bin/terser"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=6.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/html-minifier-terser/node_modules/terser/node_modules/commander": {
|
||||
"version": "2.20.3",
|
||||
"resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
|
||||
"integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/html-tags": {
|
||||
"version": "3.1.0",
|
||||
"resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.1.0.tgz",
|
||||
@@ -28009,20 +28042,21 @@
|
||||
}
|
||||
},
|
||||
"node_modules/terser": {
|
||||
"version": "4.8.1",
|
||||
"resolved": "https://registry.npmjs.org/terser/-/terser-4.8.1.tgz",
|
||||
"integrity": "sha512-4GnLC0x667eJG0ewJTa6z/yXrbLGv80D9Ru6HIpCQmO+Q4PfEtBFi0ObSckqwL6VyQv/7ENJieXHo2ANmdQwgw==",
|
||||
"version": "5.16.2",
|
||||
"resolved": "https://registry.npmjs.org/terser/-/terser-5.16.2.tgz",
|
||||
"integrity": "sha512-JKuM+KvvWVqT7muHVyrwv7FVRPnmHDwF6XwoIxdbF5Witi0vu99RYpxDexpJndXt3jbZZmmWr2/mQa6HvSNdSg==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"@jridgewell/source-map": "^0.3.2",
|
||||
"acorn": "^8.5.0",
|
||||
"commander": "^2.20.0",
|
||||
"source-map": "~0.6.1",
|
||||
"source-map-support": "~0.5.12"
|
||||
"source-map-support": "~0.5.20"
|
||||
},
|
||||
"bin": {
|
||||
"terser": "bin/terser"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=6.0.0"
|
||||
"node": ">=10"
|
||||
}
|
||||
},
|
||||
"node_modules/terser-webpack-plugin": {
|
||||
@@ -28205,13 +28239,16 @@
|
||||
"node": ">=10"
|
||||
}
|
||||
},
|
||||
"node_modules/terser/node_modules/source-map": {
|
||||
"version": "0.6.1",
|
||||
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
|
||||
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
|
||||
"node_modules/terser/node_modules/acorn": {
|
||||
"version": "8.8.2",
|
||||
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz",
|
||||
"integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==",
|
||||
"dev": true,
|
||||
"bin": {
|
||||
"acorn": "bin/acorn"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=0.10.0"
|
||||
"node": ">=0.4.0"
|
||||
}
|
||||
},
|
||||
"node_modules/test-exclude": {
|
||||
@@ -31057,6 +31094,23 @@
|
||||
"node": ">=6"
|
||||
}
|
||||
},
|
||||
"node_modules/webpack/node_modules/terser": {
|
||||
"version": "4.8.1",
|
||||
"resolved": "https://registry.npmjs.org/terser/-/terser-4.8.1.tgz",
|
||||
"integrity": "sha512-4GnLC0x667eJG0ewJTa6z/yXrbLGv80D9Ru6HIpCQmO+Q4PfEtBFi0ObSckqwL6VyQv/7ENJieXHo2ANmdQwgw==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"commander": "^2.20.0",
|
||||
"source-map": "~0.6.1",
|
||||
"source-map-support": "~0.5.12"
|
||||
},
|
||||
"bin": {
|
||||
"terser": "bin/terser"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=6.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/webpack/node_modules/terser-webpack-plugin": {
|
||||
"version": "1.4.5",
|
||||
"resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz",
|
||||
@@ -34041,9 +34095,9 @@
|
||||
}
|
||||
},
|
||||
"@brave/wallet-standard-brave": {
|
||||
"version": "0.0.5",
|
||||
"resolved": "https://registry.npmjs.org/@brave/wallet-standard-brave/-/wallet-standard-brave-0.0.5.tgz",
|
||||
"integrity": "sha512-gXiQZgAx0mis9arHzZatCR8D7QXt7IR4oUsSTT3XAp7ua0hqlvAsFJwBxsL+p+hRGD1Ruzmt7l2ai7m7gV41ww==",
|
||||
"version": "0.0.6",
|
||||
"resolved": "https://registry.npmjs.org/@brave/wallet-standard-brave/-/wallet-standard-brave-0.0.6.tgz",
|
||||
"integrity": "sha512-O9svdlfGhwM4jI6jhtdkngEWISQ7xbyAOJ+0UtIXmRfAprap7Bac+vLq/cOT60KHA6HRMdM0m+yEJW4pyTccng==",
|
||||
"requires": {
|
||||
"@solana/wallet-standard-features": "^1.0.0",
|
||||
"@solana/web3.js": "1.58.0",
|
||||
@@ -35323,7 +35377,7 @@
|
||||
"requires": {
|
||||
"@mdx-js/mdx": "1.6.22",
|
||||
"@mdx-js/react": "1.6.22",
|
||||
"loader-utils": "2.0.3"
|
||||
"loader-utils": "2.0.0"
|
||||
}
|
||||
},
|
||||
"@mdx-js/mdx": {
|
||||
@@ -35370,7 +35424,7 @@
|
||||
"convert-source-map": "^1.7.0",
|
||||
"debug": "^4.1.0",
|
||||
"gensync": "^1.0.0-beta.1",
|
||||
"json5": "2.2.2",
|
||||
"json5": "^2.1.2",
|
||||
"lodash": "^4.17.19",
|
||||
"resolve": "^1.3.2",
|
||||
"semver": "^5.4.1",
|
||||
@@ -35519,7 +35573,7 @@
|
||||
"error-stack-parser": "^2.0.6",
|
||||
"find-up": "^5.0.0",
|
||||
"html-entities": "^2.1.0",
|
||||
"loader-utils": "2.0.3",
|
||||
"loader-utils": "^2.0.4",
|
||||
"schema-utils": "^3.0.0",
|
||||
"source-map": "^0.7.3"
|
||||
},
|
||||
@@ -35846,7 +35900,7 @@
|
||||
"global": "^4.4.0",
|
||||
"html-tags": "^3.1.0",
|
||||
"js-string-escape": "^1.0.1",
|
||||
"loader-utils": "2.0.3",
|
||||
"loader-utils": "^2.0.0",
|
||||
"lodash": "^4.17.21",
|
||||
"nanoid": "^3.1.23",
|
||||
"p-limit": "^3.1.0",
|
||||
@@ -36135,7 +36189,7 @@
|
||||
"integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"loader-utils": "2.0.3",
|
||||
"loader-utils": "^2.0.0",
|
||||
"schema-utils": "^3.0.0"
|
||||
},
|
||||
"dependencies": {
|
||||
@@ -36158,7 +36212,7 @@
|
||||
"integrity": "sha512-V7TCORko8rs9rIqkSrlMfkqA63DfoGBBJmK1kKGCcSi+BWb4cqz0SRsnp4l6rU5iwOEd0/2ePv68SV22VXon4Q==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"loader-utils": "2.0.3",
|
||||
"loader-utils": "^2.0.0",
|
||||
"schema-utils": "^2.7.0"
|
||||
}
|
||||
},
|
||||
@@ -36168,7 +36222,7 @@
|
||||
"integrity": "sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"loader-utils": "2.0.3",
|
||||
"loader-utils": "^2.0.0",
|
||||
"mime-types": "^2.1.27",
|
||||
"schema-utils": "^3.0.0"
|
||||
},
|
||||
@@ -36379,7 +36433,7 @@
|
||||
"glob": "^7.1.6",
|
||||
"handlebars": "^4.7.7",
|
||||
"interpret": "^2.2.0",
|
||||
"json5": "2.2.2",
|
||||
"json5": "^2.1.3",
|
||||
"lazy-universal-dotenv": "^3.0.1",
|
||||
"picomatch": "^2.3.0",
|
||||
"pkg-dir": "^5.0.0",
|
||||
@@ -36767,7 +36821,7 @@
|
||||
"integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"loader-utils": "2.0.3",
|
||||
"loader-utils": "^2.0.0",
|
||||
"schema-utils": "^3.0.0"
|
||||
},
|
||||
"dependencies": {
|
||||
@@ -36812,7 +36866,7 @@
|
||||
"integrity": "sha512-V7TCORko8rs9rIqkSrlMfkqA63DfoGBBJmK1kKGCcSi+BWb4cqz0SRsnp4l6rU5iwOEd0/2ePv68SV22VXon4Q==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"loader-utils": "2.0.3",
|
||||
"loader-utils": "^2.0.0",
|
||||
"schema-utils": "^2.7.0"
|
||||
}
|
||||
},
|
||||
@@ -36828,7 +36882,7 @@
|
||||
"integrity": "sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"loader-utils": "2.0.3",
|
||||
"loader-utils": "^2.0.0",
|
||||
"mime-types": "^2.1.27",
|
||||
"schema-utils": "^3.0.0"
|
||||
},
|
||||
@@ -37141,7 +37195,7 @@
|
||||
"core-js": "^3.8.2",
|
||||
"estraverse": "^5.2.0",
|
||||
"global": "^4.4.0",
|
||||
"loader-utils": "2.0.3",
|
||||
"loader-utils": "^2.0.0",
|
||||
"lodash": "^4.17.21",
|
||||
"prettier": "<=2.3.0",
|
||||
"regenerator-runtime": "^0.13.7"
|
||||
@@ -44201,7 +44255,7 @@
|
||||
"integrity": "sha512-b6OHfQuKasIKM9b6YPkX+KUj/TLBTx3B/1aT1T5F12FEuEqyFMdr59OMS53aoaSw8eVtapdqieX6lbg5opaOhA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"loader-utils": "2.0.3"
|
||||
"loader-utils": "^0.2.16"
|
||||
}
|
||||
},
|
||||
"gensync": {
|
||||
@@ -44797,6 +44851,31 @@
|
||||
"resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz",
|
||||
"integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==",
|
||||
"dev": true
|
||||
},
|
||||
"source-map": {
|
||||
"version": "0.6.1",
|
||||
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
|
||||
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
|
||||
"dev": true
|
||||
},
|
||||
"terser": {
|
||||
"version": "4.8.1",
|
||||
"resolved": "https://registry.npmjs.org/terser/-/terser-4.8.1.tgz",
|
||||
"integrity": "sha512-4GnLC0x667eJG0ewJTa6z/yXrbLGv80D9Ru6HIpCQmO+Q4PfEtBFi0ObSckqwL6VyQv/7ENJieXHo2ANmdQwgw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"commander": "^2.20.0",
|
||||
"source-map": "~0.6.1",
|
||||
"source-map-support": "~0.5.12"
|
||||
},
|
||||
"dependencies": {
|
||||
"commander": {
|
||||
"version": "2.20.3",
|
||||
"resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
|
||||
"integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -44822,7 +44901,7 @@
|
||||
"@types/tapable": "^1.0.5",
|
||||
"@types/webpack": "^4.41.8",
|
||||
"html-minifier-terser": "^5.0.1",
|
||||
"loader-utils": "2.0.3",
|
||||
"loader-utils": "^1.2.3",
|
||||
"lodash": "^4.17.20",
|
||||
"pretty-error": "^2.1.1",
|
||||
"tapable": "^1.1.3",
|
||||
@@ -49126,7 +49205,7 @@
|
||||
"requires": {
|
||||
"cosmiconfig": "^7.0.0",
|
||||
"klona": "^2.0.4",
|
||||
"loader-utils": "2.0.3",
|
||||
"loader-utils": "^2.0.0",
|
||||
"schema-utils": "^3.0.0",
|
||||
"semver": "^7.3.4"
|
||||
},
|
||||
@@ -49636,7 +49715,7 @@
|
||||
"integrity": "sha512-ZnScIV3ag9A4wPX/ZayxL/jZH+euYb6FcUinPcgiQW0+UBtEv0O6Q3lGd3cqJ+GHH+rksEv3Pj99oxJ3u3VIKA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"loader-utils": "2.0.3",
|
||||
"loader-utils": "^2.0.0",
|
||||
"schema-utils": "^3.0.0"
|
||||
},
|
||||
"dependencies": {
|
||||
@@ -50435,7 +50514,7 @@
|
||||
"convert-source-map": "^1.7.0",
|
||||
"debug": "^4.1.0",
|
||||
"gensync": "^1.0.0-beta.1",
|
||||
"json5": "2.2.2",
|
||||
"json5": "^2.1.2",
|
||||
"lodash": "^4.17.19",
|
||||
"resolve": "^1.3.2",
|
||||
"semver": "^5.4.1",
|
||||
@@ -52857,20 +52936,21 @@
|
||||
}
|
||||
},
|
||||
"terser": {
|
||||
"version": "4.8.1",
|
||||
"resolved": "https://registry.npmjs.org/terser/-/terser-4.8.1.tgz",
|
||||
"integrity": "sha512-4GnLC0x667eJG0ewJTa6z/yXrbLGv80D9Ru6HIpCQmO+Q4PfEtBFi0ObSckqwL6VyQv/7ENJieXHo2ANmdQwgw==",
|
||||
"version": "5.16.2",
|
||||
"resolved": "https://registry.npmjs.org/terser/-/terser-5.16.2.tgz",
|
||||
"integrity": "sha512-JKuM+KvvWVqT7muHVyrwv7FVRPnmHDwF6XwoIxdbF5Witi0vu99RYpxDexpJndXt3jbZZmmWr2/mQa6HvSNdSg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@jridgewell/source-map": "^0.3.2",
|
||||
"acorn": "^8.5.0",
|
||||
"commander": "^2.20.0",
|
||||
"source-map": "~0.6.1",
|
||||
"source-map-support": "~0.5.12"
|
||||
"source-map-support": "~0.5.20"
|
||||
},
|
||||
"dependencies": {
|
||||
"source-map": {
|
||||
"version": "0.6.1",
|
||||
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
|
||||
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
|
||||
"acorn": {
|
||||
"version": "8.8.2",
|
||||
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz",
|
||||
"integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
@@ -54788,6 +54868,17 @@
|
||||
"integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==",
|
||||
"dev": true
|
||||
},
|
||||
"terser": {
|
||||
"version": "4.8.1",
|
||||
"resolved": "https://registry.npmjs.org/terser/-/terser-4.8.1.tgz",
|
||||
"integrity": "sha512-4GnLC0x667eJG0ewJTa6z/yXrbLGv80D9Ru6HIpCQmO+Q4PfEtBFi0ObSckqwL6VyQv/7ENJieXHo2ANmdQwgw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"commander": "^2.20.0",
|
||||
"source-map": "~0.6.1",
|
||||
"source-map-support": "~0.5.12"
|
||||
}
|
||||
},
|
||||
"terser-webpack-plugin": {
|
||||
"version": "1.4.5",
|
||||
"resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz",
|
||||
|
||||
+2
-1
@@ -335,6 +335,7 @@
|
||||
"sinon": "7.5.0",
|
||||
"style-loader": "0.23.1",
|
||||
"styled-components": "5.3.0",
|
||||
"terser": "5.16.2",
|
||||
"trezor-connect": "8.2.6-extended",
|
||||
"ts-jest": "26.5.6",
|
||||
"ts-loader": "8.4.0",
|
||||
@@ -349,7 +350,7 @@
|
||||
"dependencies": {
|
||||
"@brave/leo": "github:brave/leo",
|
||||
"@brave/react-virtualized-auto-sizer": "^1.0.4",
|
||||
"@brave/wallet-standard-brave": "~0.0.5",
|
||||
"@brave/wallet-standard-brave": "~0.0.6",
|
||||
"@dnd-kit/core": "6.0.5",
|
||||
"@dnd-kit/sortable": "7.0.1",
|
||||
"@glif/filecoin-wallet-provider": "2.0.0-beta.12",
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
diff --git a/third_party/node/node_modules.py b/third_party/node/node_modules.py
|
||||
index a6ae339fa34c5a1651d2a4ae613e399c588415ce..98d4febedea192709aeb024d4b681b37372f8b07 100755
|
||||
--- a/third_party/node/node_modules.py
|
||||
+++ b/third_party/node/node_modules.py
|
||||
@@ -30,7 +30,7 @@ def PathToSvgo():
|
||||
|
||||
|
||||
def PathToTerser():
|
||||
- return _path_in_node_modules('terser', 'bin', 'terser')
|
||||
+ return os_path.join('..', '..', 'brave', 'node_modules', 'terser', 'bin', 'terser')
|
||||
|
||||
# Typescript is not approved for general use in Chromium. Email chromium-dev
|
||||
# if you want to use it.
|
||||
Reference in New Issue
Block a user