From 13374e2932b8967806f700815031e75fb23cda6c Mon Sep 17 00:00:00 2001 From: Marlon Williams Date: Sat, 22 Jun 2019 23:50:34 -0400 Subject: [PATCH] Better ScatterJS compat --- README.md | 70 +++++----- app/package-lock.json | 34 ++--- app/package.json | 4 +- app/renderer/assets/locales/de-DE/common.json | 2 +- app/renderer/assets/locales/en-US/common.json | 2 +- app/renderer/assets/locales/es-ES/common.json | 2 +- app/renderer/assets/locales/et-EE/common.json | 2 +- app/renderer/assets/locales/fr-FR/common.json | 2 +- app/renderer/assets/locales/it-IT/common.json | 2 +- app/renderer/assets/locales/ja-JP/common.json | 2 +- app/renderer/assets/locales/ko-KR/common.json | 2 +- app/renderer/assets/locales/ru-RU/common.json | 2 +- app/renderer/assets/locales/zh-CN/common.json | 2 +- .../API/models/Blockchains.js | 4 +- app/wallet-integration/API/models/Network.js | 3 +- .../API/plugins/default/eos.js | 126 +++++++++--------- .../API/services/ApiService.js | 57 ++++---- app/wallet-integration/actions/accounts.js | 5 +- package-lock.json | 2 +- package.json | 2 +- shasum.sh | 36 ++--- 21 files changed, 180 insertions(+), 183 deletions(-) diff --git a/README.md b/README.md index 3b4ffc9a02..1dfac13f1f 100644 --- a/README.md +++ b/README.md @@ -41,11 +41,11 @@ ### Releases -Current 1.0.6 release downloads: +Current 1.0.7 release downloads: -- [Windows Installer](https://github.com/Telos-Foundation/Sqrl/releases/download/1.0.6/win-Sqrl-1.0.6.exe) -- [macOS Package](https://github.com/Telos-Foundation/Sqrl/releases/download/1.0.6/mac-Sqrl-1.0.6.dmg) -- [Linux (src)](https://github.com/Telos-Foundation/Sqrl/archive/1.0.6.tar.gz) +- [Windows Installer](https://github.com/Telos-Foundation/Sqrl/releases/download/1.0.7/win-Sqrl-1.0.7.exe) +- [macOS Package](https://github.com/Telos-Foundation/Sqrl/releases/download/1.0.7/mac-Sqrl-1.0.7.dmg) +- [Linux (src)](https://github.com/Telos-Foundation/Sqrl/archive/1.0.7.tar.gz) The latest release will always be available on the releases page of this repository: @@ -117,40 +117,40 @@ Signed by [eosmiami on keybase](https://keybase.io/eosmiami) -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 -shasum -b -a 512 linux-Sqrl-1.0.6-amd64.deb -91ad98f0216d93b7746c8e7d5e19b3ef1f7c622ee4a80bf2f27efc415d5436874c7a979323bdd9b54045d04bf1699c5c9f1379fbc77cdbcae464bb23618ca8fa *linux-Sqrl-1.0.6-amd64.deb -shasum -b -a 512 linux-Sqrl-1.0.6-amd64.snap -17e8dbe57c0562c429df5ec32c33a73d26bf32f8c6b43b364cb4f8c2fbbec3413de08e6cd8991911a9a55107b914b1804a954d7c938b2f8f970dc76c36bfcf53 *linux-Sqrl-1.0.6-amd64.snap -shasum -b -a 512 linux-Sqrl-1.0.6-arm64.deb -97dfb7eb0a00876cf5ffa37310ec6d8b21aba64d92dcfda67f087145b69656fe715a07979aac09712e2c8a5810da94fe17846200903819dcf7b4597c399c40c8 *linux-Sqrl-1.0.6-arm64.deb -shasum -b -a 512 linux-Sqrl-1.0.6-armv7l.deb -2eed65198f1f4c758ee52634580af4cddf3ec569f7b2ef2e622ad5683c84015a37ae5f47d3e3f32febfd45fb207d84ca2f83f93cb28a867bc27aedd9587776e3 *linux-Sqrl-1.0.6-armv7l.deb -shasum -b -a 512 linux-Sqrl-1.0.6-i386.deb -28fc6fc8757aaa7a18da7e712baf7180ab1d5636ecf4812925a9569e4e9744282ad4e32bc60969d17e1f107fbde55264d3ce5c400b1084a0323544f02f0282c8 *linux-Sqrl-1.0.6-i386.deb -shasum -b -a 512 linux-Sqrl-1.0.6-x86_64.AppImage -a9d12cb39dcd35ca2aeb7e6f03ea99f1005c601210b799de86da9365926e15325de34351634e333ae6dd7a58f74126817991b695bad1d2ec4b6ca2e542928241 *linux-Sqrl-1.0.6-x86_64.AppImage -shasum -b -a 512 mac-Sqrl-1.0.6.dmg -008f7a5519fa07fe665ddf166457f43c3101162586aa83d8648fd0c3274ba1b45ec4b675290e8b0cc815a6fa1ea17bc2ce2db67ce41809418e6bd520d390251d *mac-Sqrl-1.0.6.dmg -shasum -b -a 512 mac-Sqrl-1.0.6.zip -d53880399aa0ede54da54b42e80bbbe11f9b6a95a0bdd80dfaf4fdba3c67f393d131e4734bff53a14aae03f600422d017f1d19b9a7b88cd7309a47e198096850 *mac-Sqrl-1.0.6.zip -shasum -b -a 512 win-Sqrl-1.0.6.exe -34eb26ab5d4fdc887baf48fc363b086d4c96bf5dedcc5ca87f4764d3249ad9899e6bb6e46c9a8af77e040912393107eab5259bbd58aebe8af399a0b2505377ce *win-Sqrl-1.0.6.exe +shasum -b -a 512 linux-Sqrl-1.0.7-amd64.deb +3d9fd88470a642038cbf4f1d3fdbbf68c7f5d163110b8acce71410220afaf8f45130e3b27a65c01b8d8fd19d5e1ea0406a97dc98f9683c383aa1ad138f158148 *linux-Sqrl-1.0.7-amd64.deb +shasum -b -a 512 linux-Sqrl-1.0.7-amd64.snap +185e35eaa9fb80dd4f2d8538381751bd6ee347630e612a81c35151b0f83acf74d137ac7095dd84307b24adf72787f6eee4f206c43a13365cec12b87de4344ee7 *linux-Sqrl-1.0.7-amd64.snap +shasum -b -a 512 linux-Sqrl-1.0.7-arm64.deb +16c923f3a08f00d543ce2146eca3f51cf65666837f4addbd26c127a3a25c2058e40795f4db09319e6e0bedbd568e141cc080901626930b7b1475e30b9d2d2e64 *linux-Sqrl-1.0.7-arm64.deb +shasum -b -a 512 linux-Sqrl-1.0.7-armv7l.deb +8be48c8b3e2073de5308cf0c0b30d141557a5e96686d19bd6309a1b7551af9e6c0c1170a9de8025df9a72228d3af9082c364b4a975eebf0c48763fe6d812bd39 *linux-Sqrl-1.0.7-armv7l.deb +shasum -b -a 512 linux-Sqrl-1.0.7-i386.deb +29fc14d6e8adb5fa549ee4ab43d0b1daea5fd95c813700240d8ffce11ef8b1066aa286781eb619470f57adde75a79155101b71d54cf5b98774649d12ffa7b147 *linux-Sqrl-1.0.7-i386.deb +shasum -b -a 512 linux-Sqrl-1.0.7-x86_64.AppImage +42dd39728c9b853dc64b42a44e59af52325a5de4e7fc24ceebf97c8fca627ca1ed0701e86aaeaac476eb3f84be1856bc672bc21997a86cb12265abec95c866df *linux-Sqrl-1.0.7-x86_64.AppImage +shasum -b -a 512 mac-Sqrl-1.0.7.dmg +1d1006d0e395061fd53d38b74852f73552879a241a18fa22359d500047c5fa0aa0988519d63064b58f488111af5976a2fd42f07e14f3b0428301b2364a1f8643 *mac-Sqrl-1.0.7.dmg +shasum -b -a 512 mac-Sqrl-1.0.7.zip +556beee367d5eb736810ae29a07ce67b5be6b83dd0548b41790a4ca27239e3ceb1181f343166f0fea04d3a119556f0bbbd4839145b93bc27cc48c97da08d3434 *mac-Sqrl-1.0.7.zip +shasum -b -a 512 win-Sqrl-1.0.7.exe +a767b0339d801b019cb8cc739158109a906b7ece9d177e1546262d89699fb4e16205fe97f1d6f4b2ebbf3d5a3da21439da05d618ac7f8ae99ae81de9ecb929cd *win-Sqrl-1.0.7.exe -----BEGIN PGP SIGNATURE----- Version: Keybase OpenPGP v2.1.0 Comment: https://keybase.io/crypto -wsFcBAABCgAGBQJc/8rHAAoJEDT4ke1a0TzT8uAP/RdBPAQp3jy23tP/pQtCTIA0 -CCptw1r93I2kAUzMJF4hbvHr4rJAVfg0uDiOdMVJc77UpQ+dA6VurIpfKuSmjvfM -T01rqsXmU7HGErh3QtYRkbAjC0z23hlxa4TK7t8SR1pWZZCwpiaAjrtKgoaU0Wk4 -Fncsr+gaK5cEdpO8uZUycMTwbfhZ480bOYRZZ2k9wY/y/aSYlMksVVODYkhzWYSD -j2Y+bL6htKYh+bOhhwRhW2TMsUEeY5gjq3DeSJhcNfqacnFDXSBMdePxBwFSN9iA -SDTI+CzOb+axJ5j6lbHyotKhSgZlHQ2daeVb0ZKcW1o460P2lAgFJlM8SUTK1ili -D2Jl+9o6mo4S0c2VKahGs1K915gCCIbf7LiHY4ZWDC6NXqqpCPCp8sF+YLMPlEqG -GI0ZpKxa6V9hItzMjDHmVXSwggy4IxiRirV15W94eLmwWGDrGwzcFZN8cWds1bR6 -s60WmCm9AwEg16R+fPcMGqicnxscFnvjXbO3MrPnLSNz9N+Zf9IhPsdzqqZvoKH1 -mJIIbNZzSuNZBasdqKgMb4rJVkfqBo5bYz8pibNL/yJHxttJtfSEGCVhJ2QAX4kt -9xpB5vCoKHTKB9PYZA9CbrnhYRVe7rljffN/IEDA+zhAkQApXX3Gma+p8Zrfxa++ -kevYSEvXikI6Kwn3by2o -=r8Lb +wsFcBAABCgAGBQJdDt0yAAoJEDT4ke1a0TzTOMAQAINgX0lyieiroTiuBpzHnKuc +yQ2h+2afsVakfkEAOKadNIcXV+MNS0aDPPhvlrlYg3ROGzg9V1kjveG2kcEc1Ok0 +5vvwXkUNbZdOznzMJZTGcD6iPUBZV8Qhme4R+tpbF1/WnTBTHpr0p7rHS0S+xV+d +Xf6afGW3ksgRkXkVHVwxlBSW141bbuo6ZL7ORDH31h8hLUX4wgIA3d/yFg26XVvm +2/Uf/3X23JaFSv/NURMhcRsQSSEj+BjPoG9iQ0lhgTYHkglAPg18YtCvyc6+2Gt4 +5d8JPBCX14vAbwHWMgRIHpFFX+EhaghVm1OON/i4MhkX6jEQv1ZrODPL0PsAgXfm +t/wUb4s1WsecT29fX07hQD+18KNb46noHSHG8oZuFPIo9Xx4wPhtJ7u6XM0jDy2p +DxKSLuwzNY6NjKB2cU+twqDSswQoQdTjfr3t4+EG4F/2nW/gW/42HZeilxIrWZdr +3H/uBPu9BNTLd9GiMrJILebBZC4ib/E7apc9k2eDGwzKZbEcxAdYZ5b89aVSeeu6 +yluIHbMOdJy/cW+LHL9cETZUWFF0V3GVvA5cPF99GvPPfpaTNUeYFrdoCTTmHhV4 +2SZnZ84UjNqWNobnQYwzWIR+bEo8k69ZXveOhx9yXGSePvSn1RbBIjefWipMV+aS +WjZ2ZIp+QvKCy/JQGEvQ +=5w25 -----END PGP SIGNATURE----- ``` \ No newline at end of file diff --git a/app/package-lock.json b/app/package-lock.json index 2d93be5fac..56b70ff3b5 100644 --- a/app/package-lock.json +++ b/app/package-lock.json @@ -1,14 +1,9 @@ { "name": "Sqrl", - "version": "1.0.6", + "version": "1.0.7", "lockfileVersion": 1, "requires": true, "dependencies": { - "@types/jest": { - "version": "23.3.10", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-23.3.10.tgz", - "integrity": "sha512-DC8xTuW/6TYgvEg3HEXS7cu9OijFqprVDXXiOcdOKZCU/5PJNLZU37VVvmZHdtMiGOa8wAA/We+JzbdxFzQTRQ==" - }, "accepts": { "version": "1.3.5", "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.5.tgz", @@ -268,9 +263,9 @@ "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=" }, "core-js": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.1.tgz", - "integrity": "sha512-L72mmmEayPJBejKIWe2pYtGis5r0tQ5NaJekdhyXgeMQTpJoBsH0NL4ElY2LfSoV15xeQWKQ+XTTOZdyero5Xg==" + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.9.tgz", + "integrity": "sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A==" }, "create-hash": { "version": "1.2.0", @@ -442,14 +437,12 @@ } }, "eosjs2": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/eosjs2/-/eosjs2-1.0.0.tgz", - "integrity": "sha512-LtpJx/UdbzSLtwv3bh2MYTjvYkMcFpy0HPKwmBh0yABLPkUjHDTBIkEdf1hO64tZ6GscgDBWBxBxItiEBWcvAw==", + "version": "0.0.13", + "resolved": "https://registry.npmjs.org/eosjs2/-/eosjs2-0.0.13.tgz", + "integrity": "sha512-4CMA3rnLX6O/txBCIyVAft6pujmYYdswZflS/pDfh5FJiMND+4Bns29UP7UnIGxmp0KEtTrJiD/VFRUez0suiA==", "requires": { - "@types/jest": "^23.3.1", "babel-polyfill": "^6.26.0", - "eosjs-ecc": "^4.0.1", - "text-encoding": "^0.6.4" + "eosjs-ecc": "^4.0.1" } }, "err-code": { @@ -1290,9 +1283,9 @@ "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==" }, "randombytes": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.0.6.tgz", - "integrity": "sha512-CIQ5OFxf4Jou6uOKe9t1AOgqpeU5fd70A8NPdHSGeYXqXsPe6peOwI0cUl88RWZ6sP1vPMV3avd/R6cZ5/sP1A==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", "requires": { "safe-buffer": "^5.1.0" } @@ -1471,11 +1464,6 @@ "safe-buffer": "~5.1.0" } }, - "text-encoding": { - "version": "0.6.4", - "resolved": "http://registry.npmjs.org/text-encoding/-/text-encoding-0.6.4.tgz", - "integrity": "sha1-45mpgiV6J22uQou5KEXLcb3CbRk=" - }, "to-array": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/to-array/-/to-array-0.1.4.tgz", diff --git a/app/package.json b/app/package.json index 4fee1e264f..076518456f 100644 --- a/app/package.json +++ b/app/package.json @@ -1,7 +1,7 @@ { "name": "Sqrl", "productName": "Sqrl", - "version": "1.0.6", + "version": "1.0.7", "description": "", "main": "./main.prod.js", "author": { @@ -16,7 +16,7 @@ "license": "MIT", "dependencies": { "eos-rc-parser": "^1.0.4", - "eosjs2": "^1.0.0", + "eosjs2": "0.0.13", "ipfs-http-client": "^31.0.1", "scrypt-async": "^2.0.1", "socket.io": "^2.2.0" diff --git a/app/renderer/assets/locales/de-DE/common.json b/app/renderer/assets/locales/de-DE/common.json index d3001ae559..99aa7f71d8 100644 --- a/app/renderer/assets/locales/de-DE/common.json +++ b/app/renderer/assets/locales/de-DE/common.json @@ -1,6 +1,6 @@ { "application_name": "Sqrl", - "application_version": "1.0.6", + "application_version": "1.0.7", "back": "Back", "block_height": "Block Height", "cancel": "Cancel", diff --git a/app/renderer/assets/locales/en-US/common.json b/app/renderer/assets/locales/en-US/common.json index df1c764715..d43beb6379 100644 --- a/app/renderer/assets/locales/en-US/common.json +++ b/app/renderer/assets/locales/en-US/common.json @@ -1,6 +1,6 @@ { "application_name": "Sqrl", - "application_version": "1.0.6", + "application_version": "1.0.7", "back": "Back", "block_height": "Block Height", "cancel": "Cancel", diff --git a/app/renderer/assets/locales/es-ES/common.json b/app/renderer/assets/locales/es-ES/common.json index 62e1bd8937..21988fc4cd 100644 --- a/app/renderer/assets/locales/es-ES/common.json +++ b/app/renderer/assets/locales/es-ES/common.json @@ -1,6 +1,6 @@ { "application_name": "Sqrl", - "application_version": "1.0.6", + "application_version": "1.0.7", "back": "Atrás", "block_height": "Altura del bloque", "cancel": "Cancelar", diff --git a/app/renderer/assets/locales/et-EE/common.json b/app/renderer/assets/locales/et-EE/common.json index 239e9e0da0..1b7a6fd98d 100644 --- a/app/renderer/assets/locales/et-EE/common.json +++ b/app/renderer/assets/locales/et-EE/common.json @@ -1,6 +1,6 @@ { "application_name": "Sqrl", - "application_version": "1.0.6", + "application_version": "1.0.7", "back": "Tagasi", "block_height": "Ploki kõrgus", "cancel": "Loobu", diff --git a/app/renderer/assets/locales/fr-FR/common.json b/app/renderer/assets/locales/fr-FR/common.json index 63c5f0ca57..7edefed723 100644 --- a/app/renderer/assets/locales/fr-FR/common.json +++ b/app/renderer/assets/locales/fr-FR/common.json @@ -1,6 +1,6 @@ { "application_name": "Sqrl", - "application_version": "1.0.6", + "application_version": "1.0.7", "back": "Back", "block_height": "Hauteur du Bloc", "cancel": "Annuler", diff --git a/app/renderer/assets/locales/it-IT/common.json b/app/renderer/assets/locales/it-IT/common.json index 0903d38923..7e09a0884b 100644 --- a/app/renderer/assets/locales/it-IT/common.json +++ b/app/renderer/assets/locales/it-IT/common.json @@ -1,6 +1,6 @@ { "application_name": "Sqrl", - "application_version": "1.0.6", + "application_version": "1.0.7", "back": "Back", "block_height": "Numero di Blocco", "cancel": "Cancella", diff --git a/app/renderer/assets/locales/ja-JP/common.json b/app/renderer/assets/locales/ja-JP/common.json index 6e8bbc08db..c78ddbbe97 100644 --- a/app/renderer/assets/locales/ja-JP/common.json +++ b/app/renderer/assets/locales/ja-JP/common.json @@ -1,6 +1,6 @@ { "application_name": "Sqrl", - "application_version": "1.0.6", + "application_version": "1.0.7", "back": "戻る", "block_height": "ブロック高", "cancel": "キャンセル", diff --git a/app/renderer/assets/locales/ko-KR/common.json b/app/renderer/assets/locales/ko-KR/common.json index 92a97461f4..1ba882836d 100755 --- a/app/renderer/assets/locales/ko-KR/common.json +++ b/app/renderer/assets/locales/ko-KR/common.json @@ -1,6 +1,6 @@ { "application_name": "Sqrl", - "application_version": "1.0.6", + "application_version": "1.0.7", "back": "뒤로", "block_height": "블록 높이", "cancel": "취소", diff --git a/app/renderer/assets/locales/ru-RU/common.json b/app/renderer/assets/locales/ru-RU/common.json index 0ea7296908..f406186e10 100644 --- a/app/renderer/assets/locales/ru-RU/common.json +++ b/app/renderer/assets/locales/ru-RU/common.json @@ -1,6 +1,6 @@ { "application_name": "Настольное приложение для блокцепи EOSIO (Sqrl)", - "application_version": "1.0.6", + "application_version": "1.0.7", "back": "Back", "block_height": "Номер Блока", "cancel": "Отменить", diff --git a/app/renderer/assets/locales/zh-CN/common.json b/app/renderer/assets/locales/zh-CN/common.json index 64e4d2389e..3689a53f10 100755 --- a/app/renderer/assets/locales/zh-CN/common.json +++ b/app/renderer/assets/locales/zh-CN/common.json @@ -1,6 +1,6 @@ { "application_name": "Sqrl", - "application_version": "1.0.6", + "application_version": "1.0.7", "back": "Back", "block_height": "区块高度", "cancel": "取消", diff --git a/app/wallet-integration/API/models/Blockchains.js b/app/wallet-integration/API/models/Blockchains.js index f900dfcf87..1e9e874347 100644 --- a/app/wallet-integration/API/models/Blockchains.js +++ b/app/wallet-integration/API/models/Blockchains.js @@ -3,7 +3,7 @@ export const Blockchains = { EOSIO:'eos', // ETH:'eth', // TRX:'trx', - TELOS:'tlos' + // TELOS:'tlos' }; export const BlockchainsArray = @@ -14,6 +14,6 @@ export const blockchainName = x => { case Blockchains.EOSIO: return 'EOSIO'; // case Blockchains.ETH: return 'Ethereum'; // case Blockchains.TRX: return 'Tron'; - case Blockchains.TELOS: return 'TELOS'; + // case Blockchains.TELOS: return 'TELOS'; } } \ No newline at end of file diff --git a/app/wallet-integration/API/models/Network.js b/app/wallet-integration/API/models/Network.js index b22da1123d..49aa31ae24 100644 --- a/app/wallet-integration/API/models/Network.js +++ b/app/wallet-integration/API/models/Network.js @@ -32,7 +32,8 @@ export default class Network { return new Network('', '', splits[0], parseInt(splits[1] || 80), blockchain) } - unique(){ return (`${this.blockchain}:` + (this.chainId.length ? `chain:${this.chainId}` : `${this.host}:${this.port}`)).toLowerCase(); } + //unique(){ return (`${this.blockchain}:` + (this.chainId.length ? `chain:${this.chainId}` : `${this.host}:${this.port}`)).toLowerCase(); } + unique(){ return (this.chainId.length ? `chain:${this.chainId}` : `${this.host}:${this.port}`).toLowerCase(); } hostport(){ return `${this.host}${this.port ? ':' : ''}${this.port}` } fullhost(){ return `${this.protocol}://${this.host}${this.port ? ':' : ''}${this.port}` } clone(){ return Network.fromJson(JSON.parse(JSON.stringify(this))) } diff --git a/app/wallet-integration/API/plugins/default/eos.js b/app/wallet-integration/API/plugins/default/eos.js index 69ecf9efe7..2c0c3a6594 100644 --- a/app/wallet-integration/API/plugins/default/eos.js +++ b/app/wallet-integration/API/plugins/default/eos.js @@ -16,7 +16,7 @@ import * as ricardianParser from 'eos-rc-parser'; import * as Actions from '../../models/api/ApiActions'; // import {store} from '../../store/store' import eosjs2 from 'eosjs2'; -// import * as numeric from "../../../node_modules/eosjs2/dist/eosjs2-numeric"; +import * as numeric from "../../../../node_modules/eosjs2/dist/eosjs2-numeric"; import { decrypt } from '../../../../shared/actions/wallet'; import APIUtils from '../../util/APIUtils'; import PopupService from '../../services/PopupService'; @@ -85,13 +85,14 @@ export default class EOS{ chainId: "", node: "", } - this.name = Blockchains.TELOS; + //this.name = Blockchains.TELOS; + this.name = Blockchains.EOSIO; this.type = BLOCKCHAIN_SUPPORT; } setBlockchain(blockchain){ this.blockchain = Object.assign(this.blockchain, blockchain); - this.blockchain.chain = this.blockchain.tokenSymbol.toLowerCase(); + //this.blockchain.chain = this.blockchain.tokenSymbol.toLowerCase(); } explorers(){ return EXPLORERS; } @@ -105,18 +106,18 @@ export default class EOS{ async getEndorsedNetwork(){ return new Promise((resolve, reject) => { resolve(new Network( - 'TELOS Testnet', 'https', + 'Telos Mainnet', 'https', 'api.eos.miami', - 17441, + 443, Blockchains.TELOS, - '335e60379729c982a6f04adeaad166234f7bf5bf1191252b8941783559aec33e' + '4667b205c6838ef70ff7988f6e8257e8be0e1284a2f59699054a018f743b1d11' )); }); } async isEndorsedNetwork(network){ const endorsedNetwork = await this.getEndorsedNetwork(); - return network.blockchain === Blockchains.TELOS && network.chainId === endorsedNetwork.chainId; + return network.blockchain === Blockchains.EOSIO && network.chainId === endorsedNetwork.chainId; } async getChainId(network){ @@ -251,7 +252,7 @@ export default class EOS{ defaultDecimals(){ return 4; } defaultToken(){ - return {symbol:this.blockchain.tokenSymbol, account:'eosio.token', name:'TELOS', blockchain:this.blockchain.chain}; + return {symbol:this.blockchain.tokenSymbol, account:'eosio.token', name:'Telos', blockchain:this.blockchain.chain}; } // async fetchTokens(tokens){ @@ -488,59 +489,62 @@ export default class EOS{ } async parseEosjs2Request(payload, network){ - return null; - // const {transaction} = payload; - - // const rpc = new eosjs2.Rpc.JsonRpc(network.fullhost()); - // const api = new eosjs2.Api({rpc}); - - // const contracts = ObjectHelpers.distinct(transaction.abis.map(x => x.account_name)); - - // const abis = await Promise.all(contracts.map(async accountName => { - // const cachedABI = await StorageService.getCachedABI(accountName+'eosjs2', network.chainId); - - // const account = await rpc.get_account(accountName); - // const lastUpdate = +new Date(account.last_code_update); - - // let rawAbiHex; - // const fetchAbi = async () => { - // const rawAbi = numeric.base64ToBinary((await rpc.get_raw_code_and_abi(accountName)).abi); - // rawAbiHex = Buffer.from(rawAbi).toString('hex'); - // await StorageService.cacheABI(accountName+'eosjs2', network.chainId, { - // rawAbiHex, - // timestamp:+new Date() - // }); - // }; - - // if(!cachedABI) await fetchAbi(); - // else { - // if(cachedABI.timestamp < lastUpdate) await fetchAbi(); - // else rawAbiHex = cachedABI.rawAbiHex; - // } - - // const rawAbi = Buffer.from(rawAbiHex, 'hex'); - // const abi = api.rawAbiToJson(rawAbi); - // api.cachedAbis.set(accountName, { rawAbi, abi }); - // return true; - // })); - - // const buffer = Buffer.from(transaction.serializedTransaction, 'hex'); - // const parsed = await api.deserializeTransactionWithActions(buffer); - // parsed.actions.map(x => { - // x.code = x.account; - // x.type = x.name; - // delete x.account; - // delete x.name; - // }); - - // payload.buf = Buffer.concat([ - // new Buffer(transaction.chainId, "hex"), // Chain ID - // buffer, // Transaction - // new Buffer(new Uint8Array(32)), // Context free actions - // ]); - - // return parsed.actions; - } + const {transaction} = payload; + + const rpc = new eosjs2.Rpc.JsonRpc(network.fullhost()); + const api = new eosjs2.Api({rpc}); + + const contracts = ObjectHelpers.distinct(transaction.abis.map(x => { + if(x.hasOwnProperty('account_name')) return x.account_name; + return x.accountName; + })); + + const abis = await Promise.all(contracts.map(async accountName => { + const cachedABI = null; // await StorageService.getCachedABI(accountName+'eosjs2', network.chainId); + + const account = await rpc.get_account(accountName); + const lastUpdate = +new Date(account.last_code_update); + + let rawAbiHex; + const fetchAbi = async () => { + const rawAbi = numeric.base64ToBinary((await rpc.get_raw_code_and_abi(accountName)).abi); + rawAbiHex = Buffer.from(rawAbi).toString('hex'); + /*await StorageService.cacheABI(accountName+'eosjs2', network.chainId, { + rawAbiHex, + timestamp:+new Date() + });*/ + }; + + if(!cachedABI) await fetchAbi(); + else { + if(cachedABI.timestamp < lastUpdate) await fetchAbi(); + else rawAbiHex = cachedABI.rawAbiHex; + } + + const rawAbi = Buffer.from(rawAbiHex, 'hex'); + const abi = api.rawAbiToJson(rawAbi); + api.cachedAbis.set(accountName, { rawAbi, abi }); + return true; + })); + + const buffer = Buffer.from(transaction.serializedTransaction, 'hex'); + const parsed = await api.deserializeTransactionWithActions(buffer); + parsed.actions.map(x => { + x.code = x.account; + x.type = x.name; + }); + + payload.buf = Buffer.concat([ + new Buffer(transaction.chainId, "hex"), // Chain ID + buffer, // Transaction + new Buffer(new Uint8Array(32)), // Context free actions + ]); + + payload.transaction.parsed = Object.assign({}, parsed); + payload.transaction.parsed.actions = await api.serializeActions(parsed.actions); + + return parsed.actions; + } async requestParser(payload, network){ if(payload.transaction.hasOwnProperty('serializedTransaction')) diff --git a/app/wallet-integration/API/services/ApiService.js b/app/wallet-integration/API/services/ApiService.js index 867fb29a49..7c3e7abe77 100644 --- a/app/wallet-integration/API/services/ApiService.js +++ b/app/wallet-integration/API/services/ApiService.js @@ -4,7 +4,7 @@ import Action from '../models/api/Action' // import * as StoreActions from '../store/constants' import ObjectHelpers from '../util/ObjectHelpers' import Hasher from '../util/Hasher' -// import IdGenerator from '../util/IdGenerator' +import IdGenerator from '../util/IdGenerator' // import {Popup} from '../models/popups/Popup'; // import PopupService from '../services/PopupService'; @@ -23,6 +23,7 @@ import Error from '../models/errors/Error' import Network from '../models/Network' import APIUtils from '../util/APIUtils'; import PopupService from './PopupService'; +import { find } from 'lodash'; export default class ApiService { static apiHandler = null; @@ -169,33 +170,36 @@ export default class ApiService { // * @param request // * @returns {Promise.} // */ - // static async [Actions.REQUEST_ADD_NETWORK](request){ - // return new Promise(async resolve => { - - // let {network} = request.payload; - - // network = Network.fromJson(network); - // network.name = request.payload.origin + IdGenerator.text(4); - - // if(!network.isValid()) - // return resolve({id:request.id, result:new Error("bad_network", "The network being suggested is invalid")}); + static async [Actions.REQUEST_ADD_NETWORK](request){ + return new Promise(resolve => { - // if(store.state.scatter.settings.networks.find(x => x.unique() === network.unique())) - // return resolve({id:request.id, result:true}); + let {network} = request.payload; - // // Applications can only add one network every 24 hours. - // if(store.state.scatter.settings.networks.find(x => x.fromOrigin === request.payload.origin && x.createdAt > (+new Date() - ((3600 * 12)*1000)))) - // return resolve({id:request.id, result:new Error("network_timeout", "You can only add 1 network every 24 hours.")}); + network = Network.fromJson(network); + network.name = request.payload.origin + IdGenerator.text(4); - // network.fromOrigin = request.payload.origin; - // const scatter = store.state.scatter.clone(); - // scatter.settings.networks.push(network); - // await store.dispatch(StoreActions.SET_SCATTER, scatter); - // await AccountService.importAllAccountsForNetwork(network); + if(!network.isValid()) + return resolve({id:request.id, result:new Error("bad_network", "The network being suggested is invalid")}); - // resolve({id:request.id, result:true}); - // }) - // } + const existingNetwork = this.apiHandler.getNetworks().find(x => x.unique() === network.unique()); + if(!existingNetwork) return resolve({id:request.id, result:Error.noNetwork()}); +/* + if(store.state.scatter.settings.networks.find(x => x.unique() === network.unique())) + return resolve({id:request.id, result:true}); + + // Applications can only add one network every 24 hours. + if(store.state.scatter.settings.networks.find(x => x.fromOrigin === request.payload.origin && x.createdAt > (+new Date() - ((3600 * 12)*1000)))) + return resolve({id:request.id, result:new Error("network_timeout", "You can only add 1 network every 24 hours.")}); + + network.fromOrigin = request.payload.origin; + const scatter = store.state.scatter.clone(); + scatter.settings.networks.push(network); + await store.dispatch(StoreActions.SET_SCATTER, scatter); + await AccountService.importAllAccountsForNetwork(network); +*/ + resolve({id:request.id, result:true}); + }) + } // /*** // * Allows dapps to see if a user has an account for a specific blockchain. @@ -207,11 +211,10 @@ export default class ApiService { return new Promise(resolve => { request.payload.network = Network.fromJson(request.payload.network); const {network} = request.payload; - const {blockchain} = network; if(!network.isValid()) return resolve({id:request.id, result:new Error("bad_network", "The network provided is invalid")}); - const existingNetwork = this.apiHandler.getNetworks.find(x => x.unique() === network.unique()); + const existingNetwork = this.apiHandler.getNetworks().find(x => x.unique() === network.unique()); if(!existingNetwork) return resolve({id:request.id, result:Error.noNetwork()}); resolve({id:request.id, result:!!this.apiHandler.getWallets().wallets.find(w => w.chainId === existingNetwork.chainId)}); @@ -294,7 +297,7 @@ export default class ApiService { // Convert buf and abi to messages switch(blockchain){ - case Blockchains.TELOS: payload.messages = await plugin.requestParser(payload, network); break; + //case Blockchains.TELOS: payload.messages = await plugin.requestParser(payload, network); break; case Blockchains.EOSIO: payload.messages = await plugin.requestParser(payload, network); break; case Blockchains.ETH: case Blockchains.TRX: diff --git a/app/wallet-integration/actions/accounts.js b/app/wallet-integration/actions/accounts.js index dfec1069cf..b8d69f3011 100644 --- a/app/wallet-integration/actions/accounts.js +++ b/app/wallet-integration/actions/accounts.js @@ -34,12 +34,12 @@ export function getAccounts(){ export function getNetworks(){ return (dispatch: () => void, getState) => { const blockchains = getState().settings.blockchains; - return blockchains.map(b=>{ + const bchMap = blockchains.map(b=>{ urlParser.href = b.node; let protocol = urlParser.protocol; protocol = protocol.substring(0, protocol.length - 1); const host = urlParser.hostname; const port = urlParser.port || 80; - Network.fromJson({ + return Network.fromJson({ name:b.blockchain, chainId:b.chainId, blockchain:b.tokenSymbol.toLowerCase(), @@ -48,6 +48,7 @@ export function getNetworks(){ port }) }); + return bchMap; } } diff --git a/package-lock.json b/package-lock.json index bd6d8ee3b0..00e4fec6a4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "Sqrl", - "version": "1.0.6", + "version": "1.0.7", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 160dd6cdfd..0532203abd 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "Sqrl", "productName": "Sqrl", - "version": "1.0.6", + "version": "1.0.7", "description": "A fully featured wallet and governance tool for EOS.IO blockchains", "scripts": { "build": "concurrently \"npm run build-main\" \"npm run build-renderer\"", diff --git a/shasum.sh b/shasum.sh index ec8f0d4276..f947462271 100755 --- a/shasum.sh +++ b/shasum.sh @@ -2,23 +2,23 @@ cd release -echo "shasum -b -a 512 linux-Sqrl-1.0.6-amd64.deb" -shasum -b -a 512 linux-Sqrl-1.0.6-amd64.deb -echo "shasum -b -a 512 linux-Sqrl-1.0.6-amd64.snap" -shasum -b -a 512 linux-Sqrl-1.0.6-amd64.snap -echo "shasum -b -a 512 linux-Sqrl-1.0.6-arm64.deb" -shasum -b -a 512 linux-Sqrl-1.0.6-arm64.deb -echo "shasum -b -a 512 linux-Sqrl-1.0.6-armv7l.deb" -shasum -b -a 512 linux-Sqrl-1.0.6-armv7l.deb -echo "shasum -b -a 512 linux-Sqrl-1.0.6-i386.deb" -shasum -b -a 512 linux-Sqrl-1.0.6-i386.deb -echo "shasum -b -a 512 linux-Sqrl-1.0.6-x86_64.AppImage" -shasum -b -a 512 linux-Sqrl-1.0.6-x86_64.AppImage -echo "shasum -b -a 512 mac-Sqrl-1.0.6.dmg" -shasum -b -a 512 mac-Sqrl-1.0.6.dmg -echo "shasum -b -a 512 mac-Sqrl-1.0.6.zip" -shasum -b -a 512 mac-Sqrl-1.0.6.zip -echo "shasum -b -a 512 win-Sqrl-1.0.6.exe" -shasum -b -a 512 win-Sqrl-1.0.6.exe +echo "shasum -b -a 512 linux-Sqrl-1.0.7-amd64.deb" +shasum -b -a 512 linux-Sqrl-1.0.7-amd64.deb +echo "shasum -b -a 512 linux-Sqrl-1.0.7-amd64.snap" +shasum -b -a 512 linux-Sqrl-1.0.7-amd64.snap +echo "shasum -b -a 512 linux-Sqrl-1.0.7-arm64.deb" +shasum -b -a 512 linux-Sqrl-1.0.7-arm64.deb +echo "shasum -b -a 512 linux-Sqrl-1.0.7-armv7l.deb" +shasum -b -a 512 linux-Sqrl-1.0.7-armv7l.deb +echo "shasum -b -a 512 linux-Sqrl-1.0.7-i386.deb" +shasum -b -a 512 linux-Sqrl-1.0.7-i386.deb +echo "shasum -b -a 512 linux-Sqrl-1.0.7-x86_64.AppImage" +shasum -b -a 512 linux-Sqrl-1.0.7-x86_64.AppImage +echo "shasum -b -a 512 mac-Sqrl-1.0.7.dmg" +shasum -b -a 512 mac-Sqrl-1.0.7.dmg +echo "shasum -b -a 512 mac-Sqrl-1.0.7.zip" +shasum -b -a 512 mac-Sqrl-1.0.7.zip +echo "shasum -b -a 512 win-Sqrl-1.0.7.exe" +shasum -b -a 512 win-Sqrl-1.0.7.exe cd ..