diff --git a/CHANGELOG.md b/CHANGELOG.md index 970c7668b..9c9943f27 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,120 @@ All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. +### [0.9.11](https://github.com/aeternity/superhero-wallet/compare/v0.9.9...v0.9.11) (2022-08-12) + + +### Features + +* add bullets to account switcher ([12a2d60](https://github.com/aeternity/superhero-wallet/commit/12a2d60d37ff3848628f67553a1b053fad0e3b93)) +* address shortening component ([55edeea](https://github.com/aeternity/superhero-wallet/commit/55edeead669b31e0a4b54f323a66d5b44faa7562)) +* adjust transaction confirmation modals to be DEX compatible ([835e258](https://github.com/aeternity/superhero-wallet/commit/835e2581b930b33bf1d36e31ff9063af83e32fd3)) +* adjust transaction details screen to new UI to be DEX compatible ([f39e1cd](https://github.com/aeternity/superhero-wallet/commit/f39e1cda7ebe06b49ea8f9c20a4a834b3863a7b1)) +* show all tokens user had activity with ([15aef34](https://github.com/aeternity/superhero-wallet/commit/15aef3445a660a991eed49df2b31490e709c9563)) +* store pending transactions for each node ([1b11998](https://github.com/aeternity/superhero-wallet/commit/1b1199854f7af0603385425999af9c382bf3231c)) +* token details ([bb4335e](https://github.com/aeternity/superhero-wallet/commit/bb4335e8d4cef910d33686e729203c36fddc2ade)) +* tooltip component ([e448f1e](https://github.com/aeternity/superhero-wallet/commit/e448f1ee6c2870bbc7ee3c2814f64994be08b038)) +* transaction details swap rates ([406adc2](https://github.com/aeternity/superhero-wallet/commit/406adc2416c09ba0915cfcb5d55d0d6bc3d7fa81)) +* transaction details swap route ([28b1111](https://github.com/aeternity/superhero-wallet/commit/28b111162d52ad804cae3e0d60207da5bc51ca18)) +* **transaction-list:** ablity to filter pending transactions ([f7c624e](https://github.com/aeternity/superhero-wallet/commit/f7c624ec81899b850e748d6df0059a48efc8a599)) +* update transaction list ([6b8b90b](https://github.com/aeternity/superhero-wallet/commit/6b8b90bede4dcc5976eb5a2be0f8506d155f9139)) + + +### Bug Fixes + +* **auction-bid:** disable bid button if no amount ([cf6036a](https://github.com/aeternity/superhero-wallet/commit/cf6036a36999a1a51e9c100c743cff9d79518ba8)) +* calculate fee for the token spend properly ([35a9a55](https://github.com/aeternity/superhero-wallet/commit/35a9a552e4d2a84e1a74b6dfdd9b0b5e033d2af9)) +* claiming from url ([30fd918](https://github.com/aeternity/superhero-wallet/commit/30fd9184bed34b9827360a0eafae3ca3c6bcbae0)) +* **deeplink-api:** complete opening a callback url correctly ([0aceed3](https://github.com/aeternity/superhero-wallet/commit/0aceed32cafc12c50f1df339e7efa11a20997a7a)) +* display currency list over filters ([b0aebd1](https://github.com/aeternity/superhero-wallet/commit/b0aebd199758033ebaabcb74ff779bc86205b5b2)) +* do not reload not connected tabs ([1dcd699](https://github.com/aeternity/superhero-wallet/commit/1dcd6998f38659ae37037836f2bcd4908a99fa3f)) +* do not show spend-success modal multiple time for a one transaction ([61ad864](https://github.com/aeternity/superhero-wallet/commit/61ad8644a9f59c5777c92b923d85800eefe81329)) +* **fungible-tokens:** avoid showing incomplete DEX transactions ([2c17df0](https://github.com/aeternity/superhero-wallet/commit/2c17df0188af752ef2ede4ce9fbd2ed80ccd22d5)) +* **invite:** claiming from invite link ([882fc1b](https://github.com/aeternity/superhero-wallet/commit/882fc1bf08642e39120acdfc40c4bfad6aca0120)) +* **ledger:** propely sign transactions with ledger ([9f36fbc](https://github.com/aeternity/superhero-wallet/commit/9f36fbc7c23984b95490a8b4d027f3ab3b2f8570)) +* **ledger:** use not deprecated transport ([b71e9c7](https://github.com/aeternity/superhero-wallet/commit/b71e9c74442aef158c318e681cf63ddfe75a98fc)) +* load all auctions at once ([e329213](https://github.com/aeternity/superhero-wallet/commit/e329213d4af4bac11a1ed8186f609233e8b0eff5)) +* load currencies after a time interval ([ab15d0d](https://github.com/aeternity/superhero-wallet/commit/ab15d0dad5241aac20153848d63ed1392f82de7b)) +* **modal:** show modals over Header component ([77b7e64](https://github.com/aeternity/superhero-wallet/commit/77b7e64c7d80f78008f574c22773158574500c67)) +* **mutations:** avoid potential problems with missing fields ([c462025](https://github.com/aeternity/superhero-wallet/commit/c462025f42dfb2cbac0159f966a6500ec2f4ea66)) +* **mutations:** remove pending transctions on network/account change ([e63aaf4](https://github.com/aeternity/superhero-wallet/commit/e63aaf4abab2e295125c4d85ac9128d80a9b3c42)) +* **name-list:** fetch owned names every 10 seconds ([c7327ea](https://github.com/aeternity/superhero-wallet/commit/c7327ea15af19b55b6c12b11d54a93b36de0b0b3)) +* **name-list:** show the loader when the transactions are loading ([062a813](https://github.com/aeternity/superhero-wallet/commit/062a813c3a51c5e84e83a006ffdb5e1cb7db7c17)) +* **names:** handle correctly preferred name response ([31c5874](https://github.com/aeternity/superhero-wallet/commit/31c5874e8781e5d07d808f7b1d10f18775a7a33d)) +* **names:** setting a pointer ([65f671f](https://github.com/aeternity/superhero-wallet/commit/65f671fba825925033aab83f64dca56fe09bcc6e)) +* **persist-state:** sync state between stores properly ([6c21387](https://github.com/aeternity/superhero-wallet/commit/6c2138791adfb5b3e02581561fdeda758f765941)) +* **sdk:** enable signing with a permissions module ([886f763](https://github.com/aeternity/superhero-wallet/commit/886f76307f6f218c95a0604cd1e00c68e845c95f)) +* show all transactions in proper order ([f11a700](https://github.com/aeternity/superhero-wallet/commit/f11a700c88863884c3e5b6128d0c2dad159e5389)) +* show proper information for the tip pending transaction ([3feec13](https://github.com/aeternity/superhero-wallet/commit/3feec1361ece777c5daa380e348df38fd4f4acb9)) +* show proper information for tranfer_payload transactions ([3085df1](https://github.com/aeternity/superhero-wallet/commit/3085df19c45feb5adf121fdfd147ead0f9da9d29)) +* **sign-transaction:** do not allow to sign on a different network ([3b2acd4](https://github.com/aeternity/superhero-wallet/commit/3b2acd4405bace41357fd0152491e1e3be854329)) +* **spend-success:** show the proper spend transaction symbol ([36d9aca](https://github.com/aeternity/superhero-wallet/commit/36d9acabcda144cce4287251ef8f6b02a99302b3)) +* **tabs:** do not show svgs through other elements ([ee8a4fc](https://github.com/aeternity/superhero-wallet/commit/ee8a4fc42e465a49886dd4bc07240874c184498b)) +* **token-details:** add a proper link to a simplex ([e8f9bad](https://github.com/aeternity/superhero-wallet/commit/e8f9badf37c7f0243066d0f6772a437bba276c8d)) +* **token-list:** set a proper simplex url ([6c8f686](https://github.com/aeternity/superhero-wallet/commit/6c8f686a1c254e082323c4afa40a236716f2300f)) +* **tokens:** do not read properties of null ([8fb40f1](https://github.com/aeternity/superhero-wallet/commit/8fb40f122b233febed9c555cde4970048f169a04)) +* **transaction-list:** do not consider every contract with tip/retip function as tipping ([ebcceba](https://github.com/aeternity/superhero-wallet/commit/ebcceba2bfae97b31ddb92f2ba972bb3a039fd1f)) +* **transaction-list:** support PayingForTx type ([5979400](https://github.com/aeternity/superhero-wallet/commit/5979400b05184ca61d33e357413719b19af675c7)) +* **transaction-token-info-resolvers:** avoid reading properties of undefined ([fe0a425](https://github.com/aeternity/superhero-wallet/commit/fe0a42510793bbea4ba8c766f6a70f497c261173)) +* **transaction-token-info-resolver:** show correct tokens for swapTokensForExactTokens function ([fc9ad95](https://github.com/aeternity/superhero-wallet/commit/fc9ad950d37277a07179fae249cf2b2ef32cd8da)) +* **transactions:** mutate nested transactions fields reactivly ([386d782](https://github.com/aeternity/superhero-wallet/commit/386d7821e44a81aa59673a1bb16dfa084230ddfd)) +* **transactions:** remove fiat from amount for tokens other than ae ([efea108](https://github.com/aeternity/superhero-wallet/commit/efea108dc5934175263c8603033d535635a59fc7)) +* **transactions:** show labels for fungible tokens pending transactions ([29e5c54](https://github.com/aeternity/superhero-wallet/commit/29e5c54eb7223690fa532378c51d84f2c5e9f077)) + + +### Style + +* **swap-route:** adjust scss ([3c24f9a](https://github.com/aeternity/superhero-wallet/commit/3c24f9a7607ef35ad1a68a1df61ca060e753ad0d)) + + +### Tests + +* ignore tests failing because of 3d party problems ([25ac082](https://github.com/aeternity/superhero-wallet/commit/25ac082eda0177a92071a12252f83c98ca53030c)) +* improve unit testing coverage ([2544996](https://github.com/aeternity/superhero-wallet/commit/25449962d19e0b2996cf775e57bf5568265b2ba3)) +* **input-amount:** avoid deprecated methods overwriting ([52b0371](https://github.com/aeternity/superhero-wallet/commit/52b0371ea45b544031a576877b7fb054dde1aa15)) +* **snapshot:** fix issue with accessing of imported function ([68d96eb](https://github.com/aeternity/superhero-wallet/commit/68d96eb2ac754627892c9d23e71ac08a5a2835dc)) + + +### Performance + +* do not fetch all backend transactions on each call ([bc7462a](https://github.com/aeternity/superhero-wallet/commit/bc7462aff55ece003c39be04c66bcda63c32a53c)) +* do not have a separate request for each fungible token transaction ([3a0fdde](https://github.com/aeternity/superhero-wallet/commit/3a0fddecbfffe84dfbe308b2c11207389ac3f144)) +* do not load additional name entry ([b991b4c](https://github.com/aeternity/superhero-wallet/commit/b991b4c7bd5c27809398dd66c1f818b54a42859a)) +* do not make duplicate requests on initialization ([f2810c0](https://github.com/aeternity/superhero-wallet/commit/f2810c00536b31836160345673b12de717bf27af)) +* do not poll account info on each AccountInfo instance ([57f3e5f](https://github.com/aeternity/superhero-wallet/commit/57f3e5f2e00cac14eb3062418030e56ba1865253)) +* **fungible-tokens:** do not commit each token balance separately ([3df9809](https://github.com/aeternity/superhero-wallet/commit/3df98096942784f76c31b99d29eb4acabd83d458)) +* **fungible-tokens:** do not run through not uniq token balances ([6002cfb](https://github.com/aeternity/superhero-wallet/commit/6002cfb2c7bf4eed3ae31f40de03eb5bf0881c8f)) +* **fungible-tokens:** remove pointless mutation ([6707be8](https://github.com/aeternity/superhero-wallet/commit/6707be884e676ecf3cf07d8b2d6d5c3fdddf941b)) +* **fungible-tokens:** remove pointless unionBy ([fff8ec2](https://github.com/aeternity/superhero-wallet/commit/fff8ec29c1ac6d36339974183d29e283aeb28f68)) +* **name-item:** do not fetch owned names in each component instance ([8f48352](https://github.com/aeternity/superhero-wallet/commit/8f4835235f3c21a69a2122e983838c85e071ad37)) +* **names:** fetch names in parallel ([7f5e3ea](https://github.com/aeternity/superhero-wallet/commit/7f5e3ea8c8c6142711c33b9f23926d8014c5ce56)) +* **transactions:** do not load incomplete transaction every time entering details page ([4bed8f8](https://github.com/aeternity/superhero-wallet/commit/4bed8f836eb481297c6d90bcdc097d609c57d296)) +* **wallet:** improve handling await events ([f29efc8](https://github.com/aeternity/superhero-wallet/commit/f29efc8daa3ed9f9a9e73d9c1267f63070db23ac)) + + +### Maintenance + +* add dex contracts for testnet and mainnet ([540db78](https://github.com/aeternity/superhero-wallet/commit/540db787dc1a48946c7ddb65a8b59494d225cd79)) +* add transactionTokenInfoResolvers ([a39d1e9](https://github.com/aeternity/superhero-wallet/commit/a39d1e9f93e5225d277317217919d661921cefe6)) +* adjust NameItem component ([cca7ee1](https://github.com/aeternity/superhero-wallet/commit/cca7ee1b38f3e694ab81be58b389ba20c2208b15)) +* align every contract id notations ([4e85a28](https://github.com/aeternity/superhero-wallet/commit/4e85a2887a37c2d513701b91791b905ce7fff27f)) +* **App:** drop useless code ([40d96ec](https://github.com/aeternity/superhero-wallet/commit/40d96ec8b5c22327f38bfc207c6b047ced8dad9a)) +* **constants:** add dex related transaction types constant ([2a1f0b7](https://github.com/aeternity/superhero-wallet/commit/2a1f0b7a8666edd5556fb399f034bcb6b9787ea1)) +* do not poll currencies if not logged in ([f97a76c](https://github.com/aeternity/superhero-wallet/commit/f97a76cc5b39a2143ee26dedaaf9618fba038945)) +* do not show fiat value for the liquidity transactions ([05811a6](https://github.com/aeternity/superhero-wallet/commit/05811a6da4c52d4ccf6381d4eb16aba56a1641de)) +* extract background sdk into plugin ([b9bb7a5](https://github.com/aeternity/superhero-wallet/commit/b9bb7a508399607837ddc6847a62e25ede3f41f4)) +* **ledger:** remove unused ledger bridge ([c1ce862](https://github.com/aeternity/superhero-wallet/commit/c1ce86256591df5ed881eb26a9222780ce3c45ff)) +* **name-item:** remove unused prop ([541bde6](https://github.com/aeternity/superhero-wallet/commit/541bde6c0c326963faa580c6591326ff6482d72e)) +* **release:** 0.9.10 ([c481816](https://github.com/aeternity/superhero-wallet/commit/c481816371555018e3b942dc56dc385e3eb4eb2d)) +* remove unused variables ([38213a9](https://github.com/aeternity/superhero-wallet/commit/38213a9f4e475b15394cda41bdabfbf2d98483c9)) +* show also retip transactions when filtered by tips ([4124442](https://github.com/aeternity/superhero-wallet/commit/4124442da0ba07c3051575f3f81e17f8d49fb8b7)) +* show pending transaction until middleware returns it ([438cb26](https://github.com/aeternity/superhero-wallet/commit/438cb263b880866ec2a26fda8cffa0d7fd7c50ea)) +* **transaction-details:** exclude unfinished components from production ([34f6565](https://github.com/aeternity/superhero-wallet/commit/34f6565de7fef7d0746a1a3e06c891f8ce7fb381)) +* **transaction-info-resolver:** adjust to provide more info ([d925cfb](https://github.com/aeternity/superhero-wallet/commit/d925cfba24c172aca2c0d47e32a27064f9754d02)) +* **transactions:** add labels for a tip/retip transactions ([04c59f1](https://github.com/aeternity/superhero-wallet/commit/04c59f18422fd4cffbf402f66f7e97aa4834bd1d)) +* **transactions:** change the page title ([be133ae](https://github.com/aeternity/superhero-wallet/commit/be133aebc0a49387dbd9fe8b1ef7a696bc5fd353)) +* **wallet:** use sdkPlugin instead of initializing new one ([80c3f6f](https://github.com/aeternity/superhero-wallet/commit/80c3f6f49e5d90bbb44e2d36617553da7ae3c281)) + ### [0.9.10](https://github.com/aeternity/superhero-wallet/compare/v0.9.9...v0.9.10) (2022-07-22) diff --git a/config.xml b/config.xml index f0050e3eb..603a9cee0 100644 --- a/config.xml +++ b/config.xml @@ -1,5 +1,5 @@ - + Superhero Superhero wallet diff --git a/cypress.json b/cypress.json index 54a09357b..aed09c3e4 100644 --- a/cypress.json +++ b/cypress.json @@ -9,6 +9,8 @@ "defaultCommandTimeout": 30000, "ignoreTestFiles": [ "tip.js", - "transaction-details.js" + "transaction-details.js", + "transactions.js", + "withdraw.js" ] } diff --git a/package-lock.json b/package-lock.json index 9cdf547bb..221a36b36 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "superhero-wallet", - "version": "0.9.10", + "version": "0.9.11", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "superhero-wallet", - "version": "0.9.10", + "version": "0.9.11", "license": "MIT", "dependencies": { "@aeternity/aepp-components-3": "3.0.0-alpha.9", @@ -31,6 +31,7 @@ "cordova-plugin-statusbar": "^3.0.0", "cordova-plugin-x-socialsharing": "^6.0.3", "detect-browser": "^5.3.0", + "dex-contracts-v2": "github:aeternity/dex-contracts-v2", "lodash-es": "^4.17.21", "qrcode.vue": "^1.7.0", "rxjs": "^6.6.7", @@ -6096,6 +6097,227 @@ "node": ">= 0.12.0" } }, + "node_modules/aeproject-config": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/aeproject-config/-/aeproject-config-2.2.0.tgz", + "integrity": "sha512-3ZPe714tNZCvGn8//pjecbnamegnyT0ANkRLhgidseE9wDMmL07Ln6wS9E17sERF3R6tSVXgcUXhVx/7zU4vLQ==" + }, + "node_modules/aeproject-lib": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/aeproject-lib/-/aeproject-lib-2.1.0.tgz", + "integrity": "sha512-9JfAEpxMVn+XiFtL7ftXXjSR6RxzE+IUm0QmtwI8PLMaUva+ZBu6yxiVbm3rMXI5dfj3+vBY7jcwrVgOyj4/tA==", + "dependencies": { + "aeproject-config": "^2.1.0", + "aeproject-logger": "^2.1.0", + "aeproject-utils": "^2.1.0", + "typescript": "^3.5.2" + } + }, + "node_modules/aeproject-lib/node_modules/typescript": { + "version": "3.9.10", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.10.tgz", + "integrity": "sha512-w6fIxVE/H1PkLKcCPsFqKE7Kv7QUwhU8qQY2MueZXWx5cPZdwFupLgKK3vntcK98BtNHZtAF4LA/yl2a7k8R6Q==", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "node_modules/aeproject-logger": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/aeproject-logger/-/aeproject-logger-2.2.0.tgz", + "integrity": "sha512-JcETDIHRUCSThxDzZuDCNYkdbVFQx4W9V6xfBaRLduG8Nb4ykQQ2kzJlSnx3dcXMDbyFH4ra0KAwyuPSjGQFiw==", + "dependencies": { + "chai-as-promised": "^7.1.1", + "fs-extra": "^7.0.1" + } + }, + "node_modules/aeproject-logger/node_modules/fs-extra": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", + "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "node_modules/aeproject-logger/node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/aeproject-logger/node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/aeproject-utils": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/aeproject-utils/-/aeproject-utils-2.2.0.tgz", + "integrity": "sha512-E9OfvWGeT5z0IhzjgBv1XkZjiGwzBR1i53I3uyImESn5WvbTiPeNFbAdcSupYmwj2GPVga8uneV+QLjpE/jO2A==", + "dependencies": { + "@aeternity/aepp-sdk": "7.0.0", + "aeproject-config": "^2.2.0", + "axios": "^0.19.0", + "chalk": "^2.4.1", + "cli-table": "^0.3.1", + "esm": "^3.0.77", + "fs-extra": "^7.0.1", + "moment": "^2.23.0", + "node-dir": "^0.1.17", + "path": "^0.12.7", + "promisify-child-process": "^2.1.2" + } + }, + "node_modules/aeproject-utils/node_modules/@aeternity/aepp-sdk": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@aeternity/aepp-sdk/-/aepp-sdk-7.0.0.tgz", + "integrity": "sha512-4b/guVWk190nWu5ISKKjfdqRQ67vSqLMV0Ss3RxKQtGqJj5pqGXik9EJyWhBurhpuFX4ZcyLSb+FwVgptXWS5w==", + "dependencies": { + "@aeternity/bip39": "^0.1.0", + "@stamp/it": "^1.0.3", + "@stamp/required": "^1.0.1", + "aes-js": "^3.1.1", + "axios": "^0.19.0", + "bignumber.js": "^9.0.0", + "bip32-path": "^0.4.2", + "blakejs": "^1.1.0", + "bs58check": "^2.1.1", + "ed2curve": "^0.3.0", + "joi-browser": "^13.4.0", + "libsodium-wrappers-sumo": "0.7.6", + "ramda": "^0.26.1", + "rlp": "2.2.4", + "serialize-javascript": "^2.1.2", + "sha.js": "^2.4.11", + "tweetnacl": "^1.0.0", + "tweetnacl-auth": "^1.0.1", + "uuid": "^3.3.2", + "websocket": "^1.0.26" + } + }, + "node_modules/aeproject-utils/node_modules/axios": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.19.2.tgz", + "integrity": "sha512-fjgm5MvRHLhx+osE2xoekY70AhARk3a6hkN+3Io1jc00jtquGvxYlKlsFUhmUET0V5te6CcZI7lcv2Ym61mjHA==", + "deprecated": "Critical security vulnerability fixed in v0.21.1. For more information, see https://github.com/axios/axios/pull/3410", + "dependencies": { + "follow-redirects": "1.5.10" + } + }, + "node_modules/aeproject-utils/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/aeproject-utils/node_modules/debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/aeproject-utils/node_modules/follow-redirects": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.10.tgz", + "integrity": "sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==", + "dependencies": { + "debug": "=3.1.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/aeproject-utils/node_modules/fs-extra": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", + "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "node_modules/aeproject-utils/node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/aeproject-utils/node_modules/libsodium-sumo": { + "version": "0.7.6", + "resolved": "https://registry.npmjs.org/libsodium-sumo/-/libsodium-sumo-0.7.6.tgz", + "integrity": "sha512-1XM2w00YkufeLVhFbw9aV+NTftzqECkEU1Amw2MxCbYuyy4L6MH5y8MWOg3shN6X/9R3e1pp6RCSXPnbFRTVCA==" + }, + "node_modules/aeproject-utils/node_modules/libsodium-wrappers-sumo": { + "version": "0.7.6", + "resolved": "https://registry.npmjs.org/libsodium-wrappers-sumo/-/libsodium-wrappers-sumo-0.7.6.tgz", + "integrity": "sha512-pwYQ1ZR/UwXBMY4tFDcjYZrBFgexkhRykzcE9Jv0l/J41Tp7PqHYfHA17YpOxIXrAIRBPVSlPo2VxHoGZZKwXA==", + "dependencies": { + "libsodium-sumo": "0.7.6" + } + }, + "node_modules/aeproject-utils/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/aeproject-utils/node_modules/ramda": { + "version": "0.26.1", + "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.26.1.tgz", + "integrity": "sha512-hLWjpy7EnsDBb0p+Z3B7rPi3GDeRG5ZtiI33kJhTt+ORCd38AbAIjB/9zRIUoeTbE/AVX5ZkU7m6bznsvrf8eQ==" + }, + "node_modules/aeproject-utils/node_modules/rlp": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/rlp/-/rlp-2.2.4.tgz", + "integrity": "sha512-fdq2yYCWpAQBhwkZv+Z8o/Z4sPmYm1CUq6P7n6lVTOdb949CnqA0sndXal5C1NleSVSZm6q5F3iEbauyVln/iw==", + "dependencies": { + "bn.js": "^4.11.1" + }, + "bin": { + "rlp": "bin/rlp" + } + }, + "node_modules/aeproject-utils/node_modules/serialize-javascript": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-2.1.2.tgz", + "integrity": "sha512-rs9OggEUF0V4jUSecXazOYsLfu7OGK2qIn3c7IPBiffz32XniEp/TX9Xmc9LQfK2nQ2QKHvZ2oygKUGU0lG4jQ==" + }, + "node_modules/aeproject-utils/node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/aeproject-utils/node_modules/uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", + "bin": { + "uuid": "bin/uuid" + } + }, "node_modules/aes-js": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-3.1.2.tgz", @@ -6350,7 +6572,6 @@ "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, "dependencies": { "color-convert": "^1.9.0" }, @@ -6740,7 +6961,6 @@ "version": "1.1.0", "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", - "dev": true, "engines": { "node": "*" } @@ -6853,6 +7073,19 @@ "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==", "dev": true }, + "node_modules/axios": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.24.0.tgz", + "integrity": "sha512-Q6cWsys88HoPgAaFAVUb0WpPk0O8iTeisR9IMqy9G8AbO4NlpVknrnQS03zzF9PGAWgO3cgletO3VjV/P7VztA==", + "dependencies": { + "follow-redirects": "^1.14.4" + } + }, + "node_modules/b4a": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.5.3.tgz", + "integrity": "sha512-1aCQIzQJK7G0z1Una75tWMlwVAR8o+QHoAlnWc5XAxRVBESY9WsitfBgM5nPyDBP5HrhPU1Np4Pq2Y7CJQ+tVw==" + }, "node_modules/babel-code-frame": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", @@ -7486,6 +7719,24 @@ "ieee754": "^1.1.13" } }, + "node_modules/blake2b": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/blake2b/-/blake2b-2.1.4.tgz", + "integrity": "sha512-AyBuuJNI64gIvwx13qiICz6H6hpmjvYS5DGkG6jbXMOT8Z3WUJ3V1X0FlhIoT1b/5JtHE3ki+xjtMvu1nn+t9A==", + "dependencies": { + "blake2b-wasm": "^2.4.0", + "nanoassert": "^2.0.0" + } + }, + "node_modules/blake2b-wasm": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/blake2b-wasm/-/blake2b-wasm-2.4.0.tgz", + "integrity": "sha512-S1kwmW2ZhZFFFOghcx73+ZajEfKBqhP82JMssxtLVMxlaPea1p9uoLiUZ5WYyHn0KddwbLc+0vh4wR0KBNoT5w==", + "dependencies": { + "b4a": "^1.0.1", + "nanoassert": "^2.0.0" + } + }, "node_modules/blakejs": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/blakejs/-/blakejs-1.2.1.tgz", @@ -8454,7 +8705,6 @@ "version": "4.3.6", "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.6.tgz", "integrity": "sha512-bbcp3YfHCUzMOvKqsztczerVgBKSsEijCySNlHHbX3VG1nskvqjz5Rfso1gGwD6w6oOV3eI60pKuMOV5MV7p3Q==", - "dev": true, "dependencies": { "assertion-error": "^1.1.0", "check-error": "^1.0.2", @@ -8468,11 +8718,21 @@ "node": ">=4" } }, + "node_modules/chai-as-promised": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/chai-as-promised/-/chai-as-promised-7.1.1.tgz", + "integrity": "sha512-azL6xMoi+uxu6z4rhWQ1jbdUhOMhis2PvscD/xjLqNMkv3BPPp2JyyuTHOrf9BOosGpNQ11v6BKv/g57RXbiaA==", + "dependencies": { + "check-error": "^1.0.2" + }, + "peerDependencies": { + "chai": ">= 2.1.2 < 5" + } + }, "node_modules/chalk": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, "dependencies": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -8531,7 +8791,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", "integrity": "sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=", - "dev": true, "engines": { "node": "*" } @@ -8986,6 +9245,25 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/cli-table": { + "version": "0.3.11", + "resolved": "https://registry.npmjs.org/cli-table/-/cli-table-0.3.11.tgz", + "integrity": "sha512-IqLQi4lO0nIB4tcdTpN4LCB9FI3uqrJZK7RC515EnhZ6qBaglkIgICb1wjeAqpdoOabm1+SuQtkXIPdYC93jhQ==", + "dependencies": { + "colors": "1.0.3" + }, + "engines": { + "node": ">= 0.2.0" + } + }, + "node_modules/cli-table/node_modules/colors": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz", + "integrity": "sha512-pFGrxThWcWQ2MsAz6RtgeWe4NK2kUE1WfsrvvlctdII745EW9I0yflqhe7++M5LEc7bV2c/9/5zc8sFcpL0Drw==", + "engines": { + "node": ">=0.1.90" + } + }, "node_modules/cli-table3": { "version": "0.6.2", "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.2.tgz", @@ -9336,7 +9614,6 @@ "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, "dependencies": { "color-name": "1.1.3" } @@ -9344,8 +9621,7 @@ "node_modules/color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" }, "node_modules/color-string": { "version": "1.9.0", @@ -11355,6 +11631,12 @@ "node": ">= 8" } }, + "node_modules/crypto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/crypto/-/crypto-1.0.1.tgz", + "integrity": "sha512-VxBKmeNcqQdiUQUW2Tzq0t377b54N2bMtXO/qiLa+6eRRmmC4qT3D4OnTGoT/U6O9aklQ/jTwbOtRMTTY8G0Ig==", + "deprecated": "This package is no longer supported. It's now a built-in Node module. If you've depended on crypto, you should switch to the one that's built-in." + }, "node_modules/crypto-browserify": { "version": "3.12.0", "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", @@ -12148,7 +12430,6 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz", "integrity": "sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==", - "dev": true, "dependencies": { "type-detect": "^4.0.0" }, @@ -12499,6 +12780,164 @@ "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", "dev": true }, + "node_modules/dex-contracts-v2": { + "version": "1.0.0", + "resolved": "git+https://@github.com/aeternity/dex-contracts-v2.git#53d86c758e8470f051a64710413a01afc03a8708", + "hasInstallScript": true, + "license": "ISC", + "dependencies": { + "@aeternity/aepp-sdk": "^10.0.0-beta.1", + "aeternity-fungible-token": "^1.0.0", + "axios": "^0.24.0", + "crypto": "^1.0.1", + "fs": "^0.0.1-security" + } + }, + "node_modules/dex-contracts-v2/node_modules/@aeternity/aepp-sdk": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/@aeternity/aepp-sdk/-/aepp-sdk-10.0.0.tgz", + "integrity": "sha512-hrlYz3JID2nTlbaFF8HV7hTwVtmtdOr9IVKnJpobcFA/uvACUSnc+xo8VNPP/QWA5gjp6jBUVQlkOv7fISTDVw==", + "dependencies": { + "@aeternity/aepp-calldata": "^1.0.0", + "@aeternity/bip39": "^0.1.0", + "@aeternity/json-bigint": "^0.3.1", + "@babel/runtime-corejs3": "^7.16.3", + "@stamp/it": "^1.1.0", + "@stamp/required": "^1.0.1", + "aes-js": "^3.1.2", + "bignumber.js": "^9.0.1", + "bip32-path": "^0.4.2", + "blakejs": "^1.1.1", + "bs58check": "^2.1.2", + "buffer": "^6.0.3", + "cross-fetch": "^3.1.4", + "crypto-browserify": "^3.12.0", + "events": "^3.3.0", + "libsodium-wrappers-sumo": "^0.7.9", + "path-browserify": "^1.0.1", + "process": "^0.11.10", + "ramda": "^0.27.1", + "rlp": "^2.2.7", + "sha.js": "^2.4.11", + "stream-browserify": "^3.0.0", + "swagger-client": "^3.17.0", + "tweetnacl": "^1.0.3", + "tweetnacl-auth": "^1.0.1", + "uuid": "^8.3.2", + "websocket": "^1.0.34" + } + }, + "node_modules/dex-contracts-v2/node_modules/aeternity-fungible-token": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/aeternity-fungible-token/-/aeternity-fungible-token-1.0.0.tgz", + "integrity": "sha512-Km+Z+/yvEZH3xLTX5tGiuL9DZnKvLvGkXLMQaqpTNxwxcc8pLhZQIjYjot610fZMVj7R52PbqA9/iZhA9VNjbA==", + "hasInstallScript": true, + "dependencies": { + "@aeternity/aepp-sdk": "^7.7.0", + "aeproject-lib": "2.1.0", + "blake2b": "^2.1.3" + } + }, + "node_modules/dex-contracts-v2/node_modules/aeternity-fungible-token/node_modules/@aeternity/aepp-sdk": { + "version": "7.7.0", + "resolved": "https://registry.npmjs.org/@aeternity/aepp-sdk/-/aepp-sdk-7.7.0.tgz", + "integrity": "sha512-ND8B/aLe2uuNasbiDROHHXDTMXINZhpb1Ah+hHetGSQiOxa6ebOC3uTkNVUPf0wdotRBfBbFPuHCe5BUXo6Mrg==", + "dependencies": { + "@aeternity/bip39": "^0.1.0", + "@aeternity/json-bigint": "^0.3.1", + "@stamp/it": "^1.0.3", + "@stamp/required": "^1.0.1", + "aes-js": "^3.1.1", + "axios": "^0.19.0", + "bignumber.js": "^9.0.0", + "bip32-path": "^0.4.2", + "blakejs": "^1.1.0", + "bs58check": "^2.1.1", + "ed2curve": "^0.3.0", + "joi-browser": "^13.4.0", + "libsodium-wrappers-sumo": "0.7.6", + "ramda": "^0.27.0", + "rlp": "2.2.5", + "sha.js": "^2.4.11", + "tweetnacl": "^1.0.0", + "tweetnacl-auth": "^1.0.1", + "uuid": "^8.0.0", + "websocket": "^1.0.26" + } + }, + "node_modules/dex-contracts-v2/node_modules/aeternity-fungible-token/node_modules/axios": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.19.2.tgz", + "integrity": "sha512-fjgm5MvRHLhx+osE2xoekY70AhARk3a6hkN+3Io1jc00jtquGvxYlKlsFUhmUET0V5te6CcZI7lcv2Ym61mjHA==", + "deprecated": "Critical security vulnerability fixed in v0.21.1. For more information, see https://github.com/axios/axios/pull/3410", + "dependencies": { + "follow-redirects": "1.5.10" + } + }, + "node_modules/dex-contracts-v2/node_modules/aeternity-fungible-token/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/dex-contracts-v2/node_modules/aeternity-fungible-token/node_modules/libsodium-wrappers-sumo": { + "version": "0.7.6", + "resolved": "https://registry.npmjs.org/libsodium-wrappers-sumo/-/libsodium-wrappers-sumo-0.7.6.tgz", + "integrity": "sha512-pwYQ1ZR/UwXBMY4tFDcjYZrBFgexkhRykzcE9Jv0l/J41Tp7PqHYfHA17YpOxIXrAIRBPVSlPo2VxHoGZZKwXA==", + "dependencies": { + "libsodium-sumo": "0.7.6" + } + }, + "node_modules/dex-contracts-v2/node_modules/aeternity-fungible-token/node_modules/rlp": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/rlp/-/rlp-2.2.5.tgz", + "integrity": "sha512-y1QxTQOp0OZnjn19FxBmped4p+BSKPHwGndaqrESseyd2xXZtcgR3yuTIosh8CaMaOii9SKIYerBXnV/CpJ3qw==", + "dependencies": { + "bn.js": "^4.11.1" + }, + "bin": { + "rlp": "bin/rlp" + } + }, + "node_modules/dex-contracts-v2/node_modules/debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/dex-contracts-v2/node_modules/follow-redirects": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.10.tgz", + "integrity": "sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==", + "dependencies": { + "debug": "=3.1.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/dex-contracts-v2/node_modules/libsodium-sumo": { + "version": "0.7.6", + "resolved": "https://registry.npmjs.org/libsodium-sumo/-/libsodium-sumo-0.7.6.tgz", + "integrity": "sha512-1XM2w00YkufeLVhFbw9aV+NTftzqECkEU1Amw2MxCbYuyy4L6MH5y8MWOg3shN6X/9R3e1pp6RCSXPnbFRTVCA==" + }, + "node_modules/dex-contracts-v2/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/dex-contracts-v2/node_modules/rlp": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/rlp/-/rlp-2.2.7.tgz", + "integrity": "sha512-d5gdPmgQ0Z+AklL2NVXr/IoSjNZFfTVvQWzL/AM2AOcSzYP2xjlb0AC8YyCLc41MSNf6P6QVtjgPdmVtzb+4lQ==", + "dependencies": { + "bn.js": "^5.2.0" + }, + "bin": { + "rlp": "bin/rlp" + } + }, "node_modules/diff": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", @@ -13245,7 +13684,6 @@ "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true, "engines": { "node": ">=0.8.0" } @@ -15059,32 +15497,24 @@ } }, "node_modules/follow-redirects": { - "version": "1.5.10", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.10.tgz", - "integrity": "sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==", - "dev": true, - "dependencies": { - "debug": "=3.1.0" - }, + "version": "1.15.1", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.1.tgz", + "integrity": "sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], "engines": { "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } } }, - "node_modules/follow-redirects/node_modules/debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/follow-redirects/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, "node_modules/for-in": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", @@ -15204,6 +15634,11 @@ "safe-buffer": "~5.1.0" } }, + "node_modules/fs": { + "version": "0.0.1-security", + "resolved": "https://registry.npmjs.org/fs/-/fs-0.0.1-security.tgz", + "integrity": "sha512-3XY9e1pP0CVEUCdj5BmfIZxRBTSDycnbqhIOGec9QYtmVH2fbLpj86CFWkrNOkt/Fvty4KZG5lTglL9j/gJ87w==" + }, "node_modules/fs-access": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/fs-access/-/fs-access-1.0.1.tgz", @@ -15409,7 +15844,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", "integrity": "sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=", - "dev": true, "engines": { "node": "*" } @@ -16120,7 +16554,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true, "engines": { "node": ">=4" } @@ -21149,7 +21582,6 @@ "version": "2.3.4", "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.4.tgz", "integrity": "sha512-OvKfgCC2Ndby6aSTREl5aCCPTNIzlDfQZvZxNUrBrihDhL3xcrYegTblhmEiCrg2kKQz4XsFIaemE5BF4ybSaQ==", - "dev": true, "dependencies": { "get-func-name": "^2.0.0" } @@ -21937,7 +22369,6 @@ "version": "2.29.2", "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.2.tgz", "integrity": "sha512-UgzG4rvxYpN15jgCmVJwac49h9ly9NurikMWGPdVxm8GZD6XjkKPxDTjQQ43gtGgnV3X0cAyWDdP2Wexoquifg==", - "dev": true, "engines": { "node": "*" } @@ -22017,6 +22448,11 @@ "dev": true, "optional": true }, + "node_modules/nanoassert": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/nanoassert/-/nanoassert-2.0.0.tgz", + "integrity": "sha512-7vO7n28+aYO4J+8w96AzhmU8G+Y/xpPDJz/se19ICsqj/momRbb9mh9ZUtkoJ5X3nTnPdhEJyc0qnM6yAsHBaA==" + }, "node_modules/nanomatch": { "version": "1.2.13", "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", @@ -22150,6 +22586,17 @@ "node": ">= 0.4.6" } }, + "node_modules/node-dir": { + "version": "0.1.17", + "resolved": "https://registry.npmjs.org/node-dir/-/node-dir-0.1.17.tgz", + "integrity": "sha512-tmPX422rYgofd4epzrNoOXiE8XFZYOcCq1vD7MAXCDO+O+zndlA2ztdKKMa+EeuBG5tHETpr4ml4RGgpqDCCAg==", + "dependencies": { + "minimatch": "^3.0.2" + }, + "engines": { + "node": ">= 0.10.5" + } + }, "node_modules/node-domexception": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz", @@ -23689,7 +24136,6 @@ "version": "0.12.7", "resolved": "https://registry.npmjs.org/path/-/path-0.12.7.tgz", "integrity": "sha1-1NwqUGxM4hl+tIHr/NWzbAFAsQ8=", - "dev": true, "dependencies": { "process": "^0.11.1", "util": "^0.10.3" @@ -23761,7 +24207,6 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", - "dev": true, "engines": { "node": "*" } @@ -25269,6 +25714,19 @@ "node": ">=10" } }, + "node_modules/promisify-child-process": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/promisify-child-process/-/promisify-child-process-2.1.2.tgz", + "integrity": "sha512-j2BRwNaM7fUwrd67avtqSTRevQXZiqS+T4Ky3VVaQdvzkPpsTByBAv+ZyBxuXgV/eUrCe2qYrOZvPvd+sMryeg==", + "dependencies": { + "@types/node": "^10.11.3" + } + }, + "node_modules/promisify-child-process/node_modules/@types/node": { + "version": "10.17.60", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.60.tgz", + "integrity": "sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==" + }, "node_modules/prompts": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", @@ -29251,7 +29709,6 @@ "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, "dependencies": { "has-flag": "^3.0.0" }, @@ -30844,7 +31301,6 @@ "version": "4.0.8", "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", - "dev": true, "engines": { "node": ">=4" } @@ -31617,7 +32073,6 @@ "version": "0.10.4", "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz", "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", - "dev": true, "dependencies": { "inherits": "2.0.3" } @@ -31640,8 +32095,7 @@ "node_modules/util/node_modules/inherits": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" }, "node_modules/utila": { "version": "0.4.0", @@ -39489,6 +39943,203 @@ "integrity": "sha512-aT6camzM4xEA54YVJYSqxz1kv4IHnQZRtThJJHhUMRExaU5spC7jX5ugSwTaTgJliIgs4VhZOk7htClvQ/LmRA==", "dev": true }, + "aeproject-config": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/aeproject-config/-/aeproject-config-2.2.0.tgz", + "integrity": "sha512-3ZPe714tNZCvGn8//pjecbnamegnyT0ANkRLhgidseE9wDMmL07Ln6wS9E17sERF3R6tSVXgcUXhVx/7zU4vLQ==" + }, + "aeproject-lib": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/aeproject-lib/-/aeproject-lib-2.1.0.tgz", + "integrity": "sha512-9JfAEpxMVn+XiFtL7ftXXjSR6RxzE+IUm0QmtwI8PLMaUva+ZBu6yxiVbm3rMXI5dfj3+vBY7jcwrVgOyj4/tA==", + "requires": { + "aeproject-config": "^2.1.0", + "aeproject-logger": "^2.1.0", + "aeproject-utils": "^2.1.0", + "typescript": "^3.5.2" + }, + "dependencies": { + "typescript": { + "version": "3.9.10", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.10.tgz", + "integrity": "sha512-w6fIxVE/H1PkLKcCPsFqKE7Kv7QUwhU8qQY2MueZXWx5cPZdwFupLgKK3vntcK98BtNHZtAF4LA/yl2a7k8R6Q==" + } + } + }, + "aeproject-logger": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/aeproject-logger/-/aeproject-logger-2.2.0.tgz", + "integrity": "sha512-JcETDIHRUCSThxDzZuDCNYkdbVFQx4W9V6xfBaRLduG8Nb4ykQQ2kzJlSnx3dcXMDbyFH4ra0KAwyuPSjGQFiw==", + "requires": { + "chai-as-promised": "^7.1.1", + "fs-extra": "^7.0.1" + }, + "dependencies": { + "fs-extra": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", + "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" + } + } + }, + "aeproject-utils": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/aeproject-utils/-/aeproject-utils-2.2.0.tgz", + "integrity": "sha512-E9OfvWGeT5z0IhzjgBv1XkZjiGwzBR1i53I3uyImESn5WvbTiPeNFbAdcSupYmwj2GPVga8uneV+QLjpE/jO2A==", + "requires": { + "@aeternity/aepp-sdk": "7.0.0", + "aeproject-config": "^2.2.0", + "axios": "^0.19.0", + "chalk": "^2.4.1", + "cli-table": "^0.3.1", + "esm": "^3.0.77", + "fs-extra": "^7.0.1", + "moment": "^2.23.0", + "node-dir": "^0.1.17", + "path": "^0.12.7", + "promisify-child-process": "^2.1.2" + }, + "dependencies": { + "@aeternity/aepp-sdk": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/@aeternity/aepp-sdk/-/aepp-sdk-7.0.0.tgz", + "integrity": "sha512-4b/guVWk190nWu5ISKKjfdqRQ67vSqLMV0Ss3RxKQtGqJj5pqGXik9EJyWhBurhpuFX4ZcyLSb+FwVgptXWS5w==", + "requires": { + "@aeternity/bip39": "^0.1.0", + "@stamp/it": "^1.0.3", + "@stamp/required": "^1.0.1", + "aes-js": "^3.1.1", + "axios": "^0.19.0", + "bignumber.js": "^9.0.0", + "bip32-path": "^0.4.2", + "blakejs": "^1.1.0", + "bs58check": "^2.1.1", + "ed2curve": "^0.3.0", + "joi-browser": "^13.4.0", + "libsodium-wrappers-sumo": "0.7.6", + "ramda": "^0.26.1", + "rlp": "2.2.4", + "serialize-javascript": "^2.1.2", + "sha.js": "^2.4.11", + "tweetnacl": "^1.0.0", + "tweetnacl-auth": "^1.0.1", + "uuid": "^3.3.2", + "websocket": "^1.0.26" + } + }, + "axios": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.19.2.tgz", + "integrity": "sha512-fjgm5MvRHLhx+osE2xoekY70AhARk3a6hkN+3Io1jc00jtquGvxYlKlsFUhmUET0V5te6CcZI7lcv2Ym61mjHA==", + "requires": { + "follow-redirects": "1.5.10" + } + }, + "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==" + }, + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "requires": { + "ms": "2.0.0" + } + }, + "follow-redirects": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.10.tgz", + "integrity": "sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==", + "requires": { + "debug": "=3.1.0" + } + }, + "fs-extra": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", + "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "libsodium-sumo": { + "version": "0.7.6", + "resolved": "https://registry.npmjs.org/libsodium-sumo/-/libsodium-sumo-0.7.6.tgz", + "integrity": "sha512-1XM2w00YkufeLVhFbw9aV+NTftzqECkEU1Amw2MxCbYuyy4L6MH5y8MWOg3shN6X/9R3e1pp6RCSXPnbFRTVCA==" + }, + "libsodium-wrappers-sumo": { + "version": "0.7.6", + "resolved": "https://registry.npmjs.org/libsodium-wrappers-sumo/-/libsodium-wrappers-sumo-0.7.6.tgz", + "integrity": "sha512-pwYQ1ZR/UwXBMY4tFDcjYZrBFgexkhRykzcE9Jv0l/J41Tp7PqHYfHA17YpOxIXrAIRBPVSlPo2VxHoGZZKwXA==", + "requires": { + "libsodium-sumo": "0.7.6" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "ramda": { + "version": "0.26.1", + "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.26.1.tgz", + "integrity": "sha512-hLWjpy7EnsDBb0p+Z3B7rPi3GDeRG5ZtiI33kJhTt+ORCd38AbAIjB/9zRIUoeTbE/AVX5ZkU7m6bznsvrf8eQ==" + }, + "rlp": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/rlp/-/rlp-2.2.4.tgz", + "integrity": "sha512-fdq2yYCWpAQBhwkZv+Z8o/Z4sPmYm1CUq6P7n6lVTOdb949CnqA0sndXal5C1NleSVSZm6q5F3iEbauyVln/iw==", + "requires": { + "bn.js": "^4.11.1" + } + }, + "serialize-javascript": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-2.1.2.tgz", + "integrity": "sha512-rs9OggEUF0V4jUSecXazOYsLfu7OGK2qIn3c7IPBiffz32XniEp/TX9Xmc9LQfK2nQ2QKHvZ2oygKUGU0lG4jQ==" + }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" + }, + "uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" + } + } + }, "aes-js": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-3.1.2.tgz", @@ -39696,7 +40347,6 @@ "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, "requires": { "color-convert": "^1.9.0" } @@ -40027,8 +40677,7 @@ "assertion-error": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", - "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", - "dev": true + "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==" }, "assign-symbols": { "version": "1.0.0", @@ -40110,6 +40759,19 @@ "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==", "dev": true }, + "axios": { + "version": "0.24.0", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.24.0.tgz", + "integrity": "sha512-Q6cWsys88HoPgAaFAVUb0WpPk0O8iTeisR9IMqy9G8AbO4NlpVknrnQS03zzF9PGAWgO3cgletO3VjV/P7VztA==", + "requires": { + "follow-redirects": "^1.14.4" + } + }, + "b4a": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.5.3.tgz", + "integrity": "sha512-1aCQIzQJK7G0z1Una75tWMlwVAR8o+QHoAlnWc5XAxRVBESY9WsitfBgM5nPyDBP5HrhPU1Np4Pq2Y7CJQ+tVw==" + }, "babel-code-frame": { "version": "6.26.0", "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", @@ -40616,6 +41278,24 @@ } } }, + "blake2b": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/blake2b/-/blake2b-2.1.4.tgz", + "integrity": "sha512-AyBuuJNI64gIvwx13qiICz6H6hpmjvYS5DGkG6jbXMOT8Z3WUJ3V1X0FlhIoT1b/5JtHE3ki+xjtMvu1nn+t9A==", + "requires": { + "blake2b-wasm": "^2.4.0", + "nanoassert": "^2.0.0" + } + }, + "blake2b-wasm": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/blake2b-wasm/-/blake2b-wasm-2.4.0.tgz", + "integrity": "sha512-S1kwmW2ZhZFFFOghcx73+ZajEfKBqhP82JMssxtLVMxlaPea1p9uoLiUZ5WYyHn0KddwbLc+0vh4wR0KBNoT5w==", + "requires": { + "b4a": "^1.0.1", + "nanoassert": "^2.0.0" + } + }, "blakejs": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/blakejs/-/blakejs-1.2.1.tgz", @@ -41389,7 +42069,6 @@ "version": "4.3.6", "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.6.tgz", "integrity": "sha512-bbcp3YfHCUzMOvKqsztczerVgBKSsEijCySNlHHbX3VG1nskvqjz5Rfso1gGwD6w6oOV3eI60pKuMOV5MV7p3Q==", - "dev": true, "requires": { "assertion-error": "^1.1.0", "check-error": "^1.0.2", @@ -41400,11 +42079,18 @@ "type-detect": "^4.0.5" } }, + "chai-as-promised": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/chai-as-promised/-/chai-as-promised-7.1.1.tgz", + "integrity": "sha512-azL6xMoi+uxu6z4rhWQ1jbdUhOMhis2PvscD/xjLqNMkv3BPPp2JyyuTHOrf9BOosGpNQ11v6BKv/g57RXbiaA==", + "requires": { + "check-error": "^1.0.2" + } + }, "chalk": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, "requires": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -41444,8 +42130,7 @@ "check-error": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", - "integrity": "sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=", - "dev": true + "integrity": "sha1-V00xLt2Iu13YkS6Sht1sCu1KrII=" }, "check-more-types": { "version": "2.24.0", @@ -41782,6 +42467,21 @@ "integrity": "sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==", "dev": true }, + "cli-table": { + "version": "0.3.11", + "resolved": "https://registry.npmjs.org/cli-table/-/cli-table-0.3.11.tgz", + "integrity": "sha512-IqLQi4lO0nIB4tcdTpN4LCB9FI3uqrJZK7RC515EnhZ6qBaglkIgICb1wjeAqpdoOabm1+SuQtkXIPdYC93jhQ==", + "requires": { + "colors": "1.0.3" + }, + "dependencies": { + "colors": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz", + "integrity": "sha512-pFGrxThWcWQ2MsAz6RtgeWe4NK2kUE1WfsrvvlctdII745EW9I0yflqhe7++M5LEc7bV2c/9/5zc8sFcpL0Drw==" + } + } + }, "cli-table3": { "version": "0.6.2", "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.2.tgz", @@ -42057,7 +42757,6 @@ "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, "requires": { "color-name": "1.1.3" } @@ -42065,8 +42764,7 @@ "color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" }, "color-string": { "version": "1.9.0", @@ -43632,6 +44330,11 @@ "which": "^2.0.1" } }, + "crypto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/crypto/-/crypto-1.0.1.tgz", + "integrity": "sha512-VxBKmeNcqQdiUQUW2Tzq0t377b54N2bMtXO/qiLa+6eRRmmC4qT3D4OnTGoT/U6O9aklQ/jTwbOtRMTTY8G0Ig==" + }, "crypto-browserify": { "version": "3.12.0", "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", @@ -44252,7 +44955,6 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-3.0.1.tgz", "integrity": "sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==", - "dev": true, "requires": { "type-detect": "^4.0.0" } @@ -44531,6 +45233,155 @@ "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", "dev": true }, + "dex-contracts-v2": { + "version": "git+https://@github.com/aeternity/dex-contracts-v2.git#53d86c758e8470f051a64710413a01afc03a8708", + "from": "dex-contracts-v2@github:aeternity/dex-contracts-v2", + "requires": { + "@aeternity/aepp-sdk": "^10.0.0-beta.1", + "aeternity-fungible-token": "^1.0.0", + "axios": "^0.24.0", + "crypto": "^1.0.1", + "fs": "^0.0.1-security" + }, + "dependencies": { + "@aeternity/aepp-sdk": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/@aeternity/aepp-sdk/-/aepp-sdk-10.0.0.tgz", + "integrity": "sha512-hrlYz3JID2nTlbaFF8HV7hTwVtmtdOr9IVKnJpobcFA/uvACUSnc+xo8VNPP/QWA5gjp6jBUVQlkOv7fISTDVw==", + "requires": { + "@aeternity/aepp-calldata": "^1.0.0", + "@aeternity/bip39": "^0.1.0", + "@aeternity/json-bigint": "^0.3.1", + "@babel/runtime-corejs3": "^7.16.3", + "@stamp/it": "^1.1.0", + "@stamp/required": "^1.0.1", + "aes-js": "^3.1.2", + "bignumber.js": "^9.0.1", + "bip32-path": "^0.4.2", + "blakejs": "^1.1.1", + "bs58check": "^2.1.2", + "buffer": "^6.0.3", + "cross-fetch": "^3.1.4", + "crypto-browserify": "^3.12.0", + "events": "^3.3.0", + "libsodium-wrappers-sumo": "^0.7.9", + "path-browserify": "^1.0.1", + "process": "^0.11.10", + "ramda": "^0.27.1", + "rlp": "^2.2.7", + "sha.js": "^2.4.11", + "stream-browserify": "^3.0.0", + "swagger-client": "^3.17.0", + "tweetnacl": "^1.0.3", + "tweetnacl-auth": "^1.0.1", + "uuid": "^8.3.2", + "websocket": "^1.0.34" + } + }, + "aeternity-fungible-token": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/aeternity-fungible-token/-/aeternity-fungible-token-1.0.0.tgz", + "integrity": "sha512-Km+Z+/yvEZH3xLTX5tGiuL9DZnKvLvGkXLMQaqpTNxwxcc8pLhZQIjYjot610fZMVj7R52PbqA9/iZhA9VNjbA==", + "requires": { + "@aeternity/aepp-sdk": "^7.7.0", + "aeproject-lib": "2.1.0", + "blake2b": "^2.1.3" + }, + "dependencies": { + "@aeternity/aepp-sdk": { + "version": "7.7.0", + "resolved": "https://registry.npmjs.org/@aeternity/aepp-sdk/-/aepp-sdk-7.7.0.tgz", + "integrity": "sha512-ND8B/aLe2uuNasbiDROHHXDTMXINZhpb1Ah+hHetGSQiOxa6ebOC3uTkNVUPf0wdotRBfBbFPuHCe5BUXo6Mrg==", + "requires": { + "@aeternity/bip39": "^0.1.0", + "@aeternity/json-bigint": "^0.3.1", + "@stamp/it": "^1.0.3", + "@stamp/required": "^1.0.1", + "aes-js": "^3.1.1", + "axios": "^0.19.0", + "bignumber.js": "^9.0.0", + "bip32-path": "^0.4.2", + "blakejs": "^1.1.0", + "bs58check": "^2.1.1", + "ed2curve": "^0.3.0", + "joi-browser": "^13.4.0", + "libsodium-wrappers-sumo": "0.7.6", + "ramda": "^0.27.0", + "rlp": "2.2.5", + "sha.js": "^2.4.11", + "tweetnacl": "^1.0.0", + "tweetnacl-auth": "^1.0.1", + "uuid": "^8.0.0", + "websocket": "^1.0.26" + } + }, + "axios": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.19.2.tgz", + "integrity": "sha512-fjgm5MvRHLhx+osE2xoekY70AhARk3a6hkN+3Io1jc00jtquGvxYlKlsFUhmUET0V5te6CcZI7lcv2Ym61mjHA==", + "requires": { + "follow-redirects": "1.5.10" + } + }, + "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==" + }, + "libsodium-wrappers-sumo": { + "version": "0.7.6", + "resolved": "https://registry.npmjs.org/libsodium-wrappers-sumo/-/libsodium-wrappers-sumo-0.7.6.tgz", + "integrity": "sha512-pwYQ1ZR/UwXBMY4tFDcjYZrBFgexkhRykzcE9Jv0l/J41Tp7PqHYfHA17YpOxIXrAIRBPVSlPo2VxHoGZZKwXA==", + "requires": { + "libsodium-sumo": "0.7.6" + } + }, + "rlp": { + "version": "2.2.5", + "resolved": "https://registry.npmjs.org/rlp/-/rlp-2.2.5.tgz", + "integrity": "sha512-y1QxTQOp0OZnjn19FxBmped4p+BSKPHwGndaqrESseyd2xXZtcgR3yuTIosh8CaMaOii9SKIYerBXnV/CpJ3qw==", + "requires": { + "bn.js": "^4.11.1" + } + } + } + }, + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "requires": { + "ms": "2.0.0" + } + }, + "follow-redirects": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.10.tgz", + "integrity": "sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==", + "requires": { + "debug": "=3.1.0" + } + }, + "libsodium-sumo": { + "version": "0.7.6", + "resolved": "https://registry.npmjs.org/libsodium-sumo/-/libsodium-sumo-0.7.6.tgz", + "integrity": "sha512-1XM2w00YkufeLVhFbw9aV+NTftzqECkEU1Amw2MxCbYuyy4L6MH5y8MWOg3shN6X/9R3e1pp6RCSXPnbFRTVCA==" + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "rlp": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/rlp/-/rlp-2.2.7.tgz", + "integrity": "sha512-d5gdPmgQ0Z+AklL2NVXr/IoSjNZFfTVvQWzL/AM2AOcSzYP2xjlb0AC8YyCLc41MSNf6P6QVtjgPdmVtzb+4lQ==", + "requires": { + "bn.js": "^5.2.0" + } + } + } + }, "diff": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", @@ -45161,8 +46012,7 @@ "escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" }, "escodegen": { "version": "1.14.3", @@ -46624,30 +47474,9 @@ } }, "follow-redirects": { - "version": "1.5.10", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.10.tgz", - "integrity": "sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==", - "dev": true, - "requires": { - "debug": "=3.1.0" - }, - "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } - } + "version": "1.15.1", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.1.tgz", + "integrity": "sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==" }, "for-in": { "version": "1.0.2", @@ -46749,6 +47578,11 @@ } } }, + "fs": { + "version": "0.0.1-security", + "resolved": "https://registry.npmjs.org/fs/-/fs-0.0.1-security.tgz", + "integrity": "sha512-3XY9e1pP0CVEUCdj5BmfIZxRBTSDycnbqhIOGec9QYtmVH2fbLpj86CFWkrNOkt/Fvty4KZG5lTglL9j/gJ87w==" + }, "fs-access": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/fs-access/-/fs-access-1.0.1.tgz", @@ -46922,8 +47756,7 @@ "get-func-name": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", - "integrity": "sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=", - "dev": true + "integrity": "sha1-6td0q+5y4gQJQzoGY2YCPdaIekE=" }, "get-intrinsic": { "version": "1.1.1", @@ -47480,8 +48313,7 @@ "has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" }, "has-symbols": { "version": "1.0.3", @@ -51411,7 +52243,6 @@ "version": "2.3.4", "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.4.tgz", "integrity": "sha512-OvKfgCC2Ndby6aSTREl5aCCPTNIzlDfQZvZxNUrBrihDhL3xcrYegTblhmEiCrg2kKQz4XsFIaemE5BF4ybSaQ==", - "dev": true, "requires": { "get-func-name": "^2.0.0" } @@ -52041,8 +52872,7 @@ "moment": { "version": "2.29.2", "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.2.tgz", - "integrity": "sha512-UgzG4rvxYpN15jgCmVJwac49h9ly9NurikMWGPdVxm8GZD6XjkKPxDTjQQ43gtGgnV3X0cAyWDdP2Wexoquifg==", - "dev": true + "integrity": "sha512-UgzG4rvxYpN15jgCmVJwac49h9ly9NurikMWGPdVxm8GZD6XjkKPxDTjQQ43gtGgnV3X0cAyWDdP2Wexoquifg==" }, "move-concurrently": { "version": "1.0.1", @@ -52115,6 +52945,11 @@ "dev": true, "optional": true }, + "nanoassert": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/nanoassert/-/nanoassert-2.0.0.tgz", + "integrity": "sha512-7vO7n28+aYO4J+8w96AzhmU8G+Y/xpPDJz/se19ICsqj/momRbb9mh9ZUtkoJ5X3nTnPdhEJyc0qnM6yAsHBaA==" + }, "nanomatch": { "version": "1.2.13", "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", @@ -52229,6 +53064,14 @@ "lodash": "^4.17.15" } }, + "node-dir": { + "version": "0.1.17", + "resolved": "https://registry.npmjs.org/node-dir/-/node-dir-0.1.17.tgz", + "integrity": "sha512-tmPX422rYgofd4epzrNoOXiE8XFZYOcCq1vD7MAXCDO+O+zndlA2ztdKKMa+EeuBG5tHETpr4ml4RGgpqDCCAg==", + "requires": { + "minimatch": "^3.0.2" + } + }, "node-domexception": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz", @@ -53451,7 +54294,6 @@ "version": "0.12.7", "resolved": "https://registry.npmjs.org/path/-/path-0.12.7.tgz", "integrity": "sha1-1NwqUGxM4hl+tIHr/NWzbAFAsQ8=", - "dev": true, "requires": { "process": "^0.11.1", "util": "^0.10.3" @@ -53510,8 +54352,7 @@ "pathval": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", - "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", - "dev": true + "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==" }, "pbkdf2": { "version": "3.1.2", @@ -54768,6 +55609,21 @@ "retry": "^0.12.0" } }, + "promisify-child-process": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/promisify-child-process/-/promisify-child-process-2.1.2.tgz", + "integrity": "sha512-j2BRwNaM7fUwrd67avtqSTRevQXZiqS+T4Ky3VVaQdvzkPpsTByBAv+ZyBxuXgV/eUrCe2qYrOZvPvd+sMryeg==", + "requires": { + "@types/node": "^10.11.3" + }, + "dependencies": { + "@types/node": { + "version": "10.17.60", + "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.60.tgz", + "integrity": "sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==" + } + } + }, "prompts": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", @@ -57943,7 +58799,6 @@ "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, "requires": { "has-flag": "^3.0.0" } @@ -59206,8 +60061,7 @@ "type-detect": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", - "dev": true + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==" }, "type-fest": { "version": "0.21.3", @@ -59802,7 +60656,6 @@ "version": "0.10.4", "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz", "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==", - "dev": true, "requires": { "inherits": "2.0.3" }, @@ -59810,8 +60663,7 @@ "inherits": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" } } }, diff --git a/package.json b/package.json index 68e14d0af..cec518bff 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "superhero-wallet", - "version": "0.9.10", + "version": "0.9.11", "description": "Superhero wallet", "author": "Superhero", "license": "MIT", @@ -53,6 +53,7 @@ "rxjs": "^6.6.7", "rxjs-etc": "^10.6.2", "tipping-contract": "github:aeternity/tipping-contract#v3.1.0-alpha2", + "dex-contracts-v2": "github:aeternity/dex-contracts-v2", "uuid": "^8.3.2", "validator": "^13.7.0", "vee-validate": "^2.2.15", diff --git a/src/icons/arrow-head.svg b/src/icons/arrow-head.svg new file mode 100644 index 000000000..1f399cf40 --- /dev/null +++ b/src/icons/arrow-head.svg @@ -0,0 +1,3 @@ + + + diff --git a/src/icons/refresh.svg b/src/icons/refresh.svg new file mode 100644 index 000000000..3da5dc9d4 --- /dev/null +++ b/src/icons/refresh.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/icons/warning.svg b/src/icons/warning.svg index 5d14362fc..2a543dbe6 100644 --- a/src/icons/warning.svg +++ b/src/icons/warning.svg @@ -1,5 +1,5 @@ - - - - + + + + diff --git a/src/mixins/deeplinkApi.js b/src/mixins/deeplinkApi.js index 2c7a969ee..45f0868a3 100644 --- a/src/mixins/deeplinkApi.js +++ b/src/mixins/deeplinkApi.js @@ -15,6 +15,7 @@ export default { (url, [key, value]) => url.replace(new RegExp(`{${key}}`, 'g'), encodeURIComponent(value)), this.$route.query[isSuccess ? 'x-success' : 'x-cancel'], ); + this.$router.push('/account'); window.open(callbackUrl, '_self'); }, }, diff --git a/src/mixins/transactionTokensMixin.js b/src/mixins/transactionTokensMixin.js new file mode 100644 index 000000000..696b0482f --- /dev/null +++ b/src/mixins/transactionTokensMixin.js @@ -0,0 +1,53 @@ +import { mapState, mapGetters } from 'vuex'; +import { camelCase } from 'lodash-es'; +import { FUNCTION_TYPE_DEX, MAGNITUDE } from '../popup/utils/constants'; +import { amountRounded, convertToken } from '../popup/utils/helper'; +import * as TransactionResolver from '../popup/utils/transactionTokenInfoResolvers'; + +export default { + computed: { + ...mapState('fungibleTokens', ['availableTokens']), + ...mapGetters([ + 'getTxAmountTotal', + 'getTxSymbol', + 'getTxType', + 'getTxDirection', + 'account', + 'getDexContracts', + ]), + txType() { + return this.getTxType(this.transaction); + }, + tokens() { + const resolver = TransactionResolver[camelCase(this.transaction?.tx?.function)]; + if (resolver && (!this.isAllowance || this.showDetailedAllowanceInfo)) { + return resolver(this.transaction, this.availableTokens).tokens; + } + return [{ + ...this.transaction.tx, + amount: this.isAllowance + ? convertToken(this.transaction.tx.fee, -MAGNITUDE) + : this.getTxAmountTotal(this.transaction), + symbol: this.isAllowance ? 'AE' : this.getTxSymbol(this.transaction), + isReceived: this.getTxDirection(this.transaction) === 'received', + isAe: this.isAllowance || this.getTxSymbol(this.transaction) === 'AE', + }]; + }, + isErrorTransaction() { + return this.transaction?.tx?.returnType && this.transaction.tx.returnType !== 'ok'; + }, + isAllowance() { + return FUNCTION_TYPE_DEX.allowance.includes(this.transaction.tx?.function) + && this.availableTokens[this.transaction.tx?.contractId]; + }, + isDex() { + return TransactionResolver[camelCase(this.transaction.tx.function)] + && (this.getDexContracts.router.includes(this.transaction?.tx?.contractId) + || this.getDexContracts.wae.includes(this.transaction?.tx?.contractId)); + }, + }, + methods: { + convertToken, + amountRounded, + }, +}; diff --git a/src/popup/App.vue b/src/popup/App.vue index 7a8912559..85fa2ef57 100644 --- a/src/popup/App.vue +++ b/src/popup/App.vue @@ -5,6 +5,7 @@ 'not-rebrand': $route.meta.notRebrand, 'show-header': showStatusAndHeader, 'hide-tab-bar': $route.meta.hideTabBar, + 'new-ui': $route.meta.newUI, }" >
diff --git a/src/popup/locales/en.json b/src/popup/locales/en.json index 3c4037b5c..442d8de7e 100644 --- a/src/popup/locales/en.json +++ b/src/popup/locales/en.json @@ -173,6 +173,11 @@ "title": "Scan QR code", "share": "Share", "close": "Close" + }, + "wrongNetwork": { + "title": "Network discrepancy", + "msg": "This action was initiated on a different network. Please switch to {0} in your wallet settings to proceed.", + "button": "Dismiss" } }, "filters": { @@ -202,13 +207,35 @@ "channelCloseSoloTx": "Solo close channel", "channelSlashTx": "Slash channel", "channelSettleTx": "Settle channel", - "channelSnapshotSoloTx": "Solo snapshot channel" + "channelSnapshotSoloTx": "Solo snapshot channel", + "payingForTx": "Paying For Transaction", + "pending": "Pending..." + }, + "dexType": { + "provide_liquidity": "provide liquidity", + "remove_liquidity":"remove liquidity", + "swap": "swap", + "allow_token":"allow token" , + "change_allowance": "allow token", + "transfer_allowance": "allow token", + "deposit": "deposit", + "withdraw": "withdraw", + "pool": "pool" + }, + "spendType": { + "out": "out", + "in": "in" }, "overview": { "aens": "AENS", "contractCreate": "Contract create", "contract": "Contract", - "accountAddress": "Account address" + "accountAddress": "Account address", + "superheroDex": "Superhero DEX" + }, + "returnType": { + "abort": "Failed", + "revert": "Reverted" } }, "pages": { @@ -252,7 +279,7 @@ "terms": "Terms of Use", "privacy": "Privacy Policy", "importAccount": "Retrieve Existing Account", - "activity": "Activity History", + "transactions": "Transaction History", "receive": "Receive", "notifications": "Notifications", "notification-settings": "Notification Preference", @@ -276,8 +303,9 @@ "sign-message": "Sign Message", "sign-transaction": "Sign Transaction", "invite": "Invite", - "tx-details": "Tx Details", - "wallet-home": "Wallet Home" + "tx-details": "Transaction details", + "wallet-home": "Wallet Home", + "token-details": "Token details" }, "about": { "heading": "About", @@ -288,7 +316,6 @@ }, "account": { "heading": "Account", - "activity": "Activity", "accountName": "Account name", "claim": "Claim Tip", "receive": "Receive", @@ -459,26 +486,33 @@ "receiveTokens": "Receive tokens" }, "token-details": { - "details": "Details", + "details": "Token Details", "send": "Send", "receive": "Receive", "tip": "Tip", "token-details": "Token Details", + "token": "Token", "token-description": "Token Description", - "abbreviation": "Abbreviation", "community": "Community", "decimals": "Decimals", "contract": "Contract", "available-supply": "Available supply", "total-supply": "Total supply", "max-supply": "Max supply", + "supply": "Supply", "price-ae": "Price (AE)", "price": "Price", "volume": "Total Volume", + "volumeDaily": "Volume (24h)", + "feeDaily": "Fee (24h)", "market-cap": "Market Cap", "atl-change": "All time low", "ath-change": "All time high", - "chart": "Chart" + "chart": "Chart", + "poolShare": "Pool share", + "holders": "Holders", + "transactions": "Transactions", + "pooled": "Pooled" }, "deploy-token": { "name": "Token name", @@ -507,7 +541,7 @@ "balance-error": "Your account balance is not enough to execute this transaction.", "pointer-added": "Name {type} successful!", "pending-claim": "Pending", - "auto-extend": "Autoextend", + "auto-extend": "Auto-extend", "tabs": { "my-names": "My names", "auctions": "Auctions", @@ -781,7 +815,16 @@ "newContract": "New Contract", "aens": "AENS", "balanceError": "Your account balance is not enough to execute this transaction.", - "advanced": "Advanced transaction details" + "advanced": "Advanced transaction details", + "maxSpent": "Maximum spent", + "minReceived": "Minimum received", + "from": "From", + "to": "To", + "approveUseOfToken": "Approve use of token", + "approveUseOfTokens": "Approve use of tokens", + "maximumDeposited": "Maximum deposited", + "poolTokenSpent": "Pool token spent", + "minimumWithdrawn": "Minimum withdrawn" }, "signTransactionByQrCode": { "backToAccount": "Back to account", @@ -896,17 +939,18 @@ "notifyMessage": "I just sent you %{amount} for your wonderful post! Start receiving and sending more tips through Superhero.com. Learn more." }, "transactionDetails": { + "poolFee": "pool fee", "heading": "Transactions Details", "type": "Type", "amount": "Amount", - "fee": "Tx fee", + "fee": "Transaction fee", "total": "Total", "txFrom": "From", "txTo": "To", "txHash": "Tx hash", "transactions": "Transactions", "backToTransactions": "Back to Transactions", - "explorer": "View Tx in blockchain explorer", + "explorer": "View transaction in blockchain explorer", "txName": "Name", "txAccount": "Account", "name": "Name", @@ -918,8 +962,8 @@ "signatures": "Signatures", "nonce": "Nonce", "callData": "Call Data", - "gas": "Gas", - "gasPrice": "Gas Price", + "gasUsed": "Gas used", + "gasPrice": "Gas price", "code": "Code", "abiV": "Abi version", "vmV": "Vm version", @@ -933,10 +977,20 @@ "hash": "Hash", "status": "Status", "pending": "Pending", + "revert": "Reverted", + "revertInfo": "Transaction has been reverted. All states returned to the state before the transaction.", + "failed": "Failed", + "reason": "Reason", "tipUrl": "Tipped URL", "timestamp": "Timestamp", + "poolTokenReceived": "Pool token received", + "poolTokenSpent": "Pool token spent", + "approveTokenUse": "Approved use of token", + "deposited": "Deposited", + "withdrawn": "Withdrawn", "rates": "Rates", - "swapRoute": "Swap route" + "swapRoute": "Swap route", + "urlCopied": "URL copied" }, "transactions": { "backToAccount": "Back to account", @@ -1083,6 +1137,7 @@ "hours": "{n} hours | {n} hour | {n} hours", "days": "{n} days | {n} day | {n} days", "addressCopied": "Address copied", + "hashCopied": "Hash copied", "copied": "Copied", "copy": "Copy", "tx-fee": "Transaction fee", diff --git a/src/popup/locales/ru.json b/src/popup/locales/ru.json index 2e5e2f9bd..724a12e57 100644 --- a/src/popup/locales/ru.json +++ b/src/popup/locales/ru.json @@ -682,7 +682,6 @@ "nonce": "Nonce", "callData": "Call Data", "gas": "Gas", - "gasPrice": "Gas Price", "code": "Code", "abiV": "Abi version", "vmV": "Vm version", diff --git a/src/popup/router/components/AddressShortening.vue b/src/popup/router/components/AddressShortening.vue index a3129d7e5..45a08927b 100644 --- a/src/popup/router/components/AddressShortening.vue +++ b/src/popup/router/components/AddressShortening.vue @@ -58,22 +58,27 @@ export default {
- {{ $t('addressCopied') }} + {{ customText || $t('addressCopied') }}
@@ -34,6 +35,23 @@ export default { @use '../../../styles/variables'; @use '../../../styles/typography'; +.new-ui { + .copy-address { + .address { + @extend %face-sans-12-medium; + + letter-spacing: 0.05em; + line-height: 18px; + } + + .copied { + .text { + line-height: 18px; + } + } + } +} + .copy-address { .address { @extend %face-sans-11-regular; diff --git a/src/popup/router/components/DetailsItem.vue b/src/popup/router/components/DetailsItem.vue index f4243e58e..925e551c2 100644 --- a/src/popup/router/components/DetailsItem.vue +++ b/src/popup/router/components/DetailsItem.vue @@ -45,6 +45,22 @@ export default { @use '../../../styles/variables'; @use '../../../styles/typography'; +.new-ui { + margin-block: 8px; + + .details-item { + .value { + @extend %face-sans-15-regular; + + letter-spacing: 0.05em; + } + + .label { + margin-bottom: 4px; + } + } +} + .details-item { .label { margin-bottom: 8px; diff --git a/src/popup/router/components/FungibleTokens/DetailsRow.vue b/src/popup/router/components/FungibleTokens/DetailsRow.vue index cb6c98352..64ac863c1 100644 --- a/src/popup/router/components/FungibleTokens/DetailsRow.vue +++ b/src/popup/router/components/FungibleTokens/DetailsRow.vue @@ -1,18 +1,22 @@ diff --git a/src/popup/router/components/Modals/Default.vue b/src/popup/router/components/Modals/Default.vue index 59c71cc3e..74a630fa9 100644 --- a/src/popup/router/components/Modals/Default.vue +++ b/src/popup/router/components/Modals/Default.vue @@ -32,7 +32,7 @@ slot="footer" @click="resolve" > - {{ $t('ok') }} + {{ buttonMessage || $t('ok') }} @@ -51,6 +51,7 @@ export default { msg: { type: String, default: '' }, type: { type: String, default: '' }, icon: { type: String, default: '' }, + buttonMessage: { type: String, default: '' }, }, }; diff --git a/src/popup/router/components/NameItem.vue b/src/popup/router/components/NameItem.vue index 5d7fcbb23..d2162296c 100644 --- a/src/popup/router/components/NameItem.vue +++ b/src/popup/router/components/NameItem.vue @@ -147,7 +147,6 @@ export default { name: { type: String, default: '' }, address: { type: String, default: '' }, autoExtend: { type: Boolean }, - index: { type: Number, required: true }, }, data: () => ({ expand: false, @@ -278,6 +277,10 @@ export default { background: rgba(17, 97, 254, 0.15); color: variables.$color-blue; } + + &:not(:last-of-type) { + margin-right: 4px; + } } } } diff --git a/src/popup/router/components/Overview.vue b/src/popup/router/components/Overview.vue index b536ba4ed..964caf5d4 100644 --- a/src/popup/router/components/Overview.vue +++ b/src/popup/router/components/Overview.vue @@ -1,6 +1,22 @@ @@ -36,33 +54,67 @@ + + diff --git a/src/popup/router/components/TransactionTag.vue b/src/popup/router/components/TransactionTag.vue new file mode 100644 index 000000000..f6270ddeb --- /dev/null +++ b/src/popup/router/components/TransactionTag.vue @@ -0,0 +1,34 @@ + + + + + diff --git a/src/popup/router/components/TransactionTokenRows.vue b/src/popup/router/components/TransactionTokenRows.vue new file mode 100644 index 000000000..4ce317a31 --- /dev/null +++ b/src/popup/router/components/TransactionTokenRows.vue @@ -0,0 +1,69 @@ + + + + + diff --git a/src/popup/router/pages/FungibleTokens/TokenDetails.vue b/src/popup/router/pages/FungibleTokens/TokenDetails.vue index 81c5d2ccf..cf8208945 100644 --- a/src/popup/router/pages/FungibleTokens/TokenDetails.vue +++ b/src/popup/router/pages/FungibleTokens/TokenDetails.vue @@ -2,16 +2,25 @@
+ +
{{ $t('pages.token-details.send') }} @@ -35,7 +44,7 @@ :class="{ selected: activeTab === 'details' }" @click="activeTab = 'details'" > - + {{ $t('pages.token-details.details') }}
+ > + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + -
import { pick } from 'lodash-es'; import { mapGetters, mapState } from 'vuex'; +import BigNumber from 'bignumber.js'; import Plate from '../../components/Plate.vue'; import SendIcon from '../../../../icons/send.svg?vue-component'; import ReceiveIcon from '../../../../icons/receive.svg?vue-component'; import BuyIcon from '../../../../icons/buy.svg?vue-component'; -import Warning from '../../../../icons/warning.svg?vue-component'; +import CircleI from '../../../../icons/circle-i.svg?vue-component'; import TxHistory from '../../../../icons/history.svg?vue-component'; +import ExternalLink from '../../../../icons/external-link.svg?vue-component'; import BoxButton from '../../components/BoxButton.vue'; import TokenAmount from '../../components/TokenAmount.vue'; import DetailsRow from '../../components/FungibleTokens/DetailsRow.vue'; +import Tokens from '../../components/Tokens.vue'; +import Loader from '../../components/Loader.vue'; import TransactionList from '../../components/TransactionList.vue'; -import { SIMPLEX_URL } from '../../../utils/constants'; +import AddressShortening from '../../components/AddressShortening.vue'; +import { SIMPLEX_URL, DEX_URL } from '../../../utils/constants'; +import { convertToken } from '../../../utils/helper'; export default { components: { @@ -128,12 +242,16 @@ export default { SendIcon, ReceiveIcon, BuyIcon, - Warning, + CircleI, TxHistory, TokenAmount, BoxButton, DetailsRow, TransactionList, + AddressShortening, + ExternalLink, + Tokens, + Loader, }, props: { id: { type: String, required: true }, @@ -141,30 +259,41 @@ export default { data() { return { activeTab: 'details', + loading: false, + tokenPairs: {}, SIMPLEX_URL, + DEX_URL, + UNFINISHED_FEATURES: process.env.UNFINISHED_FEATURES, }; }, subscriptions() { return pick(this.$store.state.observables, ['tokenBalance', 'balanceCurrency']); }, computed: { - ...mapGetters(['formatCurrency', 'accounts']), + ...mapGetters(['formatCurrency', 'formatNumber', 'accounts']), ...mapState('accounts', ['activeIdx']), ...mapState('fungibleTokens', ['aePublicData', 'availableTokens']), ...mapGetters('fungibleTokens', ['tokenBalances']), fungibleToken() { return this.availableTokens[this.id]; }, + displayDexUrl() { + return this.DEX_URL.replace('https://', ''); + }, tokenData() { if (this.id === 'aeternity') { return { + decimals: 18, ...this.aePublicData, symbol: 'AE', convertedBalance: this.tokenBalance, balanceCurrency: this.balanceCurrency, contractId: '', + description: '', + isAe: true, }; } + return ( this.tokenBalances.find(({ contractId }) => contractId === this.id) || { ...this.fungibleToken, @@ -172,14 +301,24 @@ export default { } ); }, + poolShare() { + if (!this.tokenPairs || !this.tokenPairs.balance || !this.tokenPairs.totalSupply) { + return null; + } + return `${BigNumber(this.tokenPairs.balance) + .times(100).div(this.tokenPairs.totalSupply).toFixed(8)}%`; + }, }, - mounted() { - this.$store.commit('setPageTitle', this.fungibleToken ? this.fungibleToken.name : 'Aeternity'); - }, - destroyed() { - this.$store.commit('setPageTitle', ''); + async mounted() { + if (this.id.includes('ct_')) { + this.loading = true; + await this.$watchUntilTruly(() => this.$store.state.sdk); + this.tokenPairs = await this.$store.dispatch('fungibleTokens/getContractTokenPairs', this.id); + this.loading = false; + } }, methods: { + convertToken, proceed(path) { this.$store.commit('fungibleTokens/setSelectedToken', { address: this.accounts[this.activeIdx].address, @@ -202,6 +341,10 @@ export default { .transaction-list { flex-grow: 1; + + ::v-deep .filters { + top: calc(env(safe-area-inset-top) + 270px); + } } ::v-deep { @@ -222,6 +365,21 @@ export default { .box-button { margin-right: 24px; + background-color: variables.$color-bg-2; + + &.disabled { + background-color: variables.$color-disabled; + color: variables.$color-light-grey; + opacity: 0.44; + + &:hover { + &, + ::v-deep svg { + color: variables.$color-light-grey; + cursor: not-allowed; + } + } + } &:last-child { margin: 0; @@ -232,13 +390,13 @@ export default { .token-tabs { display: flex; align-items: center; + justify-content: space-around; height: 48px; cursor: pointer; div { display: flex; align-items: center; - margin-left: 18px; @extend %face-sans-16-bold; @@ -258,16 +416,45 @@ export default { } .token-profile { - display: flex; justify-content: center; align-items: center; margin-bottom: 20px; + ::v-deep .tokens { + display: flex; + flex-direction: column; + + .symbols { + @extend %face-sans-18-medium; + + .seperator { + color: variables.$color-light-grey; + } + } + + .icons { + margin-bottom: 8px; + + img { + width: 44px; + height: 44px; + border-radius: 22px; + + &.pair { + margin-left: -80px; + } + } + } + } + .token-amount { - font-size: 18px; - margin-left: 10px; + padding-top: 8px; + margin-bottom: 8px; + display: block; text-align: center; + @extend %face-sans-24-medium; + ::v-deep .fiat { display: block; font-size: 16px; @@ -280,19 +467,45 @@ export default { background-color: variables.$color-bg-1; } - .contract ::v-deep .text, .community ::v-deep .text { color: variables.$color-green; + font-size: 13px; + } + + .primary ::v-deep .text { + color: variables.$color-blue; } - .contract ::v-deep .text { - font-size: 9px; - display: flex; + .link ::v-deep .text a { + color: variables.$color-light-grey; + text-decoration: none; + display: inline-flex; align-items: center; + + svg { + width: 22px; + height: 22px; + } } - .community ::v-deep .text { - font-size: 13px; + .price ::v-deep .text { + .green { + color: variables.$color-green; + font-weight: 400; + } + + .red { + color: variables.$color-red-dark; + font-weight: 400; + } + } + + ::v-deep .address-shortening { + color: variables.$color-light-grey; + + &:hover { + color: variables.$color-white; + } } } diff --git a/src/popup/router/pages/More.vue b/src/popup/router/pages/More.vue index afbb409a0..b028fa0fc 100644 --- a/src/popup/router/pages/More.vue +++ b/src/popup/router/pages/More.vue @@ -28,8 +28,8 @@ {{ $t('pages.fungible-tokens.buyAe') }} {{ $t('pages.more.dex') }} @@ -46,15 +46,15 @@ import Settings from '../../../icons/settings.svg?vue-component'; import About from '../../../icons/circle-i.svg?vue-component'; import Buy from '../../../icons/buy.svg?vue-component'; import Dex from '../../../icons/dex.svg?vue-component'; -import { SIMPLEX_URL } from '../../utils/constants'; +import { DEX_URL, SIMPLEX_URL } from '../../utils/constants'; export default { components: { Plate, AccountSwitcher, BoxButton, Invites, Settings, About, Buy, Dex, }, data: () => ({ - UNFINISHED_FEATURES: process.env.UNFINISHED_FEATURES, SIMPLEX_URL, + DEX_URL, }), }; diff --git a/src/popup/router/pages/Names/AuctionBid.vue b/src/popup/router/pages/Names/AuctionBid.vue index 6f202c5b0..e416dc3f5 100644 --- a/src/popup/router/pages/Names/AuctionBid.vue +++ b/src/popup/router/pages/Names/AuctionBid.vue @@ -24,7 +24,7 @@