From 636d6d29beaacde81b6b0119fa1265081f4af3f0 Mon Sep 17 00:00:00 2001 From: danielailie Date: Wed, 28 Apr 2021 16:42:49 +0300 Subject: [PATCH 01/10] Upgrade erdjs library --- react-delegationdashboard/package-lock.json | 176 +++++++++--------- react-delegationdashboard/package.json | 2 +- .../components/ConfirmOnLedgerModal/index.tsx | 2 +- .../src/components/Layout/APRCalculation.ts | 11 +- .../src/components/Layout/index.tsx | 57 +++--- .../LedgerTransactionStatus/index.tsx | 4 +- .../src/components/Overview/Cards/index.tsx | 2 +- .../src/components/Overview/Header/index.tsx | 2 +- .../src/context/state.tsx | 6 +- .../src/contracts/ContractViews.ts | 11 +- .../src/contracts/Delegation.tsx | 4 +- .../src/helpers/contractDataDefinitions.ts | 12 +- .../src/helpers/decodePem.tsx | 3 +- .../src/helpers/useDelegation.ts | 4 +- .../src/pages/Dashboard/Delegation/index.tsx | 16 +- .../Dashboard/PendingUndelegated/index.tsx | 13 +- .../src/pages/Dashboard/index.tsx | 2 +- .../src/pages/Home/Login/Wallet.tsx | 2 +- .../src/pages/Ledger/AddressTable.tsx | 3 +- .../src/pages/Ledger/index.tsx | 2 +- .../src/pages/Owner/Nodes/AddNodeAction.tsx | 2 +- .../src/pages/Owner/Nodes/NodeRow.tsx | 8 +- .../Owner/Nodes/helpers/keysFunctions.ts | 27 ++- .../src/pages/Owner/index.tsx | 2 +- 24 files changed, 197 insertions(+), 176 deletions(-) diff --git a/react-delegationdashboard/package-lock.json b/react-delegationdashboard/package-lock.json index 36847a79..7c1aa618 100644 --- a/react-delegationdashboard/package-lock.json +++ b/react-delegationdashboard/package-lock.json @@ -1121,9 +1121,9 @@ } }, "@elrondnetwork/erdjs": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/@elrondnetwork/erdjs/-/erdjs-3.1.3.tgz", - "integrity": "sha512-M3HSHaBSEYcLvth+ItY5+/7DG7N00nknIvNYs9ko4sgTeOCkwem3GSmzhOei1Zs+tmu26E8SsRwoUuPXhQDmGw==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@elrondnetwork/erdjs/-/erdjs-4.0.3.tgz", + "integrity": "sha512-M7jqzvKWYw8EUWgcSrxYcfKQ1HoMWjHnmRqRalCDZK3F+dNYJg1vpFJfuA+sRle73mW4FAqNO6uU4jHiGo1yrg==", "requires": { "@babel/runtime": "^7.11.2", "@elrondnetwork/bls-wasm": "^0.3.3", @@ -2014,14 +2014,14 @@ } }, "@ledgerhq/devices": { - "version": "5.46.0", - "resolved": "https://registry.npmjs.org/@ledgerhq/devices/-/devices-5.46.0.tgz", - "integrity": "sha512-bQ9YVR0xocVv8sXDiKMabXauLpn870Su71RwumuG9z4o7f/8s710/5NEh7K11mmNJ7ztJsgDeqXq7ai2ZqilUw==", - "requires": { - "@ledgerhq/errors": "^5.46.0", - "@ledgerhq/logs": "^5.46.0", - "rxjs": "^6.6.6", - "semver": "^7.3.4" + "version": "5.50.0", + "resolved": "https://registry.npmjs.org/@ledgerhq/devices/-/devices-5.50.0.tgz", + "integrity": "sha512-VU3i48egHwUSHqNPKa8dNXLxD6gvmPKbKkp2pGL8tNNGXT44iHWplEAQy7et7+Fa48Sh7G2WPBvCbQg9K/SeCw==", + "requires": { + "@ledgerhq/errors": "^5.50.0", + "@ledgerhq/logs": "^5.50.0", + "rxjs": "^6.6.7", + "semver": "^7.3.5" }, "dependencies": { "semver": { @@ -2035,17 +2035,17 @@ } }, "@ledgerhq/errors": { - "version": "5.46.0", - "resolved": "https://registry.npmjs.org/@ledgerhq/errors/-/errors-5.46.0.tgz", - "integrity": "sha512-1/q/Tqv+aznX/rO3kdpg3Hv7O3xv68dWHkcfai8BZGTdTIwh6vdguFsdUNJ7eiNxEMKNA9gU+p78ZS/PDzoitQ==" + "version": "5.50.0", + "resolved": "https://registry.npmjs.org/@ledgerhq/errors/-/errors-5.50.0.tgz", + "integrity": "sha512-gu6aJ/BHuRlpU7kgVpy2vcYk6atjB4iauP2ymF7Gk0ez0Y/6VSMVSJvubeEQN+IV60+OBK0JgeIZG7OiHaw8ow==" }, "@ledgerhq/hw-transport": { - "version": "5.46.0", - "resolved": "https://registry.npmjs.org/@ledgerhq/hw-transport/-/hw-transport-5.46.0.tgz", - "integrity": "sha512-iROB4eowxR7Bg67MEH+OlIsfN+UIjNLULr+A74gEFtMpHB3jvVc/aeq2gezv4fIueQQWV9X5IgNsxkPBI0vgtw==", + "version": "5.50.0", + "resolved": "https://registry.npmjs.org/@ledgerhq/hw-transport/-/hw-transport-5.50.0.tgz", + "integrity": "sha512-VlcVGgp+Ae4hrUFzSroPJS4i7iBWEYVat91pCl8LyrN+xD8sjamHje69JCdDYY+Cb5++0pbSZt3FGiV0ml3xGA==", "requires": { - "@ledgerhq/devices": "^5.46.0", - "@ledgerhq/errors": "^5.46.0", + "@ledgerhq/devices": "^5.50.0", + "@ledgerhq/errors": "^5.50.0", "events": "^3.3.0" }, "dependencies": { @@ -2057,18 +2057,18 @@ } }, "@ledgerhq/hw-transport-node-hid": { - "version": "5.46.0", - "resolved": "https://registry.npmjs.org/@ledgerhq/hw-transport-node-hid/-/hw-transport-node-hid-5.46.0.tgz", - "integrity": "sha512-bIQbs4Km4xmfaMZNDMxKiq+FdNOhO2QdBGnd+Vev9D79dpBk4+H9Xmzqw+r6eZEAah8d7Pbn8zbY5WabkxNMvQ==", - "requires": { - "@ledgerhq/devices": "^5.46.0", - "@ledgerhq/errors": "^5.46.0", - "@ledgerhq/hw-transport": "^5.46.0", - "@ledgerhq/hw-transport-node-hid-noevents": "^5.46.0", - "@ledgerhq/logs": "^5.46.0", + "version": "5.50.0", + "resolved": "https://registry.npmjs.org/@ledgerhq/hw-transport-node-hid/-/hw-transport-node-hid-5.50.0.tgz", + "integrity": "sha512-dN9fFfCVHPIdyDF3cOC9JeFEBH/r7F25STDpY/hvmSmKCZIIUNgZ5Myvib+1W8CPhRFg1zEeamKO9bh8h865Sg==", + "requires": { + "@ledgerhq/devices": "^5.50.0", + "@ledgerhq/errors": "^5.50.0", + "@ledgerhq/hw-transport": "^5.50.0", + "@ledgerhq/hw-transport-node-hid-noevents": "^5.50.0", + "@ledgerhq/logs": "^5.50.0", "lodash": "^4.17.21", "node-hid": "2.1.1", - "usb": "^1.6.5" + "usb": "^1.7.0" }, "dependencies": { "lodash": { @@ -2079,14 +2079,14 @@ } }, "@ledgerhq/hw-transport-node-hid-noevents": { - "version": "5.46.0", - "resolved": "https://registry.npmjs.org/@ledgerhq/hw-transport-node-hid-noevents/-/hw-transport-node-hid-noevents-5.46.0.tgz", - "integrity": "sha512-v9OkEQ6kUtDGESeM5DLWvjCQlkJwarH6Z1fWyWofoR9LLuas25/56R5uMMpOqXwmyk0kJVwg6PJ2Cg8rJBSG0w==", - "requires": { - "@ledgerhq/devices": "^5.46.0", - "@ledgerhq/errors": "^5.46.0", - "@ledgerhq/hw-transport": "^5.46.0", - "@ledgerhq/logs": "^5.46.0", + "version": "5.50.0", + "resolved": "https://registry.npmjs.org/@ledgerhq/hw-transport-node-hid-noevents/-/hw-transport-node-hid-noevents-5.50.0.tgz", + "integrity": "sha512-23vjrwzXDpnP0C1JA6540vYpOMFMtVeHc8+iNDltHFhx0kIuAq70lzk7OV6z8TNGpTSrf5DCnKagOha2FIS0yQ==", + "requires": { + "@ledgerhq/devices": "^5.50.0", + "@ledgerhq/errors": "^5.50.0", + "@ledgerhq/hw-transport": "^5.50.0", + "@ledgerhq/logs": "^5.50.0", "node-hid": "2.1.1" } }, @@ -2102,20 +2102,20 @@ } }, "@ledgerhq/hw-transport-webusb": { - "version": "5.46.0", - "resolved": "https://registry.npmjs.org/@ledgerhq/hw-transport-webusb/-/hw-transport-webusb-5.46.0.tgz", - "integrity": "sha512-X5Meh+78nYqzOgOMnqlYQslAzyPOmlgcc+DDtSoWOOwCJ+sCHQmmi+18/aoVgoLtVRpqGjVGxmCBYYX+f3EkOA==", + "version": "5.50.0", + "resolved": "https://registry.npmjs.org/@ledgerhq/hw-transport-webusb/-/hw-transport-webusb-5.50.0.tgz", + "integrity": "sha512-dl/9uBajeCm3Vc6qy5IXYo+z2PWOs+MWfgKUSgMgm65AZfa2FByQLMv3a5GMOeRcte9fzuJUQIA4IcgYhZdkNQ==", "requires": { - "@ledgerhq/devices": "^5.46.0", - "@ledgerhq/errors": "^5.46.0", - "@ledgerhq/hw-transport": "^5.46.0", - "@ledgerhq/logs": "^5.46.0" + "@ledgerhq/devices": "^5.50.0", + "@ledgerhq/errors": "^5.50.0", + "@ledgerhq/hw-transport": "^5.50.0", + "@ledgerhq/logs": "^5.50.0" } }, "@ledgerhq/logs": { - "version": "5.46.0", - "resolved": "https://registry.npmjs.org/@ledgerhq/logs/-/logs-5.46.0.tgz", - "integrity": "sha512-WiFy1uwRhcqkj6aTSha532Nl6Gdsv5GN+Nsbp7pY66Zg+6WUE/SBmpwHEJfEXzEfARI5+A718a3trGinY6Dftg==" + "version": "5.50.0", + "resolved": "https://registry.npmjs.org/@ledgerhq/logs/-/logs-5.50.0.tgz", + "integrity": "sha512-swKHYCOZUGyVt4ge0u8a7AwNcA//h4nx5wIi0sruGye1IJ5Cva0GyK9L2/WdX+kWVTKp92ZiEo1df31lrWGPgA==" }, "@nodelib/fs.scandir": { "version": "2.1.4", @@ -2175,9 +2175,9 @@ } }, "@octokit/openapi-types": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-6.0.0.tgz", - "integrity": "sha512-CnDdK7ivHkBtJYzWzZm7gEkanA7gKH6a09Eguz7flHw//GacPJLmkHA3f3N++MJmlxD1Fl+mB7B32EEpSCwztQ==" + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-6.2.0.tgz", + "integrity": "sha512-V2vFYuawjpP5KUb8CPYsq20bXT4qnE8sH1QKpYqUlcNOntBiRr/VzGVvY0s+YXGgrVbFUVO4EI0VnHYSVBWfBg==" }, "@octokit/plugin-paginate-rest": { "version": "1.1.2", @@ -2222,17 +2222,15 @@ } }, "@octokit/request": { - "version": "5.4.14", - "resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.4.14.tgz", - "integrity": "sha512-VkmtacOIQp9daSnBmDI92xNIeLuSRDOIuplp/CJomkvzt7M18NXgG044Cx/LFKLgjKt9T2tZR6AtJayba9GTSA==", + "version": "5.4.15", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.4.15.tgz", + "integrity": "sha512-6UnZfZzLwNhdLRreOtTkT9n57ZwulCve8q3IT/Z477vThu6snfdkBuhxnChpOKNGxcQ71ow561Qoa6uqLdPtag==", "requires": { "@octokit/endpoint": "^6.0.1", "@octokit/request-error": "^2.0.0", "@octokit/types": "^6.7.1", - "deprecation": "^2.0.0", "is-plain-object": "^5.0.0", "node-fetch": "^2.6.1", - "once": "^1.4.0", "universal-user-agent": "^6.0.0" }, "dependencies": { @@ -2297,11 +2295,11 @@ } }, "@octokit/types": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.13.0.tgz", - "integrity": "sha512-W2J9qlVIU11jMwKHUp5/rbVUeErqelCsO5vW5PKNb7wAXQVUz87Rc+imjlEvpvbH8yUb+KHmv8NEjVZdsdpyxA==", + "version": "6.14.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.14.0.tgz", + "integrity": "sha512-43qHvDsPsKgNt4W4al3dyU6s2XZ7ZMsiiIw8rQcM9CyEo7g9W8/6m1W4xHuRqmEjTfG1U4qsE/E4Jftw1/Ak1g==", "requires": { - "@octokit/openapi-types": "^6.0.0" + "@octokit/openapi-types": "^6.2.0" } }, "@pmmmwh/react-refresh-webpack-plugin": { @@ -4351,9 +4349,9 @@ "integrity": "sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ==" }, "before-after-hook": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.0.tgz", - "integrity": "sha512-jH6rKQIfroBbhEXVmI7XmXe3ix5S/PgJqpzdDPnR8JGLHWNYLsYZ6tK5iWOF/Ra3oqEX0NobXGlzbiylIzVphQ==" + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.1.tgz", + "integrity": "sha512-/6FKxSTWoJdbsLDF8tdIjaRiFXiE6UHsEHE3OPI/cwPURCVi1ukP0gmLn7XWEiFk5TcwQjjY5PWsU+j+tgXgmw==" }, "bfj": { "version": "7.0.2", @@ -4416,9 +4414,9 @@ "integrity": "sha1-XbBBataCJxLwd4NuJVe4aXwMfJk=" }, "bip39": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/bip39/-/bip39-3.0.3.tgz", - "integrity": "sha512-P0dKrz4g0V0BjXfx7d9QNkJ/Txcz/k+hM9TnjqjUaXtuOfAvxXSw2rJw8DX0e3ZPwnK/IgDxoRqf0bvoVCqbMg==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/bip39/-/bip39-3.0.4.tgz", + "integrity": "sha512-YZKQlb752TrUWqHWj7XAwCSjYEgGAk+/Aas3V7NyjQeZYsztO8JnQUaCWhcnL4T+jL8nvB8typ2jRPzTlgugNw==", "requires": { "@types/node": "11.11.6", "create-hash": "^1.1.0", @@ -8023,9 +8021,9 @@ } }, "flowgen": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/flowgen/-/flowgen-1.13.0.tgz", - "integrity": "sha512-xgdbeWfhY5yayQ3PUTaPn9a0tPK21m5SEJSFZDZf0A0TuoLKYVXU3fhhAN9pokjDcb0E0FGh7EO3t3YNf/iXTw==", + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/flowgen/-/flowgen-1.14.1.tgz", + "integrity": "sha512-rpwM75zi4BH5CLHtak0/1wZ40/3eEi2E7CafjiGPnyL2b9y3zznSrgbNTnpkspU1o4C0Ypsvfwi0lFslIVxWVw==", "requires": { "@babel/code-frame": "^7.10.4", "@babel/highlight": "^7.10.4", @@ -12741,9 +12739,9 @@ } }, "node-abi": { - "version": "2.21.0", - "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-2.21.0.tgz", - "integrity": "sha512-smhrivuPqEM3H5LmnY3KU6HfYv0u4QklgAxfFyRNujKUzbUcYZ+Jc2EhukB9SRcD2VpqhxM7n/MIcp1Ua1/JMg==", + "version": "2.26.0", + "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-2.26.0.tgz", + "integrity": "sha512-ag/Vos/mXXpWLLAYWsAoQdgS+gW7IwvgMLOgqopm/DbzAjazLltzgzpVMsFlgmo9TzG5hGXeaBZx2AI731RIsQ==", "requires": { "semver": "^5.4.1" } @@ -14760,9 +14758,9 @@ } }, "prebuild-install": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-6.0.1.tgz", - "integrity": "sha512-7GOJrLuow8yeiyv75rmvZyeMGzl8mdEX5gY69d6a6bHWmiPevwqFw+tQavhK0EYMaSg3/KD24cWqeQv1EWsqDQ==", + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-6.1.2.tgz", + "integrity": "sha512-PzYWIKZeP+967WuKYXlTOhYBgGOvTRSfaKI89XnfJ0ansRAH7hDU45X+K+FZeI1Wb/7p/NnuctPH3g0IqKUuSQ==", "requires": { "detect-libc": "^1.0.3", "expand-template": "^2.0.3", @@ -14770,15 +14768,14 @@ "minimist": "^1.2.3", "mkdirp-classic": "^0.5.3", "napi-build-utils": "^1.0.1", - "node-abi": "^2.7.0", + "node-abi": "^2.21.0", "noop-logger": "^0.1.1", "npmlog": "^4.0.1", "pump": "^3.0.0", "rc": "^1.2.7", "simple-get": "^3.0.3", "tar-fs": "^2.0.0", - "tunnel-agent": "^0.6.0", - "which-pm-runs": "^1.0.0" + "tunnel-agent": "^0.6.0" } }, "prelude-ls": { @@ -14931,9 +14928,9 @@ }, "dependencies": { "@types/node": { - "version": "13.13.47", - "resolved": "https://registry.npmjs.org/@types/node/-/node-13.13.47.tgz", - "integrity": "sha512-R6851wTjN1YJza8ZIeX6puNBSi/ZULHVh4WVleA7q256l+cP2EtXnKbO455fTs2ytQk3dL9qkU+Wh8l/uROdKg==" + "version": "13.13.51", + "resolved": "https://registry.npmjs.org/@types/node/-/node-13.13.51.tgz", + "integrity": "sha512-66/xg5I5Te4oGi5Jws11PtNmKkZbOPZWyBZZ/l5AOrWj1Dyw+6Ge/JhYTq/2/Yvdqyhrue8RL+DGI298OJ0xcg==" } } }, @@ -16061,9 +16058,9 @@ "dev": true }, "rxjs": { - "version": "6.6.6", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.6.tgz", - "integrity": "sha512-/oTwee4N4iWzAMAL9xdGKjkEHmIwupR3oXbQjCKywF1BeFohswF3vZdogbmEF6pZkOsXTzWkrZszrWpQTByYVg==", + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", "requires": { "tslib": "^1.9.0" } @@ -18222,15 +18219,20 @@ } }, "usb": { - "version": "1.6.5", - "resolved": "https://registry.npmjs.org/usb/-/usb-1.6.5.tgz", - "integrity": "sha512-gLVrerQce+F+TSkWgzXACV07nOw+uBlv0gT3svsqTWWxNDe3ESQBIhss3qonIDArMvWPJp6z3I4hXEDYTmPlHQ==", + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/usb/-/usb-1.7.0.tgz", + "integrity": "sha512-LHm9d389NCzZSMd0DnilxT5Lord4P2E3ETwP1LeuJcEBmI5uLJv8Sd18z/9bairUMbDnnNqX+Hi5Xkl93Kvdmw==", "requires": { "bindings": "^1.4.0", - "nan": "2.13.2", + "node-addon-api": "3.0.2", "prebuild-install": "^5.3.3" }, "dependencies": { + "node-addon-api": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.0.2.tgz", + "integrity": "sha512-+D4s2HCnxPd5PjjI0STKwncjXTUKKqm74MDMz9OPXavjsGmjkvwgLtA5yoxJUdmpj52+2u+RrXgPipahKczMKg==" + }, "prebuild-install": { "version": "5.3.6", "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-5.3.6.tgz", diff --git a/react-delegationdashboard/package.json b/react-delegationdashboard/package.json index 7272b4a7..5b8a0bcc 100644 --- a/react-delegationdashboard/package.json +++ b/react-delegationdashboard/package.json @@ -3,7 +3,7 @@ "version": "0.1.0", "private": true, "dependencies": { - "@elrondnetwork/erdjs": "^3.1.3", + "@elrondnetwork/erdjs": "^4.0.3", "@fortawesome/fontawesome-svg-core": "^1.2.34", "@fortawesome/free-solid-svg-icons": "^5.15.2", "@fortawesome/react-fontawesome": "^0.1.12", diff --git a/react-delegationdashboard/src/components/ConfirmOnLedgerModal/index.tsx b/react-delegationdashboard/src/components/ConfirmOnLedgerModal/index.tsx index c962fcf2..06b0308e 100644 --- a/react-delegationdashboard/src/components/ConfirmOnLedgerModal/index.tsx +++ b/react-delegationdashboard/src/components/ConfirmOnLedgerModal/index.tsx @@ -2,7 +2,7 @@ import React, { useEffect, useState } from 'react'; import { Modal } from 'react-bootstrap'; import { useDelegation } from 'helpers'; import { DelegationTransactionType } from 'helpers/contractDataDefinitions'; -import { TransactionHash } from '@elrondnetwork/erdjs/out'; +import { TransactionHash } from '@elrondnetwork/erdjs'; import TransactionStatusModal from 'components/LedgerTransactionStatus'; import { useHistory } from 'react-router-dom'; import { useContext, useDispatch } from 'context'; diff --git a/react-delegationdashboard/src/components/Layout/APRCalculation.ts b/react-delegationdashboard/src/components/Layout/APRCalculation.ts index 8835ecbc..de381289 100644 --- a/react-delegationdashboard/src/components/Layout/APRCalculation.ts +++ b/react-delegationdashboard/src/components/Layout/APRCalculation.ts @@ -1,4 +1,4 @@ -import { ContractReturnData } from '@elrondnetwork/erdjs/out/smartcontracts/query'; +import { decodeString } from '@elrondnetwork/erdjs/out/smartcontracts/codec/binaryCodecUtils'; import denominate from 'components/Denominate/formatters'; import { yearSettings, @@ -31,13 +31,16 @@ const calculateAPR = ({ stats: Stats; networkConfig: NetworkConfig; networkStake: NetworkStake; - blsKeys: ContractReturnData[]; + blsKeys: Buffer[]; totalActiveStake: string; }) => { const allNodes = blsKeys.filter( - key => key.asString === 'staked' || key.asString === 'jailed' || key.asString === 'queued' + key => + decodeString(key) === 'staked' || + decodeString(key) === 'jailed' || + decodeString(key) === 'queued' ).length; - const allActiveNodes = blsKeys.filter(key => key.asString === 'staked').length; + const allActiveNodes = blsKeys.filter(key => decodeString(key) === 'staked').length; if (allActiveNodes <= 0) { return '0.00'; } diff --git a/react-delegationdashboard/src/components/Layout/index.tsx b/react-delegationdashboard/src/components/Layout/index.tsx index 15997e71..b3c0876b 100644 --- a/react-delegationdashboard/src/components/Layout/index.tsx +++ b/react-delegationdashboard/src/components/Layout/index.tsx @@ -1,4 +1,3 @@ -import { QueryResponse } from '@elrondnetwork/erdjs/out/smartcontracts/query'; import BigNumber from 'bignumber.js'; import denominate from 'components/Denominate/formatters'; import { denomination, decimals, auctionContract, network } from 'config'; @@ -17,6 +16,13 @@ import { calculateAPR } from './APRCalculation'; import Footer from './Footer'; import Navbar from './Navbar'; import axios from 'axios'; +import { QueryResponse } from '@elrondnetwork/erdjs'; + +import { + decodeUnsignedNumber, + decodeBigNumber, + decodeString, +} from '@elrondnetwork/erdjs/out/smartcontracts/codec/binaryCodecUtils'; const getStakingSCBalance = async (): Promise => { const result = await axios.get(`${network.apiAddress}/accounts/${auctionContract}`); @@ -40,22 +46,23 @@ const Layout = ({ children, page }: { children: React.ReactNode; page: string }) } = contractViews; const getContractOverviewType = (value: QueryResponse) => { + let response = value.outputUntyped(); let initialOwnerFunds = denominate({ decimals, denomination, - input: value.returnData[3].asBigInt.toFixed(), + input: decodeBigNumber(response[3]).toFixed(), }); return new ContractOverview( - value.returnData[0].asHex.toString(), - (value.returnData[1].asNumber / 100).toString(), - value.returnData[2].asBigInt.toFixed(), + response[0].toString('hex'), + (decodeUnsignedNumber(response[1]) / 100).toString(), + decodeBigNumber(response[2]).toFixed(), initialOwnerFunds, - value.returnData[4]?.asString, - value.returnData[5]?.asBool, - value.returnData[6].asBool, - value.returnData[7]?.asString, - value.returnData[8].asBool, - value.returnData[9]?.asNumber * 6 + decodeString(response[4]), + decodeString(response[5]), + decodeString(response[6]), + decodeString(response[7]), + decodeString(response[8]), + decodeUnsignedNumber(response[9]) * 6 ); }; @@ -63,10 +70,11 @@ const Layout = ({ children, page }: { children: React.ReactNode; page: string }) if (value && value.returnData && value.returnData.length === 0) { return emptyAgencyMetaData; } + const response = value.outputUntyped(); return new AgencyMetadata( - value.returnData[0]?.asString, - value.returnData[1]?.asString, - value.returnData[2]?.asString + decodeString(response[0]), + decodeString(response[1]), + decodeString(response[2]) ); }; React.useEffect(() => { @@ -87,10 +95,8 @@ const Layout = ({ children, page }: { children: React.ReactNode; page: string }) metaData, numUsers, contractOverview, - { - returnData: [activeStake], - }, - { returnData: blsKeys }, + activeStake, + blsKeysResponse, networkStats, networkStake, networkConfig, @@ -99,11 +105,11 @@ const Layout = ({ children, page }: { children: React.ReactNode; page: string }) ]) => { dispatch({ type: 'setNumUsers', - numUsers: numUsers.returnData[0].asNumber, + numUsers: decodeUnsignedNumber(numUsers.outputUntyped()[0]), }); dispatch({ type: 'setMinDelegationAmount', - minDelegationAmount: delegationManager.returnData[5].asNumber, + minDelegationAmount: decodeUnsignedNumber(delegationManager.outputUntyped()[0]), }); const contract = getContractOverviewType(contractOverview); dispatch({ @@ -116,11 +122,14 @@ const Layout = ({ children, page }: { children: React.ReactNode; page: string }) }); dispatch({ type: 'setTotalActiveStake', - totalActiveStake: activeStake.asBigInt.toFixed(), + totalActiveStake: decodeBigNumber(activeStake.outputUntyped()[0]).toFixed(), }); dispatch({ type: 'setNumberOfActiveNodes', - numberOfActiveNodes: blsKeys.filter(key => key.asString === 'staked').length.toString(), + numberOfActiveNodes: blsKeysResponse + .outputUntyped() + .filter(key => decodeString(key) === 'staked') + .length.toString(), }); dispatch({ type: 'setNetworkConfig', @@ -151,8 +160,8 @@ const Layout = ({ children, page }: { children: React.ReactNode; page: string }) networkStake.QueueSize, new BigNumber(stakingBalance) // Replace with the economics value from erdjs 4.x ), - blsKeys: blsKeys, - totalActiveStake: activeStake.asBigInt.toFixed(), + blsKeys: blsKeysResponse.outputUntyped(), + totalActiveStake: decodeBigNumber(activeStake.outputUntyped()[0]).toFixed(), }) ); diff --git a/react-delegationdashboard/src/components/LedgerTransactionStatus/index.tsx b/react-delegationdashboard/src/components/LedgerTransactionStatus/index.tsx index 71f61a43..3328a3d3 100644 --- a/react-delegationdashboard/src/components/LedgerTransactionStatus/index.tsx +++ b/react-delegationdashboard/src/components/LedgerTransactionStatus/index.tsx @@ -1,4 +1,4 @@ -import { TransactionHash } from '@elrondnetwork/erdjs/out'; +import { TransactionHash } from '@elrondnetwork/erdjs'; import { faCheck, faHourglass, faTimes } from '@fortawesome/free-solid-svg-icons'; import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'; import { useContext } from 'context'; @@ -81,7 +81,7 @@ const TransactionStatusModal = ({ show, txHash }: TransactionStatusModalType) => icon={txDStatus.icon} className={`text-white ml-1 ${getStatus(txStatus.pending) && spin ? 'fa-spin' : ''}`} /> - +