diff --git a/package-lock.json b/package-lock.json index 9c00b2b9..dd26181f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,7 +8,6 @@ "name": "rsk-explorer", "version": "1.3.0", "dependencies": { - "@rsksmart/rns-resolver.js": "^1.1.0", "@rsksmart/rsk-utils": "^1.1.0", "bignumber.js": "^7.2.1", "chroma-js": "^1.4.1", @@ -17,7 +16,6 @@ "env-cmd": "^10.1.0", "highlight.js": "^9.18.3", "highlightjs-solidity": "git+https://github.com/highlightjs/highlightjs-solidity.git", - "keccak": "^3.0.4", "moment": "^2.27.0", "socket.io-client": "^2.3.0", "streamsaver": "^2.0.5", @@ -497,7 +495,8 @@ }, "node_modules/@babel/parser": { "version": "7.23.9", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.9.tgz", + "integrity": "sha512-9tcKgqKbs3xGJ+NtKF2ndOBBLVwPjl1SHxPQkd36r3Dlirw3xWUeGaTbqr7uGZcTaxkVNwc+03SVP7aCdWrTlA==", "bin": { "parser": "bin/babel-parser.js" }, @@ -1893,29 +1892,6 @@ "lodash.once": "^4.1.1" } }, - "node_modules/@ensdomains/address-encoder": { - "version": "0.2.22", - "resolved": "https://registry.npmjs.org/@ensdomains/address-encoder/-/address-encoder-0.2.22.tgz", - "integrity": "sha512-4it+XDvf0U0vLFECLi4oXFBhelz1I/Mo9AWVgS3zry3tMPUFBzM+a27ndNCPZk+glaQiY+R2GOIa3tYOypK29g==", - "dependencies": { - "bech32": "^2.0.0", - "blakejs": "^1.1.0", - "bn.js": "^4.11.8", - "bs58": "^4.0.1", - "crypto-addr-codec": "^0.1.8", - "js-crc": "^0.2.0", - "js-sha256": "^0.9.0", - "js-sha512": "^0.8.0", - "nano-base32": "^1.0.1", - "ripemd160": "^2.0.2", - "sha3": "^2.1.3" - } - }, - "node_modules/@ensdomains/address-encoder/node_modules/bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" - }, "node_modules/@hapi/address": { "version": "2.1.4", "deprecated": "Moved to 'npm install @sideway/address'", @@ -2198,16 +2174,6 @@ "node": ">=14" } }, - "node_modules/@rsksmart/rns-resolver.js": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@rsksmart/rns-resolver.js/-/rns-resolver.js-1.1.0.tgz", - "integrity": "sha512-h+lF2xTX+Hx/zYBjEMCYuttLDvt0sCs1r2ROoX8dm1wssPnp7hwotsTTwKoO7tTgDHbjNTKORGS1xpjTBrzL5Q==", - "dependencies": { - "@ensdomains/address-encoder": "^0.2.6", - "crypto-addr-codec": "^0.1.7", - "eth-ens-namehash": "^2.0.8" - } - }, "node_modules/@rsksmart/rsk-utils": { "version": "1.1.0", "license": "MIT", @@ -2216,20 +2182,6 @@ "rlp": "^2.2.4" } }, - "node_modules/@rsksmart/rsk-utils/node_modules/keccak": { - "version": "2.1.0", - "hasInstallScript": true, - "license": "MIT", - "dependencies": { - "bindings": "^1.5.0", - "inherits": "^2.0.4", - "nan": "^2.14.0", - "safe-buffer": "^5.2.0" - }, - "engines": { - "node": ">=5.12.0" - } - }, "node_modules/@soda/friendly-errors-webpack-plugin": { "version": "1.8.1", "dev": true, @@ -3093,6 +3045,78 @@ "strip-ansi": "^6.0.0" } }, + "node_modules/@vue/compiler-core": { + "version": "3.4.20", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.4.20.tgz", + "integrity": "sha512-l7M+xUuL8hrGtRLkrf+62d9zucAdgqNBTbJ/NufCOIuJQhauhfyAKH9ra/qUctCXcULwmclGAVpvmxjbBO30qg==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "@babel/parser": "^7.23.9", + "@vue/shared": "3.4.20", + "entities": "^4.5.0", + "estree-walker": "^2.0.2", + "source-map-js": "^1.0.2" + } + }, + "node_modules/@vue/compiler-core/node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "dev": true, + "optional": true, + "peer": true, + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/@vue/compiler-dom": { + "version": "3.4.20", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.4.20.tgz", + "integrity": "sha512-/cSBGL79HFBYgDnqCNKErOav3bPde3n0sJwJM2Z09rXlkiowV/2SG1tgDAiWS1CatS4Cvo0o74e1vNeCK1R3RA==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "@vue/compiler-core": "3.4.20", + "@vue/shared": "3.4.20" + } + }, + "node_modules/@vue/compiler-sfc": { + "version": "3.4.20", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.4.20.tgz", + "integrity": "sha512-nPuTZz0yxTPzjyYe+9nQQsFYImcz/57UX8N3jyhl5oIUUs2jqqAMaULsAlJwve3qNYfjQzq0bwy3pqJrN9ecZw==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "@babel/parser": "^7.23.9", + "@vue/compiler-core": "3.4.20", + "@vue/compiler-dom": "3.4.20", + "@vue/compiler-ssr": "3.4.20", + "@vue/shared": "3.4.20", + "estree-walker": "^2.0.2", + "magic-string": "^0.30.7", + "postcss": "^8.4.35", + "source-map-js": "^1.0.2" + } + }, + "node_modules/@vue/compiler-ssr": { + "version": "3.4.20", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.4.20.tgz", + "integrity": "sha512-b3gFQPiHLvI12C56otzBPpQhZ5kgkJ5RMv/zpLjLC2BIFwX5GktDqYQ7xg0Q2grP6uFI8al3beVKvAVxFtXmIg==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "@vue/compiler-dom": "3.4.20", + "@vue/shared": "3.4.20" + } + }, "node_modules/@vue/component-compiler-utils": { "version": "3.3.0", "dev": true, @@ -3187,6 +3211,14 @@ "webpack": ">=4.0.0" } }, + "node_modules/@vue/shared": { + "version": "3.4.20", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.4.20.tgz", + "integrity": "sha512-KTEngal0aiUvNJ6I1Chk5Ew5XqChsFsxP4GKAYXWb99zKJWjNU72p2FWEOmZWHxHcqtniOJsgnpd3zizdpfEag==", + "dev": true, + "optional": true, + "peer": true + }, "node_modules/@vue/test-utils": { "version": "1.3.6", "dev": true, @@ -4070,14 +4102,6 @@ "node": ">=0.10.0" } }, - "node_modules/base-x": { - "version": "3.0.9", - "resolved": "https://registry.npmjs.org/base-x/-/base-x-3.0.9.tgz", - "integrity": "sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ==", - "dependencies": { - "safe-buffer": "^5.0.1" - } - }, "node_modules/base/node_modules/define-property": { "version": "1.0.0", "dev": true, @@ -4109,6 +4133,7 @@ }, "node_modules/base64-js": { "version": "1.5.1", + "dev": true, "funding": [ { "type": "github", @@ -4138,11 +4163,6 @@ "tweetnacl": "^0.14.3" } }, - "node_modules/bech32": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/bech32/-/bech32-2.0.0.tgz", - "integrity": "sha512-LcknSilhIGatDAsY1ak2I8VtGaHNhgMSYVxFrGLXv+xLHytaKZKcaUJJUE7qmBr7h33o5YQwP55pMI0xmkpJwg==" - }, "node_modules/bfj": { "version": "6.1.2", "dev": true, @@ -4157,14 +4177,6 @@ "node": ">= 6.0.0" } }, - "node_modules/big-integer": { - "version": "1.6.36", - "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.36.tgz", - "integrity": "sha512-t70bfa7HYEA1D9idDbmuv7YbsbVkQ+Hp+8KFSul4aE5e/i1bjCNIRYJZlA8Q8p0r9T8cF/RVvwUgRA//FydEyg==", - "engines": { - "node": ">=0.6" - } - }, "node_modules/big.js": { "version": "5.2.2", "dev": true, @@ -4195,11 +4207,6 @@ "file-uri-to-path": "1.0.0" } }, - "node_modules/blakejs": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/blakejs/-/blakejs-1.2.1.tgz", - "integrity": "sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ==" - }, "node_modules/blob": { "version": "0.0.5", "license": "MIT" @@ -4450,14 +4457,6 @@ "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" } }, - "node_modules/bs58": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/bs58/-/bs58-4.0.1.tgz", - "integrity": "sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw==", - "dependencies": { - "base-x": "^3.0.2" - } - }, "node_modules/buffer": { "version": "4.9.2", "dev": true, @@ -5860,20 +5859,6 @@ "semver": "bin/semver" } }, - "node_modules/crypto-addr-codec": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/crypto-addr-codec/-/crypto-addr-codec-0.1.8.tgz", - "integrity": "sha512-GqAK90iLLgP3FvhNmHbpT3wR6dEdaM8hZyZtLX29SPardh3OA13RFLHDR6sntGCgRWOfiHqW6sIyohpNqOtV/g==", - "dependencies": { - "base-x": "^3.0.8", - "big-integer": "1.6.36", - "blakejs": "^1.1.0", - "bs58": "^4.0.1", - "ripemd160-min": "0.0.6", - "safe-buffer": "^5.2.0", - "sha3": "^2.1.1" - } - }, "node_modules/crypto-browserify": { "version": "3.12.0", "dev": true, @@ -7364,7 +7349,8 @@ }, "node_modules/env-cmd": { "version": "10.1.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/env-cmd/-/env-cmd-10.1.0.tgz", + "integrity": "sha512-mMdWTT9XKN7yNth/6N6g2GuKuJTsKMDHlQFUDacb/heQRRWOTIZ42t1rMHnQu4jYxU1ajdTeJM+9eEETlqToMA==", "dependencies": { "commander": "^4.0.0", "cross-spawn": "^7.0.0" @@ -7378,14 +7364,16 @@ }, "node_modules/env-cmd/node_modules/commander": { "version": "4.1.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", "engines": { "node": ">= 6" } }, "node_modules/env-cmd/node_modules/cross-spawn": { "version": "7.0.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", @@ -7397,14 +7385,16 @@ }, "node_modules/env-cmd/node_modules/path-key": { "version": "3.1.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "engines": { "node": ">=8" } }, "node_modules/env-cmd/node_modules/shebang-command": { "version": "2.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dependencies": { "shebang-regex": "^3.0.0" }, @@ -7414,14 +7404,16 @@ }, "node_modules/env-cmd/node_modules/shebang-regex": { "version": "3.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "engines": { "node": ">=8" } }, "node_modules/env-cmd/node_modules/which": { "version": "2.0.2", - "license": "ISC", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dependencies": { "isexe": "^2.0.0" }, @@ -8256,6 +8248,14 @@ "node": ">=4.0" } }, + "node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "dev": true, + "optional": true, + "peer": true + }, "node_modules/esutils": { "version": "2.0.3", "dev": true, @@ -8272,15 +8272,6 @@ "node": ">= 0.6" } }, - "node_modules/eth-ens-namehash": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/eth-ens-namehash/-/eth-ens-namehash-2.0.8.tgz", - "integrity": "sha512-VWEI1+KJfz4Km//dadyvBBoBeSQ0MHTXPvr8UIXiLW6IanxvAV+DmlZAijZwAyggqGUfwQBeHf7tc9wzc1piSw==", - "dependencies": { - "idna-uts46-hx": "^2.3.1", - "js-sha3": "^0.5.7" - } - }, "node_modules/event-pubsub": { "version": "4.3.0", "dev": true, @@ -9576,6 +9567,7 @@ }, "node_modules/hash-base": { "version": "3.1.0", + "dev": true, "license": "MIT", "dependencies": { "inherits": "^2.0.4", @@ -9588,6 +9580,7 @@ }, "node_modules/hash-base/node_modules/readable-stream": { "version": "3.6.2", + "dev": true, "license": "MIT", "dependencies": { "inherits": "^2.0.3", @@ -10044,27 +10037,9 @@ "url": "https://opencollective.com/postcss/" } }, - "node_modules/idna-uts46-hx": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/idna-uts46-hx/-/idna-uts46-hx-2.3.1.tgz", - "integrity": "sha512-PWoF9Keq6laYdIRwwCdhTPl60xRqAloYNMQLiyUnG42VjT53oW07BXIRM+NK7eQjzXjAk2gUvX9caRxlnF9TAA==", - "dependencies": { - "punycode": "2.1.0" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/idna-uts46-hx/node_modules/punycode": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.0.tgz", - "integrity": "sha512-Yxz2kRwT90aPiWEMHVYnEf4+rhwF1tBmmZ4KepCP+Wkium9JxtWnUm1nqGwpiAHr/tnTSeHqr3wb++jgSkXjhA==", - "engines": { - "node": ">=6" - } - }, "node_modules/ieee754": { "version": "1.2.1", + "dev": true, "funding": [ { "type": "github", @@ -11170,11 +11145,6 @@ "node": ">=16 || 14 >=14.17" } }, - "node_modules/js-crc": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/js-crc/-/js-crc-0.2.0.tgz", - "integrity": "sha512-8DdCSAOACpF8WDAjyDFBC2rj8OS4HUP9mNZBDfl8jCiPCnJG+2bkuycalxwZh6heFy6PrMvoWTp47lp6gzT65A==" - }, "node_modules/js-message": { "version": "1.0.7", "dev": true, @@ -11183,21 +11153,6 @@ "node": ">=0.6.0" } }, - "node_modules/js-sha256": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/js-sha256/-/js-sha256-0.9.0.tgz", - "integrity": "sha512-sga3MHh9sgQN2+pJ9VYZ+1LPwXOxuBJBA5nrR5/ofPfuiJBE2hnjsaN8se8JznOmGLN2p49Pe5U/ttafcs/apA==" - }, - "node_modules/js-sha3": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz", - "integrity": "sha512-GII20kjaPX0zJ8wzkTbNDYMY7msuZcTWk8S5UOh6806Jq/wz1J8/bnr8uGU0DAUmYDjj2Mr4X1cW8v/GLYnR+g==" - }, - "node_modules/js-sha512": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/js-sha512/-/js-sha512-0.8.0.tgz", - "integrity": "sha512-PWsmefG6Jkodqt+ePTvBZCSMFgN7Clckjd0O7su3I0+BW2QWUTJNzjktHsztGLhncP2h8mcF9V9Y2Ha59pAViQ==" - }, "node_modules/js-stringify": { "version": "1.0.2", "dev": true, @@ -11385,28 +11340,17 @@ } }, "node_modules/keccak": { - "version": "3.0.4", + "version": "2.1.0", "hasInstallScript": true, "license": "MIT", "dependencies": { - "node-addon-api": "^2.0.0", - "node-gyp-build": "^4.2.0", - "readable-stream": "^3.6.0" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/keccak/node_modules/readable-stream": { - "version": "3.6.2", - "license": "MIT", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" + "bindings": "^1.5.0", + "inherits": "^2.0.4", + "nan": "^2.14.0", + "safe-buffer": "^5.2.0" }, "engines": { - "node": ">= 6" + "node": ">=5.12.0" } }, "node_modules/killable": { @@ -12043,6 +11987,20 @@ "yallist": "^3.0.2" } }, + "node_modules/magic-string": { + "version": "0.30.7", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.7.tgz", + "integrity": "sha512-8vBuFF/I/+OSLRmdf2wwFCJCz+nSn0m6DPvGH1fS/KiQoSaR+sETbov0eIk9KhEKy8CYqIkIAnbohxT/4H0kuA==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.4.15" + }, + "engines": { + "node": ">=12" + } + }, "node_modules/make-dir": { "version": "3.1.0", "dev": true, @@ -13038,23 +12996,19 @@ } }, "node_modules/nan": { - "version": "2.19.0", + "version": "2.18.0", "license": "MIT" }, - "node_modules/nano-base32": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/nano-base32/-/nano-base32-1.0.1.tgz", - "integrity": "sha512-sxEtoTqAPdjWVGv71Q17koMFGsOMSiHsIFEvzOM7cNp8BXB4AnEwmDabm5dorusJf/v1z7QxaZYxUorU9RKaAw==" - }, "node_modules/nanoid": { "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", "funding": [ { "type": "github", "url": "https://github.com/sponsors/ai" } ], - "license": "MIT", "bin": { "nanoid": "bin/nanoid.cjs" }, @@ -13114,10 +13068,6 @@ "lower-case": "^1.1.1" } }, - "node_modules/node-addon-api": { - "version": "2.0.2", - "license": "MIT" - }, "node_modules/node-environment-flags": { "version": "1.0.5", "dev": true, @@ -13143,15 +13093,6 @@ "node": ">= 6.0.0" } }, - "node_modules/node-gyp-build": { - "version": "4.8.1", - "license": "MIT", - "bin": { - "node-gyp-build": "bin.js", - "node-gyp-build-optional": "optional.js", - "node-gyp-build-test": "build-test.js" - } - }, "node_modules/node-libs-browser": { "version": "2.2.1", "dev": true, @@ -14066,6 +14007,8 @@ }, "node_modules/postcss": { "version": "8.4.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.35.tgz", + "integrity": "sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==", "funding": [ { "type": "opencollective", @@ -14080,7 +14023,6 @@ "url": "https://github.com/sponsors/ai" } ], - "license": "MIT", "dependencies": { "nanoid": "^3.3.7", "picocolors": "^1.0.0", @@ -16296,20 +16238,13 @@ }, "node_modules/ripemd160": { "version": "2.0.2", + "dev": true, "license": "MIT", "dependencies": { "hash-base": "^3.0.0", "inherits": "^2.0.1" } }, - "node_modules/ripemd160-min": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/ripemd160-min/-/ripemd160-min-0.0.6.tgz", - "integrity": "sha512-+GcJgQivhs6S9qvLogusiTcS9kQUfgR75whKuy5jIhuiOfQuJ8fjqxV6EGD5duH1Y/FawFUMtMhyeq3Fbnib8A==", - "engines": { - "node": ">=8" - } - }, "node_modules/rlp": { "version": "2.2.7", "license": "MPL-2.0", @@ -16809,37 +16744,6 @@ "sha.js": "bin.js" } }, - "node_modules/sha3": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/sha3/-/sha3-2.1.4.tgz", - "integrity": "sha512-S8cNxbyb0UGUM2VhRD4Poe5N58gJnJsLJ5vC7FYWGUmGhcsj4++WaIOBFVDxlG0W3To6xBuiRh+i0Qp2oNCOtg==", - "dependencies": { - "buffer": "6.0.3" - } - }, - "node_modules/sha3/node_modules/buffer": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", - "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.2.1" - } - }, "node_modules/shebang-command": { "version": "1.2.0", "dev": true, @@ -17441,6 +17345,7 @@ }, "node_modules/string_decoder": { "version": "1.1.1", + "dev": true, "license": "MIT", "dependencies": { "safe-buffer": "~5.1.0" @@ -17448,6 +17353,7 @@ }, "node_modules/string_decoder/node_modules/safe-buffer": { "version": "5.1.2", + "dev": true, "license": "MIT" }, "node_modules/string-width": { @@ -18778,6 +18684,7 @@ }, "node_modules/util-deprecate": { "version": "1.0.2", + "dev": true, "license": "MIT" }, "node_modules/util.promisify": { @@ -19389,6 +19296,8 @@ }, "node_modules/vue/node_modules/@vue/compiler-sfc": { "version": "2.7.16", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-2.7.16.tgz", + "integrity": "sha512-KWhJ9k5nXuNtygPU7+t1rX6baZeqOYLEforUPjgNDBnLicfHCoi48H87Q8XyLZOrNNsmhuwKqtpDQWjEFe6Ekg==", "dependencies": { "@babel/parser": "^7.23.5", "postcss": "^8.4.14", diff --git a/package.json b/package.json index 236f19cb..060a0736 100644 --- a/package.json +++ b/package.json @@ -27,7 +27,6 @@ "env-cmd": "^10.1.0", "highlight.js": "^9.18.3", "highlightjs-solidity": "git+https://github.com/highlightjs/highlightjs-solidity.git", - "keccak": "^3.0.4", "moment": "^2.27.0", "socket.io-client": "^2.3.0", "streamsaver": "^2.0.5", @@ -37,8 +36,7 @@ "vue-hotjar": "^1.2.0", "vue-router": "^3.4.3", "vuex": "^3.5.1", - "vuex-router-sync": "^5.0.0", - "@rsksmart/rns-resolver.js": "^1.1.0" + "vuex-router-sync": "^5.0.0" }, "devDependencies": { "@vue/cli-plugin-babel": "^4.5.12", diff --git a/src/components/DataPage.vue b/src/components/DataPage.vue index 66d92b49..92db62a7 100644 --- a/src/components/DataPage.vue +++ b/src/components/DataPage.vue @@ -140,7 +140,7 @@ export default { data () { return { storedTitle: '', - storedRouteName: null, + storedParamAddress: null, PAGE_COLORS } }, @@ -300,11 +300,11 @@ export default { const { module, action, params } = this const key = this.reqKey if (!module || !action) return - const routeName = this.$route.name + const paramsAddress = this.$route.params?.address // If the parameters are the same when the router changes, we do not request the address information. - if (this.storedRouteName !== routeName) { + if (this.storedParamAddress !== paramsAddress) { // use Date for a random info - this.storedRouteName = routeName || new Date() + this.storedParamAddress = paramsAddress || new Date() return this.fetchRouteData({ action, params, module, key }) } }, diff --git a/src/components/Search/CtrlSearch.vue b/src/components/Search/CtrlSearch.vue index 204e2378..b96b4f9a 100644 --- a/src/components/Search/CtrlSearch.vue +++ b/src/components/Search/CtrlSearch.vue @@ -1,60 +1,46 @@ diff --git a/src/config/entities/address.js b/src/config/entities/address.js index 0a951a5f..d61a689c 100644 --- a/src/config/entities/address.js +++ b/src/config/entities/address.js @@ -28,9 +28,6 @@ export const Addresses = () => { field: 'blockNumber', type: 'block', title: 'Updated at block' - }, - rns: { - hideIfEmpty: true } } } diff --git a/src/lib/js/rns.js b/src/lib/js/rns.js deleted file mode 100644 index 283c6130..00000000 --- a/src/lib/js/rns.js +++ /dev/null @@ -1,11 +0,0 @@ -/* eslint-disable new-cap */ -import Resolver from '@rsksmart/rns-resolver.js' - -export const getAddr = async (domain) => { - let resolver - - if (process.env.WS_URL.includes('testnet')) resolver = new Resolver.forRskTestnet() - else resolver = new Resolver.forRskMainnet() - - return resolver.addr(domain) -} diff --git a/src/router/index.js b/src/router/index.js index 898e8bb0..965d92b3 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -5,7 +5,6 @@ import routes from './routes' import { normalizeSearch } from '../lib/js/utils' import { isValidAddress } from '@rsksmart/rsk-utils/dist/addresses' import { ROUTES as r } from '../config/types' -import { getAddr } from '../lib/js/rns' Vue.use(Router) const router = new Router({ @@ -59,26 +58,12 @@ router.afterEach((to, from) => { /** * Navigation guard for all routes */ -async function checkBeforeEnter (to, from, next) { +function checkBeforeEnter (to, from, next) { const chainId = store.getters.chainId const { params } = Object.assign({}, to) const { address, hash } = params if (hash) params.hash = normalizeSearch(hash) if (isAddressPath(to, address)) { - // Allow `/address/` - if (address.match(/.rsk/)) { - const domain = address - try { - const resolved = await getAddr(domain) - if (resolved) { - store.commit('SET_DOMAIN', { domain, address: resolved }) - next(`${r.address}/${resolved}`) - } - } catch (error) { - // console.error(error.message) - next() - } - } // checksum error let error if (!isValidAddress(address, chainId)) { diff --git a/src/store/modules/backend/actions.js b/src/store/modules/backend/actions.js index 7efb4b43..4488f3fd 100644 --- a/src/store/modules/backend/actions.js +++ b/src/store/modules/backend/actions.js @@ -35,8 +35,7 @@ export const socketNewBlocks = ({ state, commit, getters, dispatch, rootState }, const autoUpdate = getters.autoUpdate commit('LAST_BLOCKS', blocks) if (rootState.autoUpdateBlocks) dispatch('updateBlocks') - if (rootState.route.path === '/' && autoUpdate) { - commit('LAST_BLOCKS_TIME', blocks[0].timestamp) + if (rootState.route.path === '/') { dispatch('fetchRouteData', { action: 'getTransactions', params: undefined, module: 'transactions', key: 'data' }) } if (!state.lastBlocksTime) commit('LAST_BLOCKS_TIME') @@ -60,12 +59,6 @@ export const socketData = ({ state, commit, getters, dispatch }, res) => { const isExport = getters.isExportKey(key) if (isExport) return dispatch('exportPages', res) - - if (res.action === 'getAddress') { - const domain = getters.getDomain(req.params.address) - res.data.rns = domain - } - const response = Object.assign({}, state.responses[key]) const updating = Object.assign(delayedObject(), response.delayed) const isUpdating = Boolean(!updating.registry && updating.fields.length) diff --git a/src/store/modules/backend/getters.js b/src/store/modules/backend/getters.js index 5c61430c..da2d3cb9 100644 --- a/src/store/modules/backend/getters.js +++ b/src/store/modules/backend/getters.js @@ -99,9 +99,3 @@ export const getExportMetadata = state => key => { if (!key) return return state.exports[key] } - -export const getDomain = (state) => (address) => { - if (typeof address !== 'string') return // console.error('Address should be provided as string') - - return state.rns[address.toLowerCase()] -} diff --git a/src/store/modules/backend/mutations.js b/src/store/modules/backend/mutations.js index 3929b6d9..17e59dad 100644 --- a/src/store/modules/backend/mutations.js +++ b/src/store/modules/backend/mutations.js @@ -19,7 +19,8 @@ export const LAST_BLOCKS = (state, blocks) => { } export const LAST_BLOCKS_TIME = (state, time) => { - state.lastBlocksTime = time ? new Date(time * 1000) : Date.now() + if (undefined === time) time = Date.now() + state.lastBlocksTime = time } export const SET_BLOCKS = (state, blocks) => { state.blocks = blocks @@ -107,10 +108,3 @@ export const SET_EXPORT_METADATA = (state, [key, metadata]) => { Vue.set(state.exports[key], prop, metadata[prop]) } } - -export const SET_DOMAIN = (state, { domain, address }) => { - if (!domain || !address) return - - address = address.toLowerCase() - state.rns[address] = domain -} diff --git a/src/store/modules/backend/state.js b/src/store/modules/backend/state.js index 1cbb3961..96026e29 100644 --- a/src/store/modules/backend/state.js +++ b/src/store/modules/backend/state.js @@ -26,8 +26,7 @@ export default function () { timestamp: 0 }, txPoolChart: [], - stats: {}, - rns: {} + stats: {} } } diff --git a/src/store/modules/search/actions.js b/src/store/modules/search/actions.js index 50a9478e..0e7d529c 100644 --- a/src/store/modules/search/actions.js +++ b/src/store/modules/search/actions.js @@ -1,9 +1,6 @@ import { testSearchedValue } from '../../../lib/js/validate' import { isHexString, isTxOrBlockHash } from '@rsksmart/rsk-utils/dist/strings' -import { getAddr } from '../../../lib/js/rns' -import { store } from '../../../store/index' - const DEFAULT_TYPE = 'addressByName' const createSearchKey = (value, type) => { @@ -18,16 +15,7 @@ export const clearSearchedResults = async ({ commit, dispatch, getters }) => { } export const updateSearchedValue = async ({ commit, dispatch, state }, value) => { - if (value.match(/.rsk/)) { - try { - const address = await getAddr(value) - store.commit('SET_DOMAIN', { domain: value, address }) - - value = address - } catch (error) { - // console.error(error.message, value) - } - } + value = String(value).replace(/[\W_]+/g, '') const lcValue = value.toLowerCase() value = (isHexString(value) && isTxOrBlockHash(lcValue)) ? lcValue : value if (state.value !== value) { diff --git a/src/store/modules/search/getters.js b/src/store/modules/search/getters.js index 414bc36a..4e363668 100644 --- a/src/store/modules/search/getters.js +++ b/src/store/modules/search/getters.js @@ -8,20 +8,14 @@ export const getSearchPayloadByType = state => type => { export const searchKeysRequested = state => Object.keys(state.requested) -export const getSearchLink = (state, getters, commit) => ({ type, value }) => { +export const getSearchLink = (state, getters) => ({ type, value }) => { const payload = getters.getSearchPayloadByType(type) const path = r[payload.type] if (!path || !value) return const link = `/${path}/${value}` - state.searchLink = link - state.type = type return link } -export const linkToSearch = (state) => { - return state.searchLink -} - export const getSearchedResults = (state, getters) => { const { requested } = state const results = getters.searchKeysRequested.map(key => { @@ -56,10 +50,6 @@ export const searchedTypes = state => { return Object.keys(types).filter(k => types[k]) } -export const searchedType = state => { - return state.type -} - export const isSearchPage = (state, getters) => { const re = new RegExp(`^/${r.search}`) return re.test(getters.getRouterPath) diff --git a/src/store/modules/search/mutations.js b/src/store/modules/search/mutations.js index f74044fa..6e7ce59a 100644 --- a/src/store/modules/search/mutations.js +++ b/src/store/modules/search/mutations.js @@ -19,7 +19,3 @@ export const SET_SEARCH_TYPES = (state, types) => { export const SET_SEARCH_EXPAND = (state, value) => { Vue.set(state, 'expanded', value) } - -export const SET_SEARCH_LINK = (state, value) => { - Vue.set(state, 'searchLink', value) -} diff --git a/src/store/modules/search/state.js b/src/store/modules/search/state.js index c815f9d6..8a47b28f 100644 --- a/src/store/modules/search/state.js +++ b/src/store/modules/search/state.js @@ -6,8 +6,6 @@ export default function () { payloads, value: undefined, types: {}, - requested: {}, - searchLink: null, - type: null + requested: {} } } diff --git a/src/styles/_navigation.scss b/src/styles/_navigation.scss index 6a3e3f9e..231b74b1 100644 --- a/src/styles/_navigation.scss +++ b/src/styles/_navigation.scss @@ -82,34 +82,15 @@ } } } -.search { - position: relative; - .search-background { - z-index: 9; - width: 100%; - height: 100vh; - top: 0; - right: 0; - left: 0; - bottom: 0; - position: fixed; - background-color: rgba(0, 0, 0, .6); - } -} .search-content { - z-index: 10; position: relative; - width: 470px; + width: 420px; height: 40px; border-radius: 90px; padding: 0 16px; display: flex; align-items: center; border: 1px solid $newbw_800; - background-color: $newbw_900; - &.search-content-focus { - border: 1px solid $white_400 !important; - } img { width: 16px; height: 16px; @@ -123,7 +104,6 @@ border: none; color: white; font-size: 14px; - background-color: $newbw_900; &:focus { outline: none !important; background: unset; @@ -151,15 +131,15 @@ left: 0; right: 0; border-radius: 20px; - width: 470px; + width: 420px; padding: 16px; min-height: 80px; height: max-content; max-height: 400px; - overflow-y: auto; + overflow-y: scroll; overflow-x: hidden; &::-webkit-scrollbar { - width: 5px; + width: 8px; } &::-webkit-scrollbar-track { @@ -172,11 +152,6 @@ border-radius: 20px; border: 1px solid rgb(49, 49, 49); } - .title-address { - color: $white_100; - font-weight: 700; - margin-bottom: 10px; - } a { color: #c0c0c0; @@ -186,15 +161,6 @@ color: white; text-decoration: underline; } - &.search-address { - background-color: $newbw_700; - font-weight: 500; - color: white; - } - } - &.no-results { - display: flex; - align-items: center; } } } @@ -513,7 +479,7 @@ } .search-results { margin-top: 5px; - width: 350px; + box-shadow: 3px 5px 10px #272727; } .btn-close { cursor: pointer; diff --git a/src/styles/_page.scss b/src/styles/_page.scss index d8156294..320d0922 100644 --- a/src/styles/_page.scss +++ b/src/styles/_page.scss @@ -161,10 +161,7 @@ } } } -.Account.Balance .data-item { - padding: 12px 24px 28px; - border-radius: 12px; -} + .data-item { background-color: $newbw_800; .items {