Compare commits

..
Author SHA1 Message Date
Luis Fernando Molina 5b52de8153 Merge pull request #1085 from Superalgos/develop
Beta 10 Release
2021-06-05 10:35:00 -04:00
Luis Fernando Molina db855b27ad Merge pull request #1084 from Superalgos/plugins-docs
Plugins docs into Develop
2021-06-05 10:26:45 -04:00
Luis Fernando Molina cabe806c1e Merge pull request #1083 from Luis-Fernando-Molina/develop
Contribution: API Data Fetcher Demo Workspace cleaned
2021-06-05 10:20:45 -04:00
Luis Fernando Molina 8e703c2f0a API Data Fetcher Demo Workspace cleaned 2021-06-05 16:16:33 +02:00
Luis Fernando Molina 3cf13a37d0 Merge pull request #1081 from harrellbm/develop
Initial API Map and Mine docs edited and complete
2021-06-05 09:04:16 -04:00
Luis Fernando Molina cfa0a51fca Merge pull request #1078 from Smidy13/develop
Bug Fix: Display Error if Trading System Formula Evaluates as Undefined
2021-06-05 09:03:55 -04:00
B Harrell 15edbc807d Merge branch 'Superalgos:develop' into develop 2021-06-05 07:45:05 -05:00
Brenden Harrell cdb945b99b Initial API Map and Mine docs edited and complete 2021-06-05 07:43:54 -05:00
Julian Molina f18d9953ec Merge pull request #1079 from julian-molina/develop
Contribution: Small fixes to user variables docs
2021-06-05 12:21:32 +02:00
Julian Molina 1d2dc5a646 Merge branch 'develop' into develop 2021-06-05 12:21:23 +02:00
Julian Molina 4750803fae Small fixes to user variables docs 2021-06-05 12:19:45 +02:00
Smidy13 68697c7280 Bug Fix: Display Error if Trading System Formula Evaluates as Undefined 2021-06-05 16:51:25 +12:00
Luis Fernando Molina b3d37de39f Merge pull request #1077 from harrellbm/develop
Finish API Map node docs
2021-06-05 00:03:19 -04:00
Brenden Harrell ebe64b7f8e Finish API Map node docs 2021-06-04 22:41:48 -05:00
Julian Molina 1629752c80 Merge pull request #1076 from PLuv/develop
Change: Small change to complete user-defined-variables docs
2021-06-04 19:56:13 +02:00
Julian Molina b9647c1a35 Merge pull request #1075 from GENS-Tools/plugins-docs
Contribution: My Superalgos Review
2021-06-04 19:55:37 +02:00
Philip Love d0d25c42a3 Change: Small change to complete user-defined-variables docs 2021-06-04 13:45:39 -04:00
GENS-Tools 9c6a2a06a8 My Superalgos Review 2021-06-04 17:33:51 +02:00
Luis Fernando Molina a2c2e9e49c Merge pull request #1074 from harrellbm/develop
Optimize Coingecko API Map and Start on API Map docs
2021-06-03 23:04:27 -04:00
Brenden Harrell 25c007fb3f Start on API Map node docs 2021-06-03 21:49:34 -05:00
Brenden Harrell d3ff0c5c49 API Map config fix 2021-06-03 21:49:13 -05:00
Brenden Harrell b80b04a905 Optimize CoinGecko API Map with Query Parameters 2021-06-03 18:53:29 -05:00
Luis Fernando Molina dc9fa31163 Merge pull request #1071 from Smidy13/develop
Bug Fix: Tutorials Load for Plugin Workspaces
2021-06-03 07:51:07 -04:00
Luis Fernando Molina bc121adef5 Merge pull request #1069 from harrellbm/develop
Harden replaceBy config options, update coingecko map and add docs
2021-06-03 07:50:18 -04:00
Julian Molina 8dd57b239e Merge pull request #1070 from PLuv/develop
Add: Pluvtech Data Mine Docs
2021-06-03 13:27:55 +02:00
Smidy13 98cca71c5a Bug Fix: Load Tutorials for Plugins Workspaces 2021-06-03 23:23:51 +12:00
Smidy13 42741386f3 Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-06-03 21:40:41 +12:00
Philip Love 76120c1028 Add: Pluvtech Data Mine Docs 2021-06-03 01:13:14 -04:00
B Harrell ee955824fb Merge branch 'Superalgos:develop' into develop 2021-06-02 22:31:42 -05:00
Brenden Harrell c35727f919 Docs for CoinGecko Api Map and Mine 2021-06-02 22:22:26 -05:00
Brenden Harrell 13119ad755 Update CoinGecko Api Map 2021-06-02 22:20:15 -05:00
Brenden Harrell 39e567c057 Harden replaceBy config options 2021-06-02 22:19:56 -05:00
Luis Fernando Molina de4e257a7e Merge pull request #1066 from harrellbm/develop
Initial CoinGecko Api map and data mine
2021-06-02 15:45:27 -04:00
Brenden Harrell d2c49e91be Initial CoinGecko Api map and data mine 2021-06-02 12:54:12 -05:00
Luis Fernando Molina 63c2b8dcf9 Merge pull request #1064 from harrellbm/develop
Fix Aggregate Avg and Min Methods
2021-06-02 12:36:45 -04:00
Brenden Harrell c88d398d5f Fix Aggregate Avg and Min Methods 2021-06-02 11:14:08 -05:00
Julian Molina 76b6fa4eb3 Merge pull request #1062 from julian-molina/develop
Contribution: Getting started tutorials repagination
2021-06-02 17:43:46 +02:00
Julian Molina 36b5856bbc Getting started tutorials repagination 2021-06-02 17:34:11 +02:00
Julian Molina 6b29a47117 Merge pull request #1061 from julian-molina/develop
Contribution: Mention of API Maps in Basic Education
2021-06-02 17:26:23 +02:00
Julian Molina 4ac8f90eee Mention of API Maps in Basic Education 2021-06-02 17:07:21 +02:00
Brenden Harrell 9971d6aa16 Merge branch 'develop' of https://github.com/harrellbm/Superalgos into develop 2021-06-02 09:22:11 -05:00
Brenden Harrell 894eada595 Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-06-02 09:20:40 -05:00
B Harrell b0000d1439 Merge branch 'Superalgos:develop' into develop 2021-06-02 09:19:14 -05:00
Luis Fernando Molina 7fda589615 Merge pull request #1059 from Luis-Fernando-Molina/develop
Contribution: API Data Fetcher bot Bug Fixed. Timestamp record property expected only as Number.
2021-06-02 08:12:11 -04:00
Luis Fernando Molina fab078f38f API Data Fetcher bot Bug Fixed. Timestamp record property expected only as Number. 2021-06-02 14:11:15 +02:00
Julian Molina 3b36eda278 Merge pull request #1058 from julian-molina/develop
Contribution: Styles in workspaces panel
2021-06-02 13:34:19 +02:00
Julian Molina a2c8d31bfc Styles in workspaces panel 2 2021-06-02 13:33:37 +02:00
Julian Molina 8ae34f3d4e Styles in workspaces panel 2021-06-02 13:29:37 +02:00
Julian Molina e4f3e9b807 Merge pull request #1057 from julian-molina/develop
Contribution: Exchanges reorg 2
2021-06-02 11:48:48 +02:00
Julian Molina f2dad9389e Continuing reorg 2021-06-02 11:46:26 +02:00
Julian Molina c860d14e1e Exchanges reorg 2 2021-06-02 11:31:58 +02:00
Julian Molina 6c4975d051 Merge pull request #1056 from julian-molina/develop
Contribution: Workspaces reorg
2021-06-02 11:16:27 +02:00
Julian Molina 08a82d52cd Workspaces reorg 2021-06-02 11:15:14 +02:00
Brenden Harrell 1790cbf752 Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-06-01 15:36:38 -05:00
Julian Molina 7723636f4b Merge pull request #1054 from julian-molina/develop
Contribution: Refactoring tradingEngine.current. - tradingEngine.tradingCurrent.
2021-06-01 22:14:27 +02:00
Julian Molina 2d7f2f7a79 Refactoring tradingEngine.current. - tradingEngine.tradingCurrent. 2021-06-01 21:59:05 +02:00
Julian Molina 804fa72d5f Merge pull request #1053 from julian-molina/develop
Contribution: Exchange Key Test workspace revision
2021-06-01 21:44:28 +02:00
Julian Molina f97b6286ec Exchange Key Test workspace revision 2021-06-01 21:36:26 +02:00
B Harrell 9afcbb56b4 Merge branch 'Superalgos:develop' into develop 2021-06-01 13:22:53 -05:00
Julian Molina 51f3119ad3 Merge pull request #1052 from julian-molina/develop
Contribution: BBTP finished
2021-06-01 18:27:52 +02:00
Julian Molina d936333bff BBTP finished 2021-06-01 18:23:12 +02:00
Julian Molina dc7d19efd9 Merge pull request #1051 from julian-molina/develop
Contribution:  TSDT finished
2021-06-01 16:44:42 +02:00
Julian Molina ebd825104c TSDT finished 2021-06-01 16:42:52 +02:00
Luis Fernando Molina 1e7a8869ed Merge pull request #1050 from Luis-Fernando-Molina/develop
Contribution: replaceBy config property extended
2021-06-01 10:31:51 -04:00
Luis Fernando Molina bac0e8be04 replaceBy config property extended 2021-06-01 16:28:39 +02:00
Julian Molina e26e5664fc Merge pull request #1047 from julian-molina/develop
Contribution: WHB Workspace and Install Market tutorial ready
2021-06-01 13:12:54 +02:00
Julian Molina d252bb108c WHB Workspace and Install Market tutorial ready 2021-06-01 13:11:50 +02:00
Brenden Harrell c8443b0c68 Pull Dia Plugin 2021-05-31 18:07:35 -05:00
Brenden Harrell 91e112c756 Map and Mine for Initial Dia Data endpoint 2021-05-31 17:15:51 -05:00
Julian Molina a02f03b334 Merge pull request #1045 from julian-molina/develop
Contribution: TSDT 3rd tutorial
2021-05-31 21:49:06 +02:00
Julian Molina cf7c1652f8 Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-05-31 21:48:18 +02:00
Julian Molina 598ebcefcc TSDT 3rd tutorial 2021-05-31 21:47:58 +02:00
Luis Fernando Molina 7e5cb6bfdf Merge pull request #1043 from PLuv/develop
Modify: PluginFilePosition auto-spawn==true per Julian request
2021-05-31 14:49:06 -04:00
Philip Love d69e1ed670 Modify: PluginFilePosition auto-spawn==true per Julian request 2021-05-31 13:22:08 -04:00
Luis Fernando Molina fe615e979f Merge pull request #1042 from Luis-Fernando-Molina/develop
Contribution: API Data Fetcher replaceBy Config Property Extended
2021-05-31 12:17:58 -04:00
Luis Fernando Molina d26ce4bde1 Merge pull request #1041 from harrellbm/develop
Data mining Docs fixes and updates
2021-05-31 12:17:21 -04:00
Luis Fernando Molina e2dc178ec1 API Data Fetcher replaceBy Config Property Extended 2021-05-31 18:16:52 +02:00
Brenden Harrell 8127696f89 Merge branch 'develop' of https://github.com/harrellbm/Superalgos into develop 2021-05-31 10:33:50 -05:00
Brenden Harrell 5875921221 Small data mining docs addtions 2021-05-31 10:33:46 -05:00
B Harrell 449c49b552 Merge branch 'Superalgos:develop' into develop 2021-05-31 10:33:18 -05:00
Luis Fernando Molina b8211fa91b Merge pull request #1040 from Luis-Fernando-Molina/develop
Contribution: Docs Improved API Data Fetcher Bot not reference at API Map Reference node
2021-05-31 11:05:19 -04:00
Luis Fernando Molina 366336097e Docs Improved API Data Fetcher Bot not reference at API Map Reference node 2021-05-31 17:05:01 +02:00
Luis Fernando Molina 597227353b Merge pull request #1038 from Luis-Fernando-Molina/develop
Contribution: -Version Branch added
2021-05-31 09:59:59 -04:00
Luis Fernando Molina 991f05c335 -Version Branch added 2021-05-31 15:56:40 +02:00
Luis Fernando Molina 8dcb1667c6 Merge pull request #1037 from Luis-Fernando-Molina/develop
Contribution: API Data Fetcher node initial value bug fixed
2021-05-31 08:54:12 -04:00
Luis Fernando Molina d8711f68b8 API Data Fetcher node initial value bug fixed 2021-05-31 14:53:35 +02:00
Luis Fernando Molina b4d8f0bba6 Merge pull request #1035 from Smidy13/develop
Bug Fix: Tutorial Reference Missing
2021-05-31 08:30:42 -04:00
Julian Molina b70b244ed0 Merge pull request #1036 from julian-molina/develop
Contribution: Trading system design tutorials, 2nd
2021-05-31 13:47:18 +02:00
Brenden Harrell b95fbf127d Merge branch 'develop' of https://github.com/harrellbm/Superalgos into develop 2021-05-31 06:40:05 -05:00
Brenden Harrell e11fe7ccd3 more typo fixes 2021-05-31 06:40:01 -05:00
B Harrell d08fd76f5e Merge branch 'Superalgos:develop' into develop 2021-05-31 06:37:31 -05:00
Julian Molina 792fef2371 Trading system design tutorials, 2nd 2021-05-31 13:07:42 +02:00
Smidy13 b85218705d Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-05-31 19:42:47 +12:00
Smidy13 fd130bffe2 Merge branch 'master' of https://github.com/Superalgos/Superalgos into develop 2021-05-31 19:41:54 +12:00
Smidy 2396381390 Merge branch 'Superalgos:develop' into develop 2021-05-31 19:22:34 +12:00
Smidy13 a182a2c3df Bug Fix: Tutorial Reference Missing 2021-05-31 19:11:21 +12:00
Luis Fernando Molina d72ee8ab8c Merge pull request #1034 from Superalgos/dependabot/npm_and_yarn/Client/ws-7.4.6
Bump ws from 7.2.3 to 7.4.6 in /Client
2021-05-30 19:41:22 -04:00
dependabot[bot] 1ba978d9f7 Bump ws from 7.2.3 to 7.4.6 in /Client
Bumps [ws](https://github.com/websockets/ws) from 7.2.3 to 7.4.6.
- [Release notes](https://github.com/websockets/ws/releases)
- [Commits](https://github.com/websockets/ws/compare/7.2.3...7.4.6)

Signed-off-by: dependabot[bot] <support@github.com>
2021-05-30 23:19:05 +00:00
Julian Molina 2303e58844 Merge pull request #1033 from julian-molina/develop
Contribution: Beyond the basics review
2021-05-30 18:52:42 +02:00
Julian Molina 1b9c70e14b Beyond the basics review 2021-05-30 18:50:11 +02:00
Julian Molina 2694a6a401 Merge pull request #1032 from 9808us/develop
Hello World Workspace + Tutorial Fix for Beta10
2021-05-30 17:23:48 +02:00
Julian Molina 0484b55077 Merge pull request #1030 from RalfWeiss/plugins-docs
Contribution: My Superalgos Review
2021-05-30 17:23:23 +02:00
Julian Molina e68d3e4dfc Merge pull request #1026 from brombispi/plugins-docs
Contribution: Best Ever
2021-05-30 17:22:33 +02:00
9808us 94a6f7b8a8 Hello World Workspace + Tutorial Fix for Beta10 2021-05-30 16:55:22 +02:00
Luis Fernando Molina 2e28514a00 Merge pull request #1031 from 9808us/develop
Hello World Workspace fix for Beta10
2021-05-30 10:26:42 -04:00
9808us f468b146d9 Hello World Workspace Fix for Beta10 2021-05-30 16:24:24 +02:00
ralf 9532c6cdb7 My Superalgos Review 2021-05-30 15:36:25 +02:00
Julian Molina f5202e36d4 Merge pull request #1029 from julian-molina/develop
Contribution: Basic education revision complete
2021-05-30 15:01:53 +02:00
Julian Molina 9f10e4b83b Basic education revision complete 2021-05-30 15:00:27 +02:00
9808us d978df049e Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-05-30 13:49:40 +02:00
Julian Molina bea3bf2de4 Merge pull request #1028 from julian-molina/develop
Contribution: Basic Education pages + Masters data mine
2021-05-30 13:47:06 +02:00
Julian Molina bfc8e6931f Basic Education pages + Masters data mine 2021-05-30 13:45:43 +02:00
Julian Molina 13a2a26f73 Merge pull request #1027 from julian-molina/develop
Contribution: Welcome tutorial finished
2021-05-30 12:38:07 +02:00
Julian Molina 129001a041 Welcome tutorial finished 2021-05-30 12:35:27 +02:00
9808us 2638ad0c4d Merge branch 'master' of https://github.com/Superalgos/Superalgos into develop 2021-05-30 12:28:45 +02:00
Razvan Dumitru 8f761c5477 Best Ever 2021-05-30 09:39:04 +02:00
Razvan Dumitru b3f197482f Merge branch 'plugins-docs' of https://github.com/Superalgos/Superalgos into plugins-docs 2021-05-30 09:04:39 +02:00
Julian Molina 1f91a84654 Merge pull request #1017 from julian-molina/develop
Contribution: Welcome tutorial updates
2021-05-30 00:41:17 +02:00
Luis Fernando Molina 50546e05f2 Merge pull request #1025 from Luis-Fernando-Molina/develop
Contribution: API Data Fetcher Bot Demo Workspace Plugin updated
2021-05-29 16:18:16 -04:00
Luis Fernando Molina 79c79c54ef API Data Fetcher Bot Demo Workspace Plugin updated 2021-05-29 22:17:03 +02:00
Luis Fernando Molina 0e0c17b0f8 Merge pull request #1024 from Luis-Fernando-Molina/develop
Contribution: Plotting Improvements
2021-05-29 15:48:11 -04:00
Luis Fernando Molina 1538ab7f47 Plotting Improvements 2021-05-29 21:47:01 +02:00
Luis Fernando Molina fd599c254e Merge pull request #1022 from PLuv/develop
Docs Updates
2021-05-29 12:41:10 -04:00
Philip Love f97a35b005 Update: Docs for Close Stage Behaviour 2021-05-29 11:10:24 -04:00
Philip Love fa64a8d37b Update: Some Docs Definitions 2021-05-29 10:56:17 -04:00
Philip Love 6b2d6847c7 Merge remote-tracking branch 'upstream/develop' into develop 2021-05-29 10:54:15 -04:00
Brenden Harrell 2f47213ab8 Type Fixes 2021-05-29 08:35:40 -05:00
Luis Fernando Molina f814a03e0a Merge pull request #1020 from harrellbm/develop
Add Package.json for API Data Fetcher Dep Install
2021-05-29 09:04:51 -04:00
Luis Fernando Molina fbf6bd9339 Merge pull request #1021 from Luis-Fernando-Molina/develop
Contribution: Docs Imprevementes - Questions Answered
2021-05-29 09:03:23 -04:00
Luis Fernando Molina c7534a3a8e Docs Imprevementes - Questions Answered 2021-05-29 15:02:18 +02:00
Brenden Harrell f00cbc0409 Add Package.json for API Data Fetcher Dep Install 2021-05-28 22:08:26 -05:00
Philip Love ae0018348f Docs: user-defined-variables 2021-05-28 21:04:57 -04:00
Luis Fernando Molina 5fc83ea7eb Merge pull request #1018 from harrellbm/develop
Finish Initial Data Mining Docs Edit
2021-05-28 19:41:26 -04:00
Brenden Harrell 0edf17e5f1 Finish initial edit of data mining docs 2021-05-28 17:04:49 -05:00
Brenden Harrell 4a885047a5 Data Mining Docs Edit pp 11-15 2021-05-28 15:39:07 -05:00
Julian Molina 92295f3f3c Welcome tutorial updates 2021-05-28 22:36:12 +02:00
Luis Fernando Molina d69cefecb5 Merge pull request #1016 from harrellbm/develop
Data Mining Edit pp 6-10
2021-05-28 13:53:13 -04:00
B Harrell 12ea0c809b Merge branch 'Superalgos:develop' into develop 2021-05-28 12:44:13 -05:00
Brenden Harrell 33bffbbd5e Data Mining Edit pp 5-10 2021-05-28 12:42:54 -05:00
Luis Fernando Molina 55cb35be44 Merge pull request #1015 from Luis-Fernando-Molina/develop
Contribution: https module replaced by node-fetch, plus bug fixes at API Data Fetcher Bot
2021-05-28 13:12:23 -04:00
Luis Fernando Molina 6130e9e1e5 https module replaced by node-fetch, plus bug fixes at API Data Fetcher Bot 2021-05-28 19:10:51 +02:00
Julian Molina 82e4a1f141 Merge pull request #1014 from julian-molina/develop
Contribution: Delete workspace
2021-05-28 17:40:18 +02:00
Julian Molina 011c5fc5e0 Delete workspace 2021-05-28 17:39:42 +02:00
Luis Fernando Molina e897a554c6 Merge pull request #1013 from Jefferson111/plugins-docs
Contribution: My Superalgos Review
2021-05-28 10:49:28 -04:00
Jefferson111 89b52f3edc My Superalgos Review 2021-05-28 22:46:22 +08:00
Luis Fernando Molina 19455657ab Merge pull request #1002 from PLuv/develop
Manage Stage No longer required to exist ; Close-Stage now closes strategy if no Target asset exists to Trade
2021-05-28 10:44:17 -04:00
Luis Fernando Molina 0658d2d284 Merge pull request #1012 from harrellbm/develop
Update Charting Workspace for Mine Split and Edit Data Docs PP 1-5
2021-05-28 10:43:06 -04:00
Brenden Harrell 4b21756d1d Edit and Style PP 1-5 Data Mining Docs 2021-05-28 09:39:22 -05:00
Luis Fernando Molina 167a9bedd1 Merge pull request #1011 from Luis-Fernando-Molina/develop
Contribution: Bug Fixed Bollinger Bands Processes Failing after Master Data Mine Split
2021-05-28 10:37:31 -04:00
Luis Fernando Molina 8993f50169 Bug Fixed Bollinger Bands Processes Failing after Master Data Mine Split 2021-05-28 16:35:56 +02:00
Luis Fernando Molina 1ee6040f0f Merge pull request #1009 from Luis-Fernando-Molina/develop
Contribution: Default Workspace renamed
2021-05-28 10:05:32 -04:00
Luis Fernando Molina 5d5c04bc41 Default Workspace renamed 2021-05-28 16:05:08 +02:00
Luis Fernando Molina b89de0b437 Merge pull request #1008 from Luis-Fernando-Molina/develop
Contribution: BUG Fixed Tutorial Previous after Resume sending you to the begining
2021-05-28 09:56:36 -04:00
Luis Fernando Molina ec7654a9b7 BUG Fixed Tutorial Previous after Resume sending you to the begining 2021-05-28 15:55:09 +02:00
Julian Molina ae379e3086 Merge pull request #1007 from julian-molina/develop
Contribution: Getting Started Tutorials workspace revision
2021-05-28 15:32:09 +02:00
Julian Molina 91d990759b Getting Started Tutorials workspace and updates 2021-05-28 15:31:08 +02:00
Julian Molina 06d7679684 Getting Started Tutorials workspace revision 2021-05-28 15:20:37 +02:00
B Harrell 88826a90c7 Merge branch 'Superalgos:develop' into develop 2021-05-28 06:13:43 -05:00
Julian Molina bb9f5e391d Merge pull request #1006 from 9808us/develop
Misspelling Fix
2021-05-28 13:08:16 +02:00
9808us 4876963d85 Misspelling Fix 2021-05-28 13:05:20 +02:00
Julian Molina 6f1cdf099d Merge pull request #1005 from julian-molina/develop
Contribution: Getting started workspace
2021-05-28 10:05:24 +02:00
Julian Molina 838e01e358 Getting started workspace 2021-05-28 09:26:07 +02:00
Luis Fernando Molina 312d0740c6 Merge pull request #1004 from Luis-Fernando-Molina/develop
Contribution: API Data Fetcher Demo Plugin Upated
2021-05-28 00:32:51 -04:00
Luis Fernando Molina 17f0a3631f API Data Fetcher Demo Plugin Upated 2021-05-28 06:31:25 +02:00
Brenden Harrell 3e45c646d8 Update Workspace and Tutorial for Masters Split 2021-05-27 22:32:41 -05:00
Luis Fernando Molina fd54e62137 Merge pull request #1003 from Luis-Fernando-Molina/develop
Contribution: API Maps now can be Plugins
2021-05-27 22:02:34 -04:00
Luis Fernando Molina 2a16d70393 API Maps now can be Plugins 2021-05-28 04:01:04 +02:00
Philip Love d633fb1ef3 Fix: Close-Stage not closing strategy in event no Target Asset available to be traded; Open-Stage force to closing when Close-Stage in Opening 2021-05-27 21:11:33 -04:00
Philip Love 7d4804940d Merge remote-tracking branch 'upstream/develop' into develop 2021-05-27 20:50:34 -04:00
Luis Fernando Molina 3a603a067d Merge pull request #1001 from Luis-Fernando-Molina/develop
Contribution: API Data Fetcher feature parameters with default values at the API Map
2021-05-27 20:31:35 -04:00
Luis Fernando Molina dfff4b387d API Data Fetcher DeepScan Bugs Fixed 2021-05-28 02:29:46 +02:00
Luis Fernando Molina d24604ec24 API Data Fetcher feature parameters with default values at the API Map 2021-05-28 02:05:22 +02:00
Luis Fernando Molina 126ea143a3 Merge pull request #1000 from Luis-Fernando-Molina/develop
Contribution: API Data Fetcher Bot Resilience Improved: No Connection Exception Handled
2021-05-27 15:04:14 -04:00
Luis Fernando Molina b7f36f8d4c New Troubleshooting Page 2021-05-27 21:03:08 +02:00
Luis Fernando Molina ad8c47abc3 API Data Fetcher Bot Resilience Improved: No Connection Exception Handled 2021-05-27 20:12:05 +02:00
Luis Fernando Molina 304e1cf5ad Merge pull request #999 from Luis-Fernando-Molina/develop
Contribution: Bug Fixed at Dataset Type Converter
2021-05-27 11:54:00 -04:00
Luis Fernando Molina 128c4c14fb Bug Fixed at Dataset Type Converter 2021-05-27 17:45:37 +02:00
Luis Fernando Molina 0906b748ee Merge pull request #998 from Luis-Fernando-Molina/develop
Contribution: Node Docs Improved
2021-05-27 09:09:47 -04:00
Luis Fernando Molina 87116a5983 Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-05-27 15:08:24 +02:00
Luis Fernando Molina b904277d8d Node Docs Improved 2021-05-27 15:07:58 +02:00
Julian Molina c00ef37516 Merge pull request #997 from julian-molina/develop
Contribution: Getting started provisional workspace
2021-05-27 11:53:57 +02:00
Julian Molina ac8556d18e Getting started provisional workspace 2021-05-27 11:52:11 +02:00
Philip Love 156786f8a7 Fix: Manage-Stage no longer needs to exist per the docs 2021-05-26 23:16:40 -04:00
Luis Fernando Molina 2be56c941e Merge pull request #996 from Luis-Fernando-Molina/develop
Contribution: Bug Fixed, Removing Masters Hardcoded name after Masters Data Mine splitted
2021-05-26 18:29:54 -04:00
Luis Fernando Molina 136f72c906 Bug Fixed, Removing Masters Hardcoded name after Masters Data Mine splitted 2021-05-27 00:26:22 +02:00
Luis Fernando Molina bcc103c73e Merge pull request #995 from Luis-Fernando-Molina/develop
Contribution: bug fixed Custom Plotters Code Moved
2021-05-26 17:05:27 -04:00
Luis Fernando Molina 74bdae6681 bug fixed Custom Plotters Code Moved 2021-05-26 23:03:13 +02:00
Luis Fernando Molina 37d510003f Merge pull request #994 from Luis-Fernando-Molina/develop
Contribution: bug fixed Plotters with hardcoded Data Mine Name
2021-05-26 16:50:18 -04:00
Luis Fernando Molina 11d48f3c0e bug fixed Plotters with hardcoded Data Mine Name 2021-05-26 22:49:15 +02:00
Luis Fernando Molina 2a35196c64 Merge pull request #993 from Luis-Fernando-Molina/develop
Contribution: bug fixed Bollinger Bands with hardcoded Data Mine Name
2021-05-26 16:12:11 -04:00
Luis Fernando Molina f52aaa40fd bug fixed Bollinger Bands with hardcoded Data Mine Name 2021-05-26 22:09:44 +02:00
Luis Fernando Molina 1c72dfaea1 Merge pull request #992 from Luis-Fernando-Molina/develop
Contribution: bug fixed Candles Volumes with hardcoded Data Mine Name
2021-05-26 15:41:30 -04:00
Luis Fernando Molina 178caee4b8 bug fixed Candles Volumes with hardcoded Data Mine Name 2021-05-26 21:34:46 +02:00
Luis Fernando Molina 6f58f3cc3f Merge pull request #990 from harrellbm/develop
Edit Refactor section of Readme
2021-05-26 15:05:36 -04:00
Luis Fernando Molina a9c1d15823 Merge pull request #991 from Luis-Fernando-Molina/develop
Contribution: New Superalgos Concepts at the Docs
2021-05-26 14:59:14 -04:00
Luis Fernando Molina 1a582183d0 bug fixed Exchange Raw Data with hardcoded mine name 2021-05-26 20:58:22 +02:00
Luis Fernando Molina 08e2e0f96f New Superalgos Concepts at the Docs 2021-05-26 20:37:59 +02:00
B Harrell 58b2e7d69e Edit Refactor section of Readme 2021-05-26 13:01:44 -05:00
Luis Fernando Molina 513c0fef75 Merge pull request #989 from harrellbm/develop
Clarify Readme language
2021-05-26 13:38:55 -04:00
B Harrell a48f7f6f05 Clarify Readme language 2021-05-26 12:26:19 -05:00
Luis Fernando Molina de873393f6 Update README.md 2021-05-26 18:48:18 +02:00
Luis Fernando Molina 9233783ded Merge pull request #988 from Luis-Fernando-Molina/develop
Contribution: Huge Refactoring Multi-Perio into Multi Time Frame
2021-05-26 12:46:48 -04:00
Luis Fernando Molina c77999c8e4 Huge Refactoring Multi-Perio into Multi Time Frame 2021-05-26 18:05:11 +02:00
Luis Fernando Molina 1b47e77a83 Merge pull request #987 from Superalgos/plugins-docs
Plugins docs into Develop in preparation for release of Beta 10
2021-05-26 10:09:14 -04:00
Luis Fernando Molina 530c87bfb6 Merge pull request #985 from julian-molina/plugins-docs
Contribution: Beyond the Basics tutorial...
2021-05-26 10:06:57 -04:00
Luis Fernando Molina 2907b9bf39 Merge pull request #983 from Luis-Fernando-Molina/develop
Contribution: Docs Inproved
2021-05-26 10:04:28 -04:00
Luis Fernando Molina c44b42b7a0 Merge pull request #986 from harrellbm/develop
Add Note for Setup Script to ReadMe
2021-05-26 10:02:40 -04:00
B Harrell 48a289085e Add Setup Script note to ReadMe 2021-05-26 08:06:04 -05:00
Julian Molina f24276a3da Beyond the Basics tutorial... 2021-05-26 14:02:38 +02:00
Julian Molina 622e8f83de Merge pull request #984 from julian-molina/plugins-docs
Contribution: Charts tutorial fixes
2021-05-26 09:28:56 +02:00
Julian Molina bb4954de9b Charts tutorial fixes 2021-05-26 09:27:53 +02:00
Luis Fernando Molina 82751bd9ba Docs Inproved 2021-05-26 04:03:46 +02:00
Luis Fernando Molina c9b0685db0 Merge pull request #982 from harrellbm/plugins-docs
Final Touches on First Charting Space Tutorial
2021-05-25 22:00:22 -04:00
B Harrell 3f3b08e578 Merge branch 'Superalgos:develop' into develop 2021-05-25 20:24:53 -05:00
Brenden Harrell f3685ffc4a Final Listing of First Charting Space Tutorial 2021-05-25 20:20:04 -05:00
Brenden Harrell 02986a1879 Update Tutorial Step for Binance.com 2021-05-25 19:47:51 -05:00
Brenden Harrell 2d9da9380c Update Workspace 2021-05-25 19:44:36 -05:00
Brenden Harrell c863353fce Update Tutorial Page 2021-05-25 18:54:41 -05:00
Brenden Harrell 01c4853fba Rename Charting Space Tutorial 2021-05-25 18:47:30 -05:00
Luis Fernando Molina 6788f1653d Merge pull request #981 from Luis-Fernando-Molina/develop
Contribution: API Fetcher Bot docs polishing iteration finished
2021-05-25 17:40:38 -04:00
Luis Fernando Molina 72c3e3d6ec API Fetcher Bot DeepScan Bug Fixed 2021-05-25 23:39:18 +02:00
Luis Fernando Molina 909412eeb9 API Fetcher Bot docs polishing iteration finished 2021-05-25 23:35:25 +02:00
B Harrell a08860d9fc Revert "Add Back tfjs Source Files"
This reverts commit 8ca90466e4.
2021-05-25 11:05:23 -05:00
B Harrell 42276e9c65 Revert "Remove TensorFlow Project from Setup Process"
This reverts commit f1cc1caf20.
2021-05-25 11:05:06 -05:00
B Harrell 6cdcbcede7 Revert "TensorFlow Source files"
This reverts commit cab277cf2c.
2021-05-25 11:04:58 -05:00
B Harrell f1da5ab2f0 Revert "TensorFlow Source"
This reverts commit e1791c2630.
2021-05-25 11:04:52 -05:00
B Harrell bcf55dfded Revert "Tensorflow Source"
This reverts commit a58bf292a9.
2021-05-25 11:04:46 -05:00
B Harrell 18ad1ad641 Revert "TensorFlow Source"
This reverts commit 3d3ab2548d.
2021-05-25 11:04:38 -05:00
B Harrell 58be63eca6 Revert "TensorFlow Source"
This reverts commit 8c7ff0c1d9.
2021-05-25 11:04:28 -05:00
B Harrell c83fab32a9 Revert "TensorFlow Source"
This reverts commit 45a00fb17f.
2021-05-25 11:04:19 -05:00
B Harrell c4269bbd3a Revert "TensorFlow Source"
This reverts commit 12d53f218e.
2021-05-25 11:04:10 -05:00
B Harrell bc9d981422 Revert "TensorFlow source"
This reverts commit 938b5fbfb4.
2021-05-25 11:04:03 -05:00
B Harrell ad1ad9bb27 Revert "TensorFlow Source"
This reverts commit 6c046725e5.
2021-05-25 11:03:55 -05:00
B Harrell 702fe61068 Revert "TensorFlow Linux Binaries"
This reverts commit 244c43a20e.
2021-05-25 11:03:45 -05:00
B Harrell 270bf7b96e Revert "TensorFlow Linux Binaries"
This reverts commit 59534f0846.
2021-05-25 11:03:39 -05:00
B Harrell a92ae52de0 Revert "TensorFlow Binary"
This reverts commit 74ad625e53.
2021-05-25 11:03:31 -05:00
B Harrell f19065dc2a Revert "Remove gitattributes"
This reverts commit 683d6d2948.
2021-05-25 11:03:24 -05:00
B Harrell ed3920b245 Revert "Revert Setup Process"
This reverts commit 044e2b63e9.
2021-05-25 11:03:12 -05:00
B Harrell 6088d1d50a Revert "Revert gitignore"
This reverts commit 9133f2cc73.
2021-05-25 11:03:04 -05:00
B Harrell 1c44426ff2 Revert "Remove tfjs-node Deps"
This reverts commit 831437c1aa.
2021-05-25 11:02:48 -05:00
B Harrell 076800ed2d Revert "Remove more node_module deps"
This reverts commit 2fca1d5e74.
2021-05-25 11:02:34 -05:00
B Harrell 0f0b8c0339 Revert "Finish removing tfjs-node"
This reverts commit 9ea4666211.
2021-05-25 11:02:13 -05:00
Brenden Harrell 9ea4666211 Finish removing tfjs-node 2021-05-25 10:49:15 -05:00
Brenden Harrell 2fca1d5e74 Remove more node_module deps 2021-05-25 10:48:22 -05:00
Brenden Harrell 831437c1aa Remove tfjs-node Deps 2021-05-25 10:47:22 -05:00
Brenden Harrell 9133f2cc73 Revert gitignore 2021-05-25 10:43:45 -05:00
Brenden Harrell 044e2b63e9 Revert Setup Process 2021-05-25 10:42:39 -05:00
B Harrell c4e16038a4 Merge branch 'Superalgos:develop' into develop 2021-05-25 10:33:12 -05:00
Luis Fernando Molina 1aaa39e284 Merge pull request #980 from Luis-Fernando-Molina/develop
Contribution: New Docs Concepts
2021-05-25 11:26:27 -04:00
Luis Fernando Molina f4c8f1abce New Docs Concepts 2021-05-25 17:25:21 +02:00
Brenden Harrell 683d6d2948 Remove gitattributes 2021-05-25 10:12:24 -05:00
Luis Fernando Molina 69bf426a08 Merge pull request #979 from Luis-Fernando-Molina/develop
Contribution: API Data Fetcher Docs improved
2021-05-25 10:56:28 -04:00
Luis Fernando Molina 7d1fe263aa API Data Fetcher Docs improved 2021-05-25 16:54:35 +02:00
Brenden Harrell 74ad625e53 TensorFlow Binary 2021-05-25 09:44:30 -05:00
Brenden Harrell 59534f0846 TensorFlow Linux Binaries 2021-05-25 09:31:05 -05:00
Brenden Harrell 244c43a20e TensorFlow Linux Binaries 2021-05-25 09:28:55 -05:00
Brenden Harrell 6c046725e5 TensorFlow Source 2021-05-25 09:28:18 -05:00
Brenden Harrell 938b5fbfb4 TensorFlow source 2021-05-25 09:27:30 -05:00
Brenden Harrell 12d53f218e TensorFlow Source 2021-05-25 09:25:59 -05:00
Brenden Harrell 45a00fb17f TensorFlow Source 2021-05-25 09:24:25 -05:00
Brenden Harrell 8c7ff0c1d9 TensorFlow Source 2021-05-25 09:17:10 -05:00
Brenden Harrell 3d3ab2548d TensorFlow Source 2021-05-25 09:16:24 -05:00
Brenden Harrell a58bf292a9 Tensorflow Source 2021-05-25 09:15:39 -05:00
Brenden Harrell e1791c2630 TensorFlow Source 2021-05-25 09:14:13 -05:00
Brenden Harrell cab277cf2c TensorFlow Source files 2021-05-25 09:13:11 -05:00
Brenden Harrell f1cc1caf20 Remove TensorFlow Project from Setup Process 2021-05-25 09:01:19 -05:00
Brenden Harrell 8ca90466e4 Add Back tfjs Source Files 2021-05-25 08:37:47 -05:00
Luis Fernando Molina 0cc1d6b378 Merge pull request #978 from Luis-Fernando-Molina/develop
Contribution: BUG FIX Workspace List not loading plugins
2021-05-25 06:57:07 -04:00
Luis Fernando Molina 5e068f0012 BUG FIX Workspace List not loading plugins 2021-05-25 12:55:49 +02:00
Luis Fernando Molina ea7179d12b Merge pull request #977 from Luis-Fernando-Molina/develop
Contribution: Final set of icons for API Data Fetcher by Hirajin Koizuko (Ron)
2021-05-24 23:00:45 -04:00
Luis Fernando Molina 97572ed0a4 Final set of icons for API Data Fetcher by Hirajin Koizuko (Ron) 2021-05-25 04:57:06 +02:00
Luis Fernando Molina 1c4282b743 Merge pull request #976 from Luis-Fernando-Molina/develop
Contribution: Data Mining Docs Topic Reviewed
2021-05-24 21:30:50 -04:00
Luis Fernando Molina 0f8dce49c1 Merge pull request #975 from harrellbm/develop
Update Windows Launch Script and Rebuild Tensorflow Package files
2021-05-24 21:29:58 -04:00
Luis Fernando Molina 173f752dc1 Data Mining Docs Topic Reviewed 2021-05-25 03:25:30 +02:00
B Harrell dd2ad0397b Merge branch 'Superalgos:develop' into develop 2021-05-24 19:52:06 -05:00
Brenden Harrell cc50d576f1 Rebuild: Tensorflow Package Files 2021-05-24 19:51:37 -05:00
Luis Fernando Molina 347c15189b Merge pull request #974 from Luis-Fernando-Molina/develop
Contribution: Available Workspaces Look and Feel Improved
2021-05-24 19:22:04 -04:00
Luis Fernando Molina 0f0ede81b2 Available Workspaces Look and Feel Improved 2021-05-25 01:19:43 +02:00
Brenden Harrell 04dad67c01 Fix: remove unecissary dep for tensorflow 2021-05-24 15:09:49 -05:00
Luis Fernando Molina 543aac058c Refining the error handling 2021-05-24 21:47:04 +02:00
Brenden Harrell 38bd1badb9 Update: package files with windows-build-tools 2021-05-24 13:57:03 -05:00
Luis Fernando Molina 99376d2072 Utilities Error Handling Functions imlpemented 2021-05-24 20:03:16 +02:00
Julian Molina 4ed52e3df7 Merge pull request #973 from rjkilpatrick/patch-2
Update README.md
2021-05-24 20:00:23 +02:00
John Kilpatrick 9824567998 Update README.md
Fix small typos and grammar mistakes
2021-05-24 18:31:32 +01:00
Brenden Harrell 207311b14c Fix: Windows Launch for Shortcut on Diff Drive 2021-05-24 12:25:15 -05:00
Julian Molina a04b2be446 Merge pull request #972 from julian-molina/plugins-docs
Contribution: Contributing tutorials
2021-05-24 19:08:37 +02:00
Julian Molina 5f147eca7f Contributing tutorials 2021-05-24 19:04:40 +02:00
Luis Fernando Molina 350e45825a Merge pull request #970 from Luis-Fernando-Molina/develop
Contribution: API Data Fetcher Bot Error Handling
2021-05-24 11:49:50 -04:00
Luis Fernando Molina b544a2e69c DeepScan Bug Fixed 2021-05-24 17:48:47 +02:00
Luis Fernando Molina 9b1714b2e7 API Data Fetcher Bot Error Handling 2021-05-24 17:43:51 +02:00
Luis Fernando Molina 258347bc94 Merge pull request #969 from Luis-Fernando-Molina/develop
Contribution: Some Error Handling at API Data Fetcher and reduced console log width
2021-05-24 09:16:56 -04:00
Luis Fernando Molina 15e2e1ac67 Some Error Handling at API Data Fetcher and reduced console log width 2021-05-24 15:12:44 +02:00
Luis Fernando Molina 81ac113e8f Making things more clear 2021-05-24 14:00:38 +02:00
Luis Fernando Molina d475ac95e3 Merge pull request #968 from harrellbm/develop
Unified Shortcut/Uninstall Scripts and Doc Updates
2021-05-23 22:05:07 -04:00
Brenden Harrell df1fb3f0ef Fix: clean up code 2021-05-23 20:24:06 -05:00
B Harrell e2ff7ecac6 Update: Readme for Unified Scripts
Explanations for automatic shortcut creation, noShortcuts flag and unified Uninstall added.
2021-05-23 16:55:51 -05:00
B Harrell 990f1c1c3c Merge branch 'Superalgos:develop' into develop 2021-05-23 16:15:20 -05:00
Brenden Harrell a3ff7c3116 Update: Docs for Launch-Scripts 2021-05-23 16:13:22 -05:00
Brenden Harrell b1bd4a350a Delete: Old Uninstall Script 2021-05-23 15:21:50 -05:00
Brenden Harrell 987eb76023 Add: Finish Unified Uninstall Script 2021-05-23 15:21:10 -05:00
Brenden Harrell 32eee83073 Add: Unified uninstall Script Finished Ubuntu side 2021-05-23 13:14:33 -06:00
Brenden Harrell 8319db6588 Modify: Optimize Launch Script for Linux and Mac 2021-05-23 12:52:13 -06:00
Brenden Harrell eef8f6e03c Fix: Adjust Paths for Setup Run 2021-05-23 12:06:13 -06:00
Brenden Harrell 8d64c231c0 Add: Create Shortcut Command to Setup Script 2021-05-23 12:01:34 -06:00
Brenden Harrell 8e87370cfb Delete: Old create-shortcut Scripts 2021-05-23 10:06:16 -06:00
Brenden Harrell 46cfe71c32 Modify: Unified create-shortcut Script 2021-05-23 10:05:09 -06:00
Luis Fernando Molina aa30e40791 Infraestructure Ready to integrate API Data Fetcher to the Docs 2021-05-23 17:13:13 +02:00
Luis Fernando Molina f9e276f1f6 Merge pull request #967 from Luis-Fernando-Molina/develop
Contribution: More Icons provided by Ron for API Data Fetcher Bot
2021-05-23 09:23:42 -04:00
Luis Fernando Molina 3764fcb274 More Icons provided by Ron for API Data Fetcher Bot 2021-05-23 15:22:40 +02:00
Brenden Harrell f2877386c8 Unified Shortcut Script, Windows finished 2021-05-22 21:21:37 -05:00
Luis Fernando Molina a0e37220ad Merge pull request #966 from Luis-Fernando-Molina/develop
Contribution: Data Mining Topic Documentation expanded.
2021-05-22 18:46:40 -04:00
Luis Fernando Molina e6061da09a Data Mining Topic Documentation expanded. 2021-05-23 00:45:13 +02:00
Luis Fernando Molina 1d5138753a Merge branch 'plugins-docs' into develop 2021-05-23 00:24:15 +02:00
Luis Fernando Molina 3042cede1d Merge branch 'plugins-docs' of https://github.com/Superalgos/Superalgos into plugins-docs 2021-05-23 00:23:23 +02:00
Luis Fernando Molina 387a8204fa Merge pull request #962 from PLuv/develop
Fixed: Bug where checkUserDefinedCode called even if stage didn't exist
2021-05-22 15:17:04 -04:00
Julian Molina c710014392 Merge pull request #963 from julian-molina/plugins-docs
Contribution: Basic Education tutorial fixes
2021-05-22 13:49:05 +02:00
Julian Molina 38550c54a5 Basic Education tutorial fixes 2021-05-22 13:47:28 +02:00
Julian Molina ce9acc2900 Merge pull request #960 from tikry2021/plugins-docs
Contribution: Workspace panel is on the left
2021-05-22 11:15:48 +02:00
Philip Love 6f1c506d9b Modify: Fix user variables in trading engine numbered 0-9 - add 2 more market buy/sell for users 2021-05-21 21:54:19 -04:00
Philip Love 5edc510c2c Fixed: Bug where checkUserDefinedCode called even if stage didn't exist 2021-05-21 21:52:32 -04:00
Luis Fernando Molina 2ef6136989 Merge pull request #961 from Luis-Fernando-Molina/develop
Contribution: API Data Fetcher Daily Files working, all time high being plotted
2021-05-21 18:12:57 -04:00
Luis Fernando Molina f5a46b5a06 API Data Fetcher Daily Files working, all time high being plotted 2021-05-22 00:11:05 +02:00
Luis Fernando Molina 6c117f3eab Tyding up the code 2021-05-21 23:38:48 +02:00
Till Rupp ed76069cc3 Workspace panel is on the left 2021-05-21 22:14:12 +02:00
Luis Fernando Molina e3a2e60209 Merge pull request #959 from Luis-Fernando-Molina/develop
Contribution: API Data Fetcher Daily Files being processed
2021-05-21 15:01:28 -04:00
Luis Fernando Molina 4fa59deaab Merge pull request #957 from ssplatt/docker-update
Update Dockerfile for latest code update dependencies
2021-05-21 15:01:07 -04:00
Julian Molina e4066686ea Merge pull request #958 from harrellbm/plugins-docs
Add Insertion Carat Back to Docs Textareas
2021-05-21 20:38:03 +02:00
ssplatt 97f816c113 fix volume mounts 2021-05-21 14:21:51 -04:00
Brenden Harrell b888018b22 Add Insertion Carat Back to Docs Textareas 2021-05-21 13:17:37 -05:00
Luis Fernando Molina 32c1ac5e56 Bug Fixed Daily is now running 2021-05-21 19:26:33 +02:00
Luis Fernando Molina 3676d4ac8c Refactoring TimePeriods for TimeFramesArray 2021-05-21 19:16:00 +02:00
Luis Fernando Molina ca5573459e Bug Fixes Daily partially running 2021-05-21 19:02:17 +02:00
Julian Molina 60fd72479d Merge pull request #956 from harrellbm/plugins-docs
Charting Space Tutorial Revision 5 and MapToggle option and Insertion Carat Css fix
2021-05-21 17:43:46 +02:00
Luis Fernando Molina 328963e196 Update FetchingProcess.js 2021-05-21 17:39:15 +02:00
ssplatt fc3037358d update dockerfile for latest code update dependencies 2021-05-21 11:27:09 -04:00
Brenden Harrell 4227252627 Update Custom Charts Workspace 2021-05-21 09:13:11 -05:00
Brenden Harrell b6be55f2d0 Fix Insertion Carat Showing up in Docs and Tutorial Panel 2021-05-21 09:09:22 -05:00
Luis Fernando Molina bda5920088 Merge pull request #955 from Luis-Fernando-Molina/develop
Contribution: API Data Fetcher Bug Fixes & Aggregation Library
2021-05-21 09:44:00 -04:00
Luis Fernando Molina 74e4533d8e Merge pull request #954 from suttridge/develop
Contribution: Updated tested exchanges to indicate that Luno exchange is not longer suitable for use.
2021-05-21 09:43:37 -04:00
Luis Fernando Molina 88afcd237e Bug fixed with beginingOfTheMarket context variable 2021-05-21 15:40:37 +02:00
Brenden Harrell 0b9fdaf513 Repaginate Charting Space Tutorial 2021-05-21 08:36:21 -05:00
Luis Fernando Molina 4ab1b9d86c Data Aggregation Functions Library fully implemented and running 2021-05-21 14:46:18 +02:00
Steve Langridge e569c72573 Updated tested exchanges to indicate that Luno exchange is not longer suitable for use. 2021-05-21 11:09:07 +02:00
Luis Fernando Molina 198fc130b2 Merge pull request #953 from harrellbm/develop
Update Readme for New Dependency Setup
2021-05-20 22:51:15 -04:00
B Harrell bf053c688e Update Readme for New Dependency Setup 2021-05-20 21:27:57 -05:00
Luis Fernando Molina 4db9e0e3ce Common Function Library Implemented for Market and Daily Frameworks 2021-05-21 01:41:34 +02:00
Luis Fernando Molina 1a3ec7d03b Merge pull request #952 from Luis-Fernando-Molina/develop
Contribution: node_modules folders removed
2021-05-20 15:44:12 -04:00
Luis Fernando Molina 44111f6dea Update .gitignore 2021-05-20 21:39:31 +02:00
Luis Fernando Molina ac5774dfb2 node_modules folders removed from all places 2021-05-20 21:39:08 +02:00
Luis Fernando Molina f7423e26b2 Merge pull request #950 from harrellbm/develop
Initial Script to Install node dependencies
2021-05-20 15:28:03 -04:00
Luis Fernando Molina 94fe3511d0 Merge pull request #951 from Luis-Fernando-Molina/develop
Contribution: API Data Fetcher bot, working for Market Files with Messari demo.
2021-05-20 13:49:25 -04:00
Luis Fernando Molina ab3fe8ab6c API Data Fetcher bot, working for Market Files with Messari demo. 2021-05-20 19:29:57 +02:00
Luis Fernando Molina 9eb6732638 Market Files Working up to All Time High Plotter 2021-05-20 19:23:55 +02:00
Brenden Harrell 2a6632f159 Charting Space Tutorial Revision 5 2021-05-20 10:17:29 -05:00
Luis Fernando Molina 26a5567f1c Update FromOneMinToMultiPeriodMarket.js 2021-05-20 16:26:54 +02:00
B Harrell b3710db27d Merge branch 'Superalgos:plugins-docs' into plugins-docs 2021-05-20 09:04:46 -05:00
Brenden Harrell 518c993e39 Type Fix 2021-05-19 20:01:33 -05:00
Brenden Harrell 77c00b8a3c Finished Initial Setup Script 2021-05-19 19:58:47 -05:00
Luis Fernando Molina 9d0e5aa3da API Data Fetcher Aggregated File Being Saved 2021-05-19 23:26:58 +02:00
Luis Fernando Molina afc81903c5 API Data Fetcher bot process improved 2021-05-19 22:38:11 +02:00
Brenden Harrell a337f6f4c0 Tweaks for setup script 2021-05-19 15:23:17 -05:00
Brenden Harrell 4b32d7c30a Add node_modules to .gitignore 2021-05-19 13:28:46 -05:00
Brenden Harrell a3afb73cf2 Package.jsons to Handle npm ci Command 2021-05-19 13:22:19 -05:00
Brenden Harrell ec2db1e887 Initial Setup Script to install Node Dependencies 2021-05-19 12:50:34 -05:00
Luis Fernando Molina 98f79f5162 Merge pull request #946 from Luis-Fernando-Molina/develop
Contribution: This is my contribution to Superalgos
2021-05-19 12:29:02 -04:00
Luis Fernando Molina 232b2ef63c API Data Fetcher DeepScan more fixes 2021-05-19 18:26:59 +02:00
Luis Fernando Molina 5bd2f0c554 API Data Fetcher DeepScan fixes 2021-05-19 18:23:30 +02:00
Luis Fernando Molina a5928dc51d Update Footer.js 2021-05-19 18:02:03 +02:00
Luis Fernando Molina e7e39bb5bd docs improvements: buttons for User Manual, Data Mines and Reviews 2021-05-19 17:29:11 +02:00
Luis Fernando Molina 098843221f Updated Icons 2021-05-19 16:35:15 +02:00
Julian Molina aefa41cd83 Merge pull request #949 from Spodeian/plugins-docs
Contribution: My Superalgos Review
2021-05-19 13:10:27 +02:00
Spodeian efe3f90eaa My Superalgos Review 2021-05-19 20:45:58 +10:00
Julian Molina b8ec01b52d Merge pull request #948 from tikry2021/plugins-docs
Contribution: My Superalgos Review
2021-05-19 08:58:01 +02:00
Julian Molina 7d615ac2f6 Merge pull request #947 from MarcelloPersico/plugins-docs
Contribution: review
2021-05-19 08:56:25 +02:00
Luis Fernando Molina 30644ff9e4 Aggregation Functions fully implemented 2021-05-18 23:58:50 +02:00
Luis Fernando Molina 35164873c2 Aggregation Function semi implemented 2021-05-18 23:36:17 +02:00
Till Rupp 3fe4517286 My Superalgos Review 2021-05-18 23:20:12 +02:00
Marcello Persico 783ea687ba review 2021-05-18 22:41:19 +02:00
Luis Fernando Molina 1b421bfec7 loadExistingFiles function implemented 2021-05-18 21:11:30 +02:00
Luis Fernando Molina 2bccf3518c Some Icons for API Data Fetcher Bot and getContextVariables function implementation 2021-05-18 20:36:27 +02:00
Luis Fernando Molina d18f8cefd7 Hooking the new Framework module to the Indicator Bot 2021-05-18 19:07:45 +02:00
Luis Fernando Molina 2b076c7c41 removing referencies to Candle 2021-05-18 18:19:39 +02:00
Luis Fernando Molina 6030725029 All volume related stuff removed from code 2021-05-18 18:11:24 +02:00
Luis Fernando Molina b787498759 Merge pull request #945 from Luis-Fernando-Molina/develop
Contribution: API CodeBase general mantainance: let thisObject missing fixed
2021-05-18 11:13:51 -04:00
Luis Fernando Molina 29702850b5 API CodeBase general mantainance: let thisObject missing fixed 2021-05-18 16:52:13 +02:00
Luis Fernando Molina 3322ae7272 Merge pull request #944 from Luis-Fernando-Molina/develop
Contribution: API Data Fetcher bot, One Min datasets handling
2021-05-18 09:17:00 -04:00
Luis Fernando Molina adcd2f8169 API Data Fetcher bot, One Min datasets handling 2021-05-18 15:16:39 +02:00
B Harrell 20e13e348a Merge branch 'Superalgos:plugins-docs' into plugins-docs 2021-05-18 08:02:31 -05:00
Till Rupp 8483f6b9a9 My Superalgos Review 2021-05-18 00:47:12 +02:00
Luis Fernando Molina 4376ffc3e8 Merge pull request #943 from Luis-Fernando-Molina/develop
Contribution: Legacy Code Mantainance
2021-05-17 14:23:09 -04:00
Luis Fernando Molina e873f5379f Legacy Code Mantainance 2021-05-17 20:21:54 +02:00
Luis Fernando Molina 0de5eba7a5 Merge pull request #941 from PLuv/develop
Fixed: Limit Buy & Sell Quoted Panels
2021-05-17 11:49:15 -04:00
Philip Love 523cd53a9f Fixed: Limit Buy & Sell Quoted Panels 2021-05-17 10:27:57 -04:00
Philip Love 0ff245bdd5 Merge remote-tracking branch 'upstream/develop' into develop 2021-05-17 10:24:13 -04:00
Luis Fernando Molina d072fae4bf Merge pull request #940 from Superalgos/plugins-docs
Plugins docs Service Pack: Include bug fixes at plugins, new Docs, etc.
2021-05-17 10:10:19 -04:00
Luis Fernando Molina 2c125dbe38 Merge pull request #939 from Luis-Fernando-Molina/develop
Contribution: Plugins Docs Merged
2021-05-17 09:58:26 -04:00
Luis Fernando Molina f1d9a05b1f Merge branch 'plugins-docs' into develop 2021-05-17 15:57:40 +02:00
Luis Fernando Molina 68d6bd9c0f Merge branch 'plugins-docs' of https://github.com/Superalgos/Superalgos into plugins-docs 2021-05-17 15:57:06 +02:00
Luis Fernando Molina 8c795d79c2 Merge pull request #938 from Luis-Fernando-Molina/develop
Contribution: API Fetcher Bot: Messari Data Mine with first indicator and plotter tested.
2021-05-17 09:56:31 -04:00
Julian Molina 4a2ffa4ed3 Merge pull request #937 from julian-molina/plugins-docs
Contribution: BBTP syntax fix to tradingCurrent
2021-05-17 14:08:59 +02:00
Julian Molina 60143ba4d0 BBTP syntax fix to tradingCurrent 2021-05-17 14:08:09 +02:00
Julian Molina c2077aedb3 Merge pull request #935 from elCoderCP4H/plugins-docs
Contribution: elcoder's Superalgos Review
2021-05-17 11:52:30 +02:00
Luis Fernando Molina 0ee65aa180 Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-05-16 16:34:52 +02:00
Luis Fernando Molina abd4b605b5 API Fetcher Bot Implementation: All Time High Indicator and Plotter implemented and tested. 2021-05-16 15:26:49 +02:00
zil0 c487fe9939 Merge branch 'plugins-docs' of https://github.com/Superalgos/Superalgos into plugins-docs 2021-05-15 01:45:38 -05:00
Luis Fernando Molina 680d066fa4 Merge pull request #934 from Luis-Fernando-Molina/develop
Contribution: Merge fo Plugins Docs into Develop
2021-05-14 22:57:04 -04:00
Luis Fernando Molina c19b7d0190 Refactoring of User Variables for User Defined Variables 2021-05-15 04:55:40 +02:00
Luis Fernando Molina b25bf3fc9b Merge branch 'plugins-docs' of https://github.com/Superalgos/Superalgos into plugins-docs 2021-05-15 04:26:28 +02:00
Luis Fernando Molina 0a9374b831 Merge pull request #932 from Luis-Fernando-Molina/develop
Contribution: API Data Fetcher, now it can fetch fields from any part of the response
2021-05-14 16:23:02 -04:00
Luis Fernando Molina 40be21e6a8 Basic Documentation of the nodes related to the API Data Fetcher bot 2021-05-14 22:21:32 +02:00
Philip Love 0fd8b2a645 Modify: Pluvtech Data-Mine - Lighten Waddah Trend bars 2021-05-14 15:24:54 -04:00
Julian Molina ed1b3896c5 Merge pull request #933 from julian-molina/plugins-docs
Contribution: User defined icons
2021-05-14 20:09:31 +02:00
Julian Molina 61ca4b60ce User defined icons 2021-05-14 20:07:25 +02:00
Luis Fernando Molina 8d5fdf3ed4 API Data Fetcher, now it can fetch fields from any part of the response 2021-05-14 18:55:14 +02:00
Luis Fernando Molina 1f505a2c14 Merge pull request #931 from PLuv/develop
Modify: PLUVTECH-DM -> Pluvtech ; Modify: 'whileAtStage_whenToRun' -> 'whileAtStageWhenToRun'
2021-05-14 11:55:06 -04:00
Philip Love 96b52132f2 Remove: Unnecessary Condition in checkUserDefinedCode() 2021-05-14 11:51:47 -04:00
Philip Love 9cc2bbdee2 Modify: 'whileAtStage_whenToRun' -> 'whileAtStageWhenToRun' 2021-05-14 11:32:37 -04:00
Philip Love 0b566f59c4 Modify: PLUVTECH-DM -> Pluvtech 2021-05-14 11:20:40 -04:00
Luis Fernando Molina 27d0d41b42 Merge pull request #930 from Luis-Fernando-Molina/develop
Contribution: BIG FIX: Undefined indicators discovered at BB Top Bounce
2021-05-14 10:21:27 -04:00
Luis Fernando Molina fb0566afe3 BUG FIX: Suggestion of Deep Scan 2021-05-14 16:19:59 +02:00
Luis Fernando Molina 6c369a3192 BIG FIX: Undefined indicators discovered at BB Top Bounce 2021-05-14 16:12:32 +02:00
Julian Molina 34eaa8d06a Merge pull request #929 from julian-molina/plugins-docs
Contribution: README welcoming
2021-05-14 10:04:35 +02:00
Julian Molina 5e1ba8cb9e README welcoming 2021-05-14 10:04:21 +02:00
Julian Molina 27c213b6fd Merge pull request #928 from julian-molina/plugins-docs
Contribution: README link
2021-05-14 10:03:07 +02:00
Julian Molina a6ecba31a1 README link 2021-05-14 10:02:46 +02:00
Luis Fernando Molina 72dee4e8a3 Merge pull request #925 from PLuv/develop
Add: PLUVTECH-DM to Masters-Trading-Mine Dependencies - Add: User Defined Variables - Add: User Defined Code
2021-05-13 16:52:36 -04:00
Luis Fernando Molina 257fcc3da9 Merge pull request #926 from Luis-Fernando-Molina/develop
Contribution: API Fetcher Demo saving Messari Asset Metrics
2021-05-13 16:19:27 -04:00
Luis Fernando Molina b1970da932 Fix to Deep Scan bug 2021-05-13 22:18:00 +02:00
Luis Fernando Molina a891d6e209 Fix to Deep Scan bug 2021-05-13 22:13:50 +02:00
Luis Fernando Molina 3c12df4245 API Fetcher Demo saving Messari Asset Metrics 2021-05-13 22:11:17 +02:00
Philip Love 35b852ff2a Add: User-Defined-Code for Stages 2021-05-13 14:48:10 -04:00
Philip Love 3e8ca6a5ae Add: Episodes->User-Defined-Variables nodes 2021-05-13 14:43:41 -04:00
Philip Love 141f84d78e Add: PLUVTECH-DM to Masters-Trading-Mine Dependencies 2021-05-13 14:40:47 -04:00
Julian Molina 58aafeb73a Merge pull request #924 from julian-molina/plugins-docs
Contribution: README
2021-05-13 20:04:36 +02:00
Julian Molina 33dc3c994d README 2021-05-13 20:04:17 +02:00
Julian Molina b688f5ef0a Merge pull request #923 from julian-molina/plugins-docs
Contribution: README final fixes
2021-05-13 20:02:05 +02:00
Julian Molina 45755c18d2 README final fixes 2021-05-13 19:56:28 +02:00
Julian Molina ffb12ae9f2 Merge pull request #922 from julian-molina/plugins-docs
Contribution: README last fixes
2021-05-13 19:54:44 +02:00
Julian Molina 9afb4d3433 README last fixes 2021-05-13 19:54:22 +02:00
Julian Molina 6348891a93 Merge pull request #921 from julian-molina/plugins-docs
Contribution: README more fixes
2021-05-13 19:49:20 +02:00
Julian Molina 796f622d34 README more fixes 2021-05-13 19:49:00 +02:00
Julian Molina abdced0801 Merge pull request #920 from julian-molina/plugins-docs
Contribution: README fixes
2021-05-13 19:44:58 +02:00
Julian Molina 6c4ccc1e1a README fixes 2021-05-13 19:44:38 +02:00
Julian Molina 2096323d88 Merge pull request #919 from julian-molina/plugins-docs
Contribution: README
2021-05-13 19:18:43 +02:00
Julian Molina cf36649f03 README 2021-05-13 19:16:21 +02:00
Luis Fernando Molina 7a818d5a89 Merge pull request #918 from Luis-Fernando-Molina/develop
Contribution: Plugins Docs Merged into Develop
2021-05-13 12:18:19 -04:00
Luis Fernando Molina b52ed20caf Merge branch 'plugins-docs' into develop 2021-05-13 18:17:31 +02:00
Luis Fernando Molina 8e2b791bc2 Merge pull request #917 from Luis-Fernando-Molina/develop
Contribution: Bug Fix Exchange Bands was failing to run
2021-05-13 12:15:13 -04:00
Luis Fernando Molina 01bb8e7843 Bug Fix Exchange Bands was failing to rrun 2021-05-13 18:08:45 +02:00
Julian Molina 4d5e5f04dc Merge pull request #916 from julian-molina/plugins-docs
Contribution: FR flag
2021-05-13 17:51:19 +02:00
Julian Molina 6d2cdf4cbd FR flag 2021-05-13 17:50:24 +02:00
Luis Fernando Molina 3a32953c66 Merge pull request #915 from Luis-Fernando-Molina/develop
Contribution: Api Fetcher bot Task Installation Process Implemented and tested
2021-05-13 09:02:30 -04:00
Luis Fernando Molina 32a898d7c7 Api Fetcher bot Task Installation Process Implemented and tested 2021-05-13 15:02:05 +02:00
Brenden Harrell 6647bef3f5 Update Tutorial Step Doc 2021-05-12 19:53:41 -05:00
Brenden Harrell 5004324744 Update Charting Tutorial for Toggle Map Option 2021-05-12 19:30:39 -05:00
Brenden Harrell 4d7f9cf419 Merge branch 'plugins-docs' of https://github.com/harrellbm/Superalgos into plugins-docs 2021-05-12 19:28:40 -05:00
Brenden Harrell 4bcee11574 Add toggleMapView Function for Tutorial Steps 2021-05-12 19:28:34 -05:00
zil0 d4c52f95ec My Superalgos Review 2021-05-12 18:48:09 -05:00
Luis Fernando Molina 7190ff7806 Merge pull request #914 from Luis-Fernando-Molina/develop
Contribution: Docs updated
2021-05-12 16:00:12 -04:00
Luis Fernando Molina cd72460f46 Docs updated 2021-05-12 21:59:55 +02:00
Luis Fernando Molina 87e6f34428 Merge pull request #913 from Luis-Fernando-Molina/develop
Contribution: Troubleshooting Saving
2021-05-12 15:49:15 -04:00
Luis Fernando Molina 9de6d99d58 Troubleshooting Saving 2021-05-12 21:48:56 +02:00
Luis Fernando Molina 2cd52259ea Merge pull request #912 from Luis-Fernando-Molina/develop
Contribution: Fetcher Workspace Plugin Updated
2021-05-12 14:13:44 -04:00
Luis Fernando Molina 9c7373197b Fetcher Workspace Plugin Updated 2021-05-12 20:09:14 +02:00
Luis Fernando Molina cc75447b55 Merge pull request #911 from harrellbm/develop
Finished Windows Shortcut Scripts and Docs
2021-05-12 11:12:03 -04:00
Brenden Harrell 2fc5d2f810 Update Docs for Windows Scripts 2021-05-11 22:19:24 -05:00
Brenden Harrell 85a6f6edb4 Merge branch 'develop' of https://github.com/harrellbm/Superalgos into develop 2021-05-11 22:07:24 -05:00
Brenden Harrell d2dbddce49 Comment out Debug Lines 2021-05-11 22:07:18 -05:00
B Harrell 9d5d2d2671 Update Readme for Windows Shortcut Scripts 2021-05-11 22:03:34 -05:00
Brenden Harrell 3b2e2c0e3b Finished Windows Shortcut Scripts 2021-05-11 21:48:03 -05:00
Luis Fernando Molina f819213e29 Merge pull request #910 from ssplatt/add-slack-announce
initial commit of slack bot for announcements
2021-05-11 19:19:10 -04:00
Brett Taylor 3574ee7d59 initial commit of slack bot 2021-05-11 18:30:25 -04:00
Luis Fernando Molina 631a702499 Merge pull request #909 from Luis-Fernando-Molina/develop
Contribution: French Language Added
2021-05-11 13:26:45 -04:00
Luis Fernando Molina 594c553206 Bug Fixed when a formula at live trade referenced a .previous at market files 2021-05-11 18:57:02 +02:00
Luis Fernando Molina 8b4576c6f4 French Language Added 2021-05-11 16:00:00 +02:00
Luis Fernando Molina 31233588db Merge pull request #904 from ssplatt/discord-text
Add formatting option for Discord announcement messages
2021-05-11 09:38:47 -04:00
Luis Fernando Molina d552b229f8 Merge pull request #908 from Luis-Fernando-Molina/develop
Contribution: Master Data Mine without API Fetcher Example
2021-05-11 09:36:38 -04:00
Luis Fernando Molina ebcb783207 Master Data Mine without API Fetcher Example 2021-05-11 15:35:48 +02:00
Julian Molina b2cfed488e Merge pull request #905 from 9808us/plugins-docs
Contribution: This is my contribution to Superalgos
2021-05-11 10:00:12 +02:00
9808us f4607447b1 This is my contribution to Superalgos 2021-05-11 09:57:52 +02:00
Brett Taylor 5303f0672c pass in config 2021-05-11 00:01:16 -04:00
Brett Taylor c1da48bff8 add message format option 2021-05-10 23:57:41 -04:00
Brenden Harrell 70b26543fc Merge branch 'plugins-docs' of https://github.com/harrellbm/Superalgos into plugins-docs 2021-05-10 20:33:25 -05:00
Brenden Harrell a4cf1cbe3c Charting Space Tutorial Hierarchy Refinements 2021-05-10 20:17:08 -05:00
Julian Molina f6adc7aa9f Merge pull request #903 from julian-molina/plugins-docs
Contribution: Tutorial tips update
2021-05-10 13:32:29 +02:00
Julian Molina 45a768c9c5 Tutorial tips update 2021-05-10 13:31:06 +02:00
Julian Molina 52368451b9 Merge pull request #902 from superharoun/plugins-docs
Fix typos
2021-05-10 10:08:04 +02:00
Haroun 62f46efba8 This is my contribution to Superalgos 2021-05-09 22:28:51 +02:00
Luis Fernando Molina 8dc4f28be8 Merge pull request #899 from harrellbm/develop
Ubuntu create shortcut script
2021-05-09 10:16:59 -04:00
Brenden Harrell ba54382272 Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-05-09 07:31:44 -05:00
Luis Fernando Molina ff6ecbd0ac Merge pull request #898 from Luis-Fernando-Molina/develop
Contribution: Mege of Plugin Docs
2021-05-09 08:05:46 -04:00
Luis Fernando Molina c68fbe2c97 Merge remote-tracking branch 'upstream/plugins-docs' into develop 2021-05-09 14:04:41 +02:00
Luis Fernando Molina c5b1006fde Merge pull request #896 from Smidy13/develop
Improvement: Discord, Dogecoin Icons and Configuration
2021-05-09 07:57:37 -04:00
Smidy13 0e8580d376 Bug Fix: Defining Each Telegram and Discord Bot Array 2021-05-09 22:59:53 +12:00
Smidy13 a647dd6d59 Discord Bot Icons 2021-05-09 15:39:24 +12:00
Smidy 4ab3295917 Merge branch 'Superalgos:develop' into develop 2021-05-09 15:16:37 +12:00
Smidy13 82b75aa4e5 Dogecoin Icons and Configuration 2021-05-09 15:16:01 +12:00
Brenden Harrell 0ba846534b Merge branch 'develop' of https://github.com/harrellbm/Superalgos into develop 2021-05-08 19:38:18 -05:00
Brenden Harrell 81f8feb69a Update Launch Script Docs 2021-05-08 19:38:09 -05:00
Brenden Harrell 070a74dc89 Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-05-08 19:34:25 -05:00
B Harrell 477e29dcf8 Add gifs to readme 2021-05-08 16:31:16 -05:00
Brenden Harrell 30da48d5de Update Docs for Ubuntu Shortcuts 2021-05-08 16:14:37 -05:00
Brenden Harrell f1daaaa752 Clean Linux Launch Script 2021-05-08 15:36:47 -05:00
Brenden Harrell f63dd40d18 Add Create Shortcut Script for Ubuntu 2021-05-08 15:36:22 -05:00
Julian Molina c0a74025ff Merge pull request #893 from julian-molina/plugins-docs
Contribution: Fix on contributions instructions
2021-05-08 21:28:07 +02:00
Julian Molina a05970ae49 Fix on contributions instructions 2021-05-08 21:27:28 +02:00
Julian Molina 3cc58b3c7d Merge pull request #891 from julian-molina/develop
Contribution: DE flag
2021-05-08 20:29:09 +02:00
Julian Molina f393eed63b Merge pull request #892 from kizniche/plugins-docs
Contribution: Grammar, instruction, and improper linking fixes
2021-05-08 20:28:32 +02:00
Kyle Gabriel 8846932335 Grammar, instruction, and improper linking fixes 2021-05-08 13:08:40 -04:00
Julian Molina e94b29402b DE flag 2021-05-08 17:11:08 +02:00
Luis Fernando Molina 07eacf19af Merge pull request #890 from Luis-Fernando-Molina/develop
Contribution: German Language  added and version labels switched to Beta 10
2021-05-08 08:33:25 -04:00
Luis Fernando Molina ec65381c01 German Language added and version labels switched to Beta 10 2021-05-08 14:27:41 +02:00
Julian Molina 4497d10a46 Merge pull request #887 from harrellbm/plugins-docs
Smooth Tutorial Step Transitions
2021-05-08 09:09:34 +02:00
B Harrell 68638187d1 Merge branch 'Superalgos:plugins-docs' into plugins-docs 2021-05-07 13:18:09 -05:00
B Harrell 1e062d73ec Merge branch 'Superalgos:develop' into develop 2021-05-07 13:16:57 -05:00
Brenden Harrell be218752b5 Smooth Tutorial Step Transitions 2021-05-07 08:47:00 -05:00
Luis Fernando Molina 6f82264d06 Merge pull request #886 from ssplatt/discord-integration-1
get discord announcements working
2021-05-07 06:32:19 -04:00
Brenden Harrell 875f86a8eb Add vendor prefix for browser compatibility 2021-05-06 22:09:55 -05:00
Brett Taylor 5475d3b1d6 get discord announcements working 2021-05-06 22:45:31 -04:00
Brenden Harrell 0829ce734e Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-05-06 12:32:06 -06:00
Luis Fernando Molina 70a346ccc9 Merge pull request #879 from Smidy13/develop
Improvement: Interpreting Multiple Telegram Commands
2021-05-06 13:51:48 -04:00
Luis Fernando Molina a54c815533 Merge pull request #884 from frysee/add-delta-mine
added new mine containing Wilder-RSI and MFI indicators
2021-05-06 13:46:28 -04:00
Brenden Harrell 22a765649c Smooth Out Tutorial Step Transitions 2021-05-06 09:11:42 -05:00
Brenden Harrell 5b0d289106 Merge branch 'develop' of https://github.com/harrellbm/Superalgos into develop 2021-05-06 08:22:20 -05:00
frysee e199a24416 added new mine containing Wilder-RSI and MFI indicators 2021-05-06 12:25:52 +02:00
Julian Molina 68ef1b0891 Merge pull request #882 from harrellbm/plugins-docs
Charting Space Tutorial Fixes
2021-05-06 09:14:20 +02:00
Brenden Harrell 4f8b6da5e0 Merge branch 'plugins-docs' of https://github.com/Superalgos/Superalgos into plugins-docs 2021-05-05 21:16:40 -05:00
Brenden Harrell 173f715794 Update workspace 2021-05-05 21:11:18 -05:00
Brenden Harrell 81707deb28 Reindex Charting Space Tutorial 2021-05-05 21:09:20 -05:00
Brenden Harrell 3e52d518e4 Charting Space Tutorial fixes 2021-05-05 20:54:15 -05:00
Brenden Harrell fd7d5d1010 Fix: readd I See a Chart step 2021-05-05 15:27:22 -05:00
Brenden Harrell ca5fee2420 Merge branch 'plugins-docs' of https://github.com/harrellbm/Superalgos into plugins-docs 2021-05-05 06:58:02 -06:00
Brenden Harrell 4de1893713 Merge branch 'master' of https://github.com/Superalgos/Superalgos into plugins-docs 2021-05-05 06:57:41 -06:00
Luis Fernando Molina 16c1443f49 Merge pull request #876 from harrellbm/develop
Launch Script Docs
2021-05-05 08:40:36 -04:00
Luis Fernando Molina 6e47c4e81f Merge pull request #874 from PLuv/develop
Fix: Plotters VWMA & WMA - Change: Minor Disk space optimization
2021-05-05 08:39:07 -04:00
Julian Molina f4d71fb7e9 Merge pull request #881 from julian-molina/plugins-docs
Contribution: Charting space tutorial typos
2021-05-05 12:11:01 +02:00
Julian Molina 6b10ea126d Charting space tutorial typos 2021-05-05 12:10:34 +02:00
Julian Molina 0f05db394d Merge pull request #880 from julian-molina/plugins-docs
Contribution: Tutorials
2021-05-05 09:16:07 +02:00
Julian Molina 3ba605d2fb Merge branch 'plugins-docs' of https://github.com/Superalgos/Superalgos into plugins-docs 2021-05-05 09:15:17 +02:00
Julian Molina cf5eb1f332 Tutorials 2021-05-05 09:15:00 +02:00
Smidy13 cf5d7415c7 Merge branch 'develop' of https://github.com/Smidy13/Superalgos into develop 2021-05-04 22:27:33 +12:00
Smidy13 f00b1b0cb1 Improvement: Interpreting Multiple Telegram Commands 2021-05-04 22:27:02 +12:00
Julian Molina bb82a4f179 Merge pull request #875 from harrellbm/plugins-docs
Charting Tutorial Revision 4
2021-05-03 18:42:54 +02:00
Brenden Harrell 861fa68b66 Lauch Scripts Docs 2021-05-03 09:53:43 -05:00
Brenden Harrell 26bc949218 Merge branch 'develop' of https://github.com/harrellbm/Superalgos into develop 2021-05-03 09:53:17 -05:00
Brenden Harrell 12866efd4f Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-05-03 09:53:05 -05:00
B Harrell 7d3fb6de2c Update for Launch Scripts 2021-05-03 09:17:02 -05:00
Brenden Harrell 7fed529503 Merge branch 'plugins-docs' of https://github.com/Superalgos/Superalgos into plugins-docs 2021-05-03 08:57:37 -05:00
Brenden Harrell 02f86cf454 Update Workspace 2021-05-03 08:54:12 -05:00
Brenden Harrell 364dea3357 Final Repagination Charting Tutorial Revison 4 2021-05-03 08:53:37 -05:00
Brenden Harrell 74c7ca2513 final changes Charting Tutorial Revision 4 2021-05-03 08:44:56 -05:00
Philip Love 56b8a24bfc Fix: Plotters VWMA & WMA - Change: Minor Disk space optimization 2021-05-02 23:02:15 -04:00
Brenden Harrell 542226bbca initial charting tutorial revision 4 2021-05-02 21:55:21 -05:00
Brenden Harrell 2975b0838d random small typo fix 2021-05-02 21:54:47 -05:00
Smidy 133fb4aecc Merge pull request #11 from Superalgos/develop
Merging Develop
2021-05-03 09:03:57 +12:00
Brenden Harrell 2ed90b1491 Merge branch 'master' of https://github.com/Superalgos/Superalgos into develop 2021-05-02 12:43:32 -05:00
Luis Fernando Molina d6692d45b3 Merge pull request #856 from Luis-Fernando-Molina/develop
Contribution: API Fetcher bot, basic implementation
2021-05-02 12:26:05 -04:00
Luis Fernando Molina 17624865c9 API Fetcher Bot - Workspace as Plugin 2021-05-02 18:22:18 +02:00
Luis Fernando Molina 81c20d148e Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-05-02 18:22:07 +02:00
Luis Fernando Molina 4ec579c781 Merge pull request #871 from Smidy13/develop
Bug Fixes for getOHLCVs from CCXT Library Update
2021-05-02 12:16:36 -04:00
Luis Fernando Molina a1dca88328 Merge pull request #872 from suttridge/develop
Contribution: Added data mine with indicator and plotter for the Turtle S1 system indicator.
2021-05-02 12:11:42 -04:00
Luis Fernando Molina 4ef6ede664 Merge pull request #873 from PLuv/develop
New Data Mine + New Color Options
2021-05-02 12:10:44 -04:00
Philip Love 1578d44b26 Add: PLUVTECH-DM 2021-05-02 11:29:42 -04:00
Steve Langridge 16801dfbb9 This is my contribution to Superalgos 2021-05-02 16:25:00 +02:00
Philip Love 226c9c2c24 Add: Additional pre-defined style colors and update style doc-page to display 2021-05-02 10:15:13 -04:00
Smidy13 09fa1cca5d Further changes to HistoricOHLCVs.js after extensive testing 2021-05-02 20:18:13 +12:00
Luis Fernando Molina 53317c3c27 API Fetcher Bot - Mapping Property Records with Api Received Data Fields finished and debugged. 2021-05-02 02:47:09 +02:00
Luis Fernando Molina a753985890 API Data Fetcher - Managing Error codes implemented 2021-05-01 20:06:59 +02:00
Luis Fernando Molina 7ff18ccdda API Data Fercher First Debugging Completed 2021-05-01 16:57:29 +02:00
Luis Fernando Molina 04bb90ca9f Merge branch 'master' into develop 2021-05-01 14:59:46 +02:00
Luis Fernando Molina 1b953c165d Merge pull request #869 from Superalgos/plugins-docs
Master update with Plugins Docs
2021-05-01 08:59:02 -04:00
Julian Molina 9dfe17154f Merge pull request #867 from maxspecktor/plugins-docs
Contribution: my review
2021-05-01 11:51:21 +02:00
max specktor 7b614b957c my review 2021-05-01 11:26:09 +02:00
Julian Molina ab393285ca Merge pull request #866 from julian-molina/plugins-docs
Contribution: Readme
2021-04-30 21:35:55 +02:00
Julian Molina 15f25cfa75 Readme 2021-04-30 21:33:42 +02:00
Julian Molina 3ed18a2b1c Merge pull request #865 from julian-molina/plugins-docs
Contribution: This is my contribution to Superalgos
2021-04-30 21:23:59 +02:00
Julian Molina 49fc0d39b2 This is my contribution to Superalgos 2021-04-30 21:23:08 +02:00
Julian Molina 84951c1eea Merge pull request #864 from julian-molina/plugins-docs
Contribution: Switching languages in Welcome tutorial
2021-04-30 19:52:04 +02:00
Julian Molina db4f31fa67 Switching languages in Welcome tutorial 2021-04-30 19:49:27 +02:00
Julian Molina 4e02030b76 Merge pull request #863 from julian-molina/plugins-docs
Contribution: Recovering from bad merge
2021-04-30 17:06:20 +02:00
Julian Molina 5bc7b86f99 Recovering from bad merge 2021-04-30 17:04:15 +02:00
Julian Molina 84e9948299 Merge pull request #862 from julian-molina/plugins-docs
Contribution: Footer update
2021-04-30 15:03:34 +02:00
Julian Molina 36d6001d50 Footer update 2021-04-30 15:03:13 +02:00
Julian Molina afca80cbf1 Revert "Merge pull request #861 from maxspecktor/plugins-docs"
This reverts commit 7c62e64da9, reversing
changes made to 102dd5aa14.
2021-04-30 13:55:57 +02:00
Luis Fernando Molina 63d0147f69 Merge pull request #858 from NITEMAN/docker
Improve docker info
2021-04-30 07:54:44 -04:00
Julian Molina 7c62e64da9 Merge pull request #861 from maxspecktor/plugins-docs
Contribution: My Superalgos Review
2021-04-30 13:50:54 +02:00
Julian Molina 300ae26781 Delete contribute-to-superalgos-014-tutorial-step-update-the-app.json 2021-04-30 13:48:57 +02:00
Julian Molina 1d8bd433fd Delete contribute-to-superalgos-013-tutorial-step-welcome-back.json 2021-04-30 13:48:16 +02:00
Julian Molina 2e45e74ebb Delete contribute-to-superalgos-012-tutorial-step-lets-switch-already.json 2021-04-30 13:47:48 +02:00
Julian Molina f101a7eb6c Delete contribute-to-superalgos-008-tutorial-step-switching-branches.json 2021-04-30 13:47:29 +02:00
Julian Molina f117296ba9 Delete contribute-to-superalgos-007-tutorial-step-what-about-free-riders.json 2021-04-30 13:46:39 +02:00
max specktor 99ae95cf5b Fixed typo and changed some develop branch references to plugins/docs 2021-04-30 12:20:29 +02:00
max specktor 2e735d2395 Merge branch 'plugins-docs' of https://github.com/Superalgos/Superalgos into plugins-docs 2021-04-30 12:00:10 +02:00
max specktor 1ddf921a59 My Superalgos Review 2021-04-30 11:51:46 +02:00
Julian Molina 102dd5aa14 Merge pull request #859 from julian-molina/plugins-docs
Contribution: Random Stuff
2021-04-30 10:48:11 +02:00
Julian Molina 216e2f38e1 Random Stuff 2021-04-30 10:46:48 +02:00
Pedro González Serrano 0792bed42c Improve docker info 2021-04-30 08:07:56 +02:00
Julian Molina 5dca2edf44 Merge pull request #853 from 0xperez/plugins-docs
Translated Contribute to Superalgos Tutorial
2021-04-29 19:47:18 +02:00
Luis Fernando Molina 9d2c818372 API Fetcher bot, multi page feature bug fixed 2021-04-29 19:43:43 +02:00
Luis Fernando Molina a59418a386 API Fetcher bot, multi page feature implemented 2021-04-29 19:15:08 +02:00
Luis Fernando Molina 3e70cda005 API Fetcher bot, primary keys management 2021-04-29 18:08:57 +02:00
Luis Fernando Molina 2049216ab7 API Fetcher bot, basic implementation 2021-04-29 17:39:35 +02:00
Luis Fernando Molina 1313529204 Merge pull request #854 from NITEMAN/docker-tagging
Docker tagging & cleanup
2021-04-29 09:20:14 -04:00
Luis Fernando Molina b459ef91a2 Merge pull request #855 from ssplatt/discord-integration
fixes some ui elements of the social bots
2021-04-29 09:16:55 -04:00
Brett Taylor c28542bdcc fixes some ui elements of the social bots 2021-04-29 08:52:35 -04:00
Pedro González Serrano 3e1829cb3e Update docker run instructions 2021-04-29 13:23:09 +02:00
Pedro González Serrano 866932658f Remove duplicated namespace 2021-04-29 13:06:03 +02:00
Pedro González Serrano 618c1b323e Add tagging for develop branch 2021-04-29 12:33:39 +02:00
Pedro González Serrano 362a561bf6 Fix docker tagging 2021-04-29 12:20:50 +02:00
0xperez c828d92d42 Translated Contribute to Superalgos Tutorial 2021-04-28 22:37:00 +02:00
Julian Molina 19afab17c4 Merge pull request #852 from 9808us/plugins-docs
Fix fourth Not fifth bot english + italian
2021-04-28 16:57:05 +02:00
9808us 704ffb48e9 Fix fourth Not fifth bot english + italian 2021-04-28 16:36:05 +02:00
Smidy13 be094ba536 Renaming Variables to More Accurate Names, Adding in Promises for Functions 2021-04-28 22:50:51 +12:00
Julian Molina 5166d936e5 Merge pull request #850 from 0xperez/plugins-docs
Plugins docs
2021-04-28 11:02:56 +02:00
0xperez 0d944dd532 Translating Basic Edu Tutorial - Page 006 to 055 2021-04-28 08:59:23 +02:00
Smidy13 d052098b66 Moving back if statement moved during testing, setting InvalidDate at right point 2021-04-28 17:45:02 +12:00
Smidy13 0b9af11663 Bug Fix: Unnecessary Halt in getOHLCVs, Handling for Invalid Start Date on getOHLCVs & Handling for Exchange maintenance over limit 2021-04-28 17:13:45 +12:00
Luis Fernando Molina f0ad6c51eb Merge pull request #847 from ssplatt/discord-webhook-announce
WIP: Discord webhook announce
2021-04-27 20:50:58 -04:00
0xperez 51f8d1be23 Translating Basic Edu Tutorial - Page 036 to 043 2021-04-27 22:22:34 +02:00
Brett Taylor 3831809f6c add more discord bot config and docs 2021-04-27 14:41:06 -04:00
Brett Taylor f59dbeec3b initial discord webook bot 2021-04-27 09:39:10 -04:00
Julian Molina 05cb622da1 Merge pull request #844 from 0xperez/plugins-docs
Translating Basic Edu Tutorial - Page 002 to 017
2021-04-27 09:42:16 +02:00
0xperez 1a7fe13fb6 Translating Basic Edu Tutorial - Page 023 to 035 2021-04-27 08:07:47 +02:00
Luis Fernando Molina 396feb5c6b Merge pull request #845 from Luis-Fernando-Molina/develop
Contribution: Important Bug Fixed at Lighting Path Function Impacting sequence of same type nodes.
2021-04-26 18:08:52 -04:00
Luis Fernando Molina 2fc11db5b2 Important Bug Fixed at Lighting Path Function Impacting sequence of same type nodes. 2021-04-27 00:07:53 +02:00
0xperez cab94f8cd1 Translating Basic Edu Tutorial - Page 018 to 022 2021-04-26 22:03:52 +02:00
0xperez eff024dbbf Translating Basic Edu Tutorial - Page 002 to 017 2021-04-26 20:30:13 +02:00
Luis Fernando Molina a380bd8b05 Merge pull request #836 from harrellbm/develop
Create Windows Shortcut Script
2021-04-26 10:01:32 -04:00
Luis Fernando Molina 0e94b41d97 Merge pull request #843 from Luis-Fernando-Molina/develop
Contribution: Reapplied Telegram Bot Test Message definition
2021-04-26 09:42:37 -04:00
Luis Fernando Molina 576c930476 Reapplied Telegram Bot Test Message definition 2021-04-26 15:41:51 +02:00
Luis Fernando Molina 0184cc64d5 Merge pull request #824 from Luis-Fernando-Molina/develop
Contribution: API Data Fetcher Bots Implementation
2021-04-26 09:40:23 -04:00
Luis Fernando Molina bcc2513ff1 Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-04-26 15:39:47 +02:00
Luis Fernando Molina 295b082521 Merge pull request #838 from Smidy13/develop
Bug Fix: 'Closing' state of Close Stage, Trading Session getting stuck on Run Request Sent & Improvement: Telegram Bot Test Function
2021-04-26 09:36:43 -04:00
Julian Molina 0ada5377c9 Merge pull request #839 from scarolan/plugins-docs
My Superalgos Review
2021-04-26 13:59:50 +02:00
Julian Molina 7d26bd3309 Merge pull request #837 from Smidy13/plugins-docs
Docs-Nodes: Announcement Node
2021-04-26 13:55:40 +02:00
Smidy13 9419d0b849 Adding ProjectSchema changes for Telegram Test Function. Also Bug Fix: Tutorial Not Loading 2021-04-26 17:34:09 +12:00
Brenden Harrell 290715c2a9 Initial work on Revision 4 2021-04-25 21:00:02 -06:00
Smidy13 17d21c501d Improvement: Telegram Test Function 2021-04-26 00:40:30 +12:00
Sean Carolan d90aeda34e My Superalgos Review 2021-04-25 12:35:01 +00:00
Smidy13 d9f4fef9ae Bug Fix: Trading Session getting stuck on Run Request Sent 2021-04-25 21:23:23 +12:00
Smidy13 ac29a6f863 Bug Fix: Adding in Handling for 'Closing' state of Close Stage 2021-04-25 18:35:46 +12:00
Smidy13 dbfac533c7 Docs-Nodes: Announcement Node 2021-04-25 09:06:49 +12:00
Smidy d5f37611e9 Merge pull request #9 from Superalgos/develop
Merge Develop
2021-04-25 08:43:02 +12:00
Luis Fernando Molina ece6b383e5 Stuck at possible bug on Lignting Path Function 2021-04-24 21:30:25 +02:00
Brenden Harrell fc4aa929e5 Rename Folder Launch-Scripts 2021-04-24 12:42:25 -06:00
Brenden Harrell 204cf9e3b6 Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-04-24 10:12:17 -06:00
Brenden Harrell 2e309856ad move linux lauch script to GUI-Launch folder 2021-04-24 10:12:03 -06:00
Brenden Harrell ea1ff46c20 Create windows shortcut script 2021-04-24 10:42:28 -05:00
Luis Fernando Molina ba4eca543a Merge pull request #834 from harrellbm/develop
Simple Launch Scripts
2021-04-24 08:55:41 -04:00
Luis Fernando Molina 25c3e2d9a7 Merge pull request #835 from Smidy13/develop
Bug Fix: Close Stage Event not triggering / Improvement: Bot Using Commands and Greater Assistance
2021-04-24 08:54:09 -04:00
Smidy13 ffa1b25510 Improvement: Bot Using Commands and Greater Assistance 2021-04-24 22:13:08 +12:00
Smidy13 ebd1148e1f Bug Fix: Close Stage Event not triggering 2021-04-24 20:44:41 +12:00
Smidy13 5e0d39cb98 Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-04-24 16:38:22 +12:00
Brenden Harrell 6b3acaa720 Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-04-23 21:29:04 -05:00
Brenden Harrell afa1b8e1af windows launch script 2021-04-23 21:21:32 -05:00
Brenden Harrell 109ea8ff02 Linux Launch Script 2021-04-23 20:53:29 -05:00
Luis Fernando Molina 5d1804853d Tutorial Bug new text to refresh the UI 2021-04-23 23:00:28 +02:00
Luis Fernando Molina cbfdf6c321 Merge pull request #833 from 9808us/develop
Fix Left click with Right click
2021-04-23 12:44:00 -04:00
9808us bb4ebf1864 Fix Left click with Right click 2021-04-23 15:28:10 +02:00
Julian Molina e8afe2be01 Merge pull request #831 from harrellbm/plugins-docs
Setting up a New Chart Tutorial Revision 3
2021-04-21 20:23:36 +02:00
Brenden Harrell 0b5dc2200b Merge branch 'plugins-docs' of https://github.com/Superalgos/Superalgos into plugins-docs 2021-04-21 12:18:22 -05:00
Brenden Harrell e59377e1f0 Update Workspace 2021-04-21 12:17:20 -05:00
Brenden Harrell 005dbbbbf7 Setting up a new Chart Tutorial Revision 3 2021-04-21 12:14:01 -05:00
Luis Fernando Molina 593258668b Ready to code the fetching of data from the API 2021-04-21 18:55:46 +02:00
Luis Fernando Molina 62bf2d0e5f Reaching the API Data Fetcher Fetching Process while Debugging. 2021-04-20 22:37:31 +02:00
Luis Fernando Molina 6e2742a930 Bug Fixed preventing Tasks to start 2021-04-20 21:19:31 +02:00
Luis Fernando Molina dde871e57e API Data Fetcher UI code fully implemented 2021-04-20 18:26:01 +02:00
Luis Fernando Molina 91b9969f68 API Data Fetcher added to UI code 2021-04-20 17:34:57 +02:00
Luis Fernando Molina 89bd9393a7 App Schema File Splitted into Individual Schema Documents Files 2021-04-20 15:31:23 +02:00
Luis Fernando Molina ee7cb0c835 API Map Schema at 90% 2021-04-20 14:31:03 +02:00
Smidy13 7c75576731 Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-04-20 17:40:52 +12:00
Luis Fernando Molina 88a8b9d702 Get all News Messari Endpoint Fully Mapped 2021-04-19 21:02:25 +02:00
Luis Fernando Molina fca33e54ee Merge pull request #828 from Superalgos/plugins-docs
Token Task Force Docs
2021-04-19 14:06:49 -04:00
Luis Fernando Molina 88aa4f8838 Merge pull request #827 from Superalgos/plugins-docs
Token Task Force Docs
2021-04-19 14:06:09 -04:00
Julian Molina 178e93fbb2 Merge pull request #826 from julian-molina/plugins-docs
Contribution: Token task force
2021-04-19 19:38:23 +02:00
Julian Molina 922fbeecef Token task force 2021-04-19 19:37:02 +02:00
Julian Molina 021b9b0fde Merge pull request #825 from julian-molina/plugins-docs
Contribution: Superalgos chat groups
2021-04-19 17:50:22 +02:00
Julian Molina 1bab9e5dbc Superalgos chat groups topic 2021-04-19 17:34:54 +02:00
Luis Fernando Molina 1c7c3184e1 API Map Schema at 75% 2021-04-19 16:48:15 +02:00
Brenden Harrell 8a01d25b53 Remove "Quick Fix" page 2021-04-19 09:34:01 -05:00
Brenden Harrell 17b7479c3e Change titles to start with Tutorial Step 2021-04-19 09:33:17 -05:00
Luis Fernando Molina c5e0753bc3 API Map Schema at 50% 2021-04-19 16:17:25 +02:00
Brenden Harrell 890455bc7a Merge branch 'develop' of https://github.com/Superalgos/Superalgos into plugins-docs 2021-04-19 09:12:34 -05:00
Luis Fernando Molina 34e080360c API Data Fetcher Bots Implementation 2021-04-19 14:32:57 +02:00
Luis Fernando Molina 623418ee14 Merge branch 'master' into plugins-docs 2021-04-19 13:13:14 +02:00
Luis Fernando Molina 92f3a86f65 Merge pull request #823 from Superalgos/develop
Superalgos Beta 9 SP 2
2021-04-19 07:12:20 -04:00
Julian Molina 188339c860 Merge pull request #822 from HenningBertsch/origin/plugins-docs
Fixed a typo where 'of' was written instead of 'off'
2021-04-19 09:31:55 +02:00
Henning Bertsch 3d778eaf63 Merge remote-tracking branch 'upstream/plugins-docs' into origin/plugins-docs 2021-04-19 09:20:27 +02:00
Julian Molina 1057c87a2d Merge pull request #816 from 0xperez/develop
Translating the Welcome Tutorial - Final Review
2021-04-18 21:18:50 +02:00
Luis Fernando Molina d4d26671b7 Merge pull request #821 from Luis-Fernando-Molina/develop
Contribution: Bug Fix: Tutorial loading without Content and needing Refresh of the UI
2021-04-18 10:27:19 -04:00
Luis Fernando Molina 70de50d9d0 Bug Fix: Tutorial loading without Content and needing Refresh of the UI 2021-04-18 16:26:10 +02:00
Luis Fernando Molina 5a7a0ea99d Merge pull request #820 from Luis-Fernando-Molina/develop
Contribution: Detaching from Parent Node and from Reference Parent now only possible with Double Click
2021-04-18 09:54:42 -04:00
Luis Fernando Molina 7348983569 Detaching from Parent Node and from Reference Parent now only possible with Double Click 2021-04-18 15:53:41 +02:00
Luis Fernando Molina 182dad6662 Merge pull request #818 from Luis-Fernando-Molina/develop
Contribution: Indicators Parameters Defined at the Task Level
2021-04-18 09:04:32 -04:00
Luis Fernando Molina cbba6e5a2e Indicators Parameters Defined at the Task Level 2021-04-18 14:34:43 +02:00
0xperez 7bf7f7be83 Translating the Welcome Tutorial - Final Review 2021-04-17 12:05:11 +02:00
Henning Bertsch eaa71e5b23 Fixed a typo where the docs referred to the 'off state' but written was 'of' 2021-04-17 10:52:29 +02:00
Luis Fernando Molina 610c1db268 Merge branch 'master' into plugins-docs 2021-04-16 18:10:49 +02:00
Luis Fernando Molina a2c4c93dff Merge pull request #814 from Superalgos/develop
Superalgos Beta 9 SP1
2021-04-16 12:07:03 -04:00
Julian Molina 18c50f1276 Merge pull request #813 from julian-molina/develop
Contribution: Star request on main tutorials
2021-04-16 17:40:23 +02:00
Julian Molina 3b3b889f52 Star request on main tutorials 2021-04-16 17:37:54 +02:00
Julian Molina 7572e76e2c Merge pull request #812 from julian-molina/develop
Contribution: First token task force task
2021-04-16 11:05:24 +02:00
Julian Molina a370158e09 First token task force task 2021-04-16 11:04:04 +02:00
Julian Molina 1c351b80b9 Merge pull request #809 from Noeljarillo/develop
Contribution: This is my contribution to Superalgos
2021-04-15 10:01:55 +02:00
Julian Molina 7dfd20020a Merge pull request #808 from vaskosmihaylov/develop
Contribution: My Superalgos Review
2021-04-15 09:55:28 +02:00
Noeljarillo 047f2be264 [ES trans 2] 2021-04-15 00:35:03 +02:00
Noeljarillo c77a9f4041 [ES transalation] 2021-04-14 23:53:29 +02:00
Noeljarillo 487c797450 This is my contribution to Superalgos 2021-04-14 22:45:05 +02:00
Noeljarillo eda9cfa0ac Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-04-14 22:37:33 +02:00
vaskosmihaylov 6efb50f04e My Superalgos Review 2021-04-14 02:07:00 +03:00
vaskosmihaylov 5c5ec99158 My Superalgos Review 2021-04-14 01:20:49 +03:00
Julian Molina 494d4fcbbb Merge pull request #807 from julian-molina/develop
Contribution: Contribute tutorial plugins-docs branch update
2021-04-13 14:50:11 +02:00
Julian Molina b5c937bda5 Contribute tutorial plugins-docs branch update 2021-04-13 14:49:26 +02:00
Noeljarillo 0f50f3e378 This is my contribution to Superalgos 2021-04-13 12:19:19 +02:00
Julian Molina bfe45b1feb Merge pull request #805 from 9808us/develop
Contribution: This is my contribution to Superalgos
2021-04-13 10:08:53 +02:00
9808us 6232276012 This is my contribution to Superalgos 2021-04-13 09:58:57 +02:00
9808us c5ebfe1f6c Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-04-13 08:40:23 +02:00
Luis Fernando Molina 7e67c1a200 Merge pull request #801 from Luis-Fernando-Molina/develop
Contribution: Update CCXT library to version 1.47.49
2021-04-12 08:27:06 -04:00
Luis Fernando Molina 101ceb41d0 Update CCXT library to version 1.47.49 2021-04-12 14:25:11 +02:00
Luis Fernando Molina c1df92ad42 Merge pull request #800 from Smidy13/develop
Documentation Updates
2021-04-12 08:02:18 -04:00
Smidy13 68686165c3 Social Bots Documentation Update 2021-04-12 23:06:13 +12:00
Smidy13 942f518ba5 Revert "Bug Fix: Getting Started Tutorial Not Loading"
This reverts commit daf5eb465e.
2021-04-12 23:02:35 +12:00
Smidy ef49e7d12a Merge pull request #6 from Superalgos/develop
Updating Local Fork
2021-04-12 22:56:42 +12:00
Julian Molina 73444d97b5 Merge pull request #799 from raubot/develop
Contribution: This is my contribution to Superalgos
2021-04-11 23:27:34 +02:00
Jason Hardy 84cc5f30a0 This is my contribution to Superalgos 2021-04-11 16:14:02 -05:00
Jason Hardy 6c6b204072 This is my contribution to Superalgos 2021-04-11 16:02:25 -05:00
Jason Hardy 1201700332 Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-04-11 15:33:08 -05:00
Julian Molina fd8619f2c3 Merge pull request #798 from julian-molina/develop
Contribution: Contribute tutorial plugins-docs branch update
2021-04-11 19:02:40 +02:00
Julian Molina 916562f632 Contribute tutorial plugins-docs branch update 2021-04-11 18:59:48 +02:00
Julian Molina 58a5fc59dc Merge pull request #796 from brycey12/develop
Contribution: My Superalgos Review
2021-04-11 17:35:44 +02:00
brycey12 48d084e2b3 My Superalgos Review 2021-04-11 23:04:52 +10:00
Julian Molina 36200eae5d Merge pull request #795 from 0xperez/develop
Completed first translation of the Welcome Tutorial in Italian
2021-04-11 11:01:10 +02:00
Julian Molina 9e8b758c39 Update welcome-to-superalgos-062-tutorial-step-machines-learn-too.json 2021-04-11 10:46:14 +02:00
Jason Hardy 67afd2c6a3 This is my contribution to Superalgos 2021-04-10 20:26:58 -05:00
0xperez 9a8d14f34e Translating the Welcome Tutorial - Page 63 to 112 2021-04-10 19:16:20 +02:00
0xperez 194ee13778 Translating the Welcome Tutorial - Page 58 to 62 2021-04-10 14:46:38 +02:00
Julian Molina 9769761b4d Merge pull request #793 from cozed-gh/develop
Contribution: Omega One Data Mine and Docs
2021-04-09 16:33:36 +02:00
cozed-gh 92c3d189a1 Name change to Omega-One 2021-04-09 16:28:02 +02:00
cozed-gh e9c00276b7 Delete Omega One.json 2021-04-09 16:27:44 +02:00
cozed-gh 89f07ef649 New name "Omega One" 2021-04-09 15:25:26 +02:00
cozed-gh 114d834d36 Merge branch 'develop' of https://github.com/cozed-gh/Superalgos into develop 2021-04-09 15:19:11 +02:00
cozed-gh cea708239e Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-04-09 15:14:23 +02:00
cozed-gh e01ff6b78f Omega One Data Mine docs 2021-04-09 15:14:04 +02:00
cozed-gh e07253124c Change name of Omega to Omega One 2021-04-09 15:09:45 +02:00
Luis Fernando Molina 124fd3040d Merge pull request #791 from Luis-Fernando-Molina/develop
Contribution: Bug FIX: Coninbase Pro handling of cancelled orders
2021-04-09 08:10:02 -04:00
Luis Fernando Molina 17afa41ccb Bug FIX: Coninbase Pro handling of cancelled orders 2021-04-09 14:09:44 +02:00
Luis Fernando Molina 8cd9f15cb8 Merge pull request #788 from ssplatt/update-key-docs
update docs for coinbase pro api key password
2021-04-09 06:59:05 -04:00
Julian Molina 3075ecfc24 Merge pull request #790 from cozed-gh/develop
Contribution: Omega One Data Mine docs
2021-04-09 12:31:30 +02:00
cozed-gh c5fd0cb584 Merge branch 'develop' of https://github.com/cozed-gh/Superalgos into develop 2021-04-09 12:14:54 +02:00
cozed-gh a3c1edaa75 Omega One Data Mine (yes, it will become a series of indicators) :) 2021-04-09 11:58:07 +02:00
ssplatt 367a47fe71 update docs for coinbase pro api key password 2021-04-08 22:44:18 -04:00
Luis Fernando Molina c93f58dd01 Merge pull request #787 from Luis-Fernando-Molina/develop
Contribution: Coninbase Pro handling of cancelled orders
2021-04-08 17:33:31 -04:00
Luis Fernando Molina bfc83b2e32 Coninbase Pro handling of cancelled orders 2021-04-08 23:32:35 +02:00
Luis Fernando Molina 6c75258291 Merge pull request #785 from ssplatt/api-key-password
Add password to api key configuration
2021-04-08 16:16:18 -04:00
Julian Molina 562ff5efe0 Merge pull request #786 from julian-molina/develop
Contribution: Notes on how to contribute tutorials
2021-04-08 20:35:17 +02:00
Julian Molina a82959de1a Notes on how to contribute tutorials 2021-04-08 20:34:26 +02:00
ssplatt 2c01d2177a cleanup whitespace 2021-04-08 12:52:40 -04:00
ssplatt b7ac28b5c7 add password to api key config 2021-04-08 12:51:10 -04:00
Julian Molina 45254f3f10 Merge pull request #784 from harrellbm/develop
Charting Space Tutorial revision 2
2021-04-08 16:56:25 +02:00
Noeljarillo f7c2358d66 This is my contribution to Superalgos 2021-04-08 16:15:22 +02:00
Brenden Harrell c9e26f5396 Updated Workspace Creating Custom Charts 2021-04-08 08:40:21 -05:00
Brenden Harrell d3f514e66a Revised Charting Space Tutorial pt2 2021-04-08 08:34:49 -05:00
Noeljarillo a38c4078ac This is my contribution to Superalgos 2021-04-08 14:36:43 +02:00
Noeljarillo 139c8bb9fd This is my contribution to Superalgos 2021-04-08 14:11:40 +02:00
Brenden Harrell 1144e5ee4a Revisions to Charting Space Tutorial pt 1 2021-04-07 22:12:39 -05:00
Brenden Harrell 75cb6d54c3 title update 2021-04-07 07:00:49 -05:00
Smidy13 daf5eb465e Bug Fix: Getting Started Tutorial Not Loading 2021-04-07 23:34:58 +12:00
Luis Fernando Molina d35648ef08 Merge branch 'develop' into plugins-docs 2021-04-06 21:17:25 +02:00
Luis Fernando Molina 503587206f Merge pull request #777 from Luis-Fernando-Molina/develop
Contribution: New Branch Plugins/Docs
2021-04-06 15:15:57 -04:00
Luis Fernando Molina 802b422b40 Merge pull request #778 from Luis-Fernando-Molina/plugins-docs
Plugins docs
2021-04-06 15:15:28 -04:00
Luis Fernando Molina 418c6bb83e Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-04-06 21:09:24 +02:00
Luis Fernando Molina e9f4f1c2a7 New Branch Plugins/Docs 2021-04-06 21:08:38 +02:00
Julian Molina 1aa8c87ee6 Merge pull request #776 from julian-molina/develop
Contribution: Contributing tutorials
2021-04-06 20:38:48 +02:00
Julian Molina cffcb79662 Contributing tutorials 2021-04-06 20:38:00 +02:00
Julian Molina 442cd88bd2 Merge pull request #775 from julian-molina/develop
Contribution: How to contribute tutorials
2021-04-06 20:30:08 +02:00
Julian Molina 4f82fa8125 How to contribute tutorials 2021-04-06 20:28:44 +02:00
Luis Fernando Molina 5b0e548204 Merge pull request #773 from Smidy13/develop
Bug Fix for Announcements + Browser Type / Version Check
2021-04-06 14:08:11 -04:00
cozed-gh 9894ac5e33 Merge branch 'develop' of https://github.com/cozed-gh/Superalgos into develop 2021-04-06 13:48:42 +02:00
cozed-gh 0c85f0df73 Merge pull request #1 from Superalgos/develop
Develop merge 2021-04-06
2021-04-06 12:25:12 +02:00
Julian Molina 844d1313c9 Merge pull request #772 from harrellbm/develop
Contribution: Revise Charting Space Tutorial and Add Creating Custom Charts Workspace
2021-04-06 10:22:29 +02:00
Smidy13 8e2172afd3 Browser User Agent Check + Warning 2021-04-06 14:40:00 +12:00
Smidy13 2bc7f91641 Bug Fix: Allow Announcements on Create Order Events 2021-04-06 10:40:38 +12:00
Brenden Harrell c565222963 Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-04-05 17:35:01 -05:00
Brenden Harrell 0aab8e4828 Add Creating Custom Charts Workspace 2021-04-05 17:34:48 -05:00
Brenden Harrell 922f6dd9ce Revise How to set up a new Chart Tutorial docs 2021-04-05 17:34:20 -05:00
Julian Molina d22141bd6c Merge pull request #771 from julian-molina/develop
Contribution: Tutorial node page upgrade
2021-04-05 21:12:24 +02:00
Julian Molina de3e983504 Tutorial node page upgrade 2021-04-05 21:11:39 +02:00
Luis Fernando Molina 84f2aeb627 Merge pull request #770 from Superalgos/develop
Beta 9 Release
2021-04-05 11:49:51 -04:00
Julian Molina 9f4a25aee2 Merge pull request #768 from julian-molina/develop
Contribution: LF Trading Bot Data Structures Revision
2021-04-05 13:28:49 +02:00
Julian Molina ac8985bf10 LF Trading Bot Data Structures Revision 2021-04-05 13:27:33 +02:00
Julian Molina b9226c82d0 Merge pull request #767 from julian-molina/develop
Contribution: Scammers warnings on readme and welcome tutorial
2021-04-05 09:54:47 +02:00
Julian Molina 95ad39f020 Scammers warnings on readme and welcome tutorial 2021-04-05 09:53:46 +02:00
Julian Molina 25d06fe2c9 Merge pull request #765 from harrellbm/develop
Contribution: Charting Space Tutorials
2021-04-05 09:36:17 +02:00
Smidy 52b9d29c58 Merge pull request #4 from Superalgos/develop
Pulling Latest Changes to Smidy13 Fork
2021-04-05 14:10:45 +12:00
Luis Fernando Molina 8adc4e82a2 Merge pull request #766 from Luis-Fernando-Molina/develop
Contribution: Market name available at conditions and formulas of Trading System and Announcements
2021-04-04 21:32:40 -04:00
Luis Fernando Molina ecfd40bf70 Market name available at conditions and formulas of Trading System and Announcements 2021-04-05 03:32:09 +02:00
Luis Fernando Molina 951de0a56c Merge pull request #764 from Smidy13/develop
Fixing Typo & Social Bots Icons and Documentation
2021-04-04 21:23:35 -04:00
Smidy13 4567e8de23 Adding sessionParameters to Announcements 2021-04-05 10:54:03 +12:00
Brenden Harrell 8ad6838caf Merge remote-tracking branch 'upstream/master' 2021-04-03 09:05:50 -05:00
Brenden Harrell 911529b0cc Merge remote-tracking branch 'upstream/master' into develop 2021-04-03 08:47:36 -05:00
Brenden Harrell 3242b73023 Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-04-03 08:02:14 -05:00
Brenden Harrell a58535dae5 Initial commit of Charting Space tutorials 2021-04-03 08:01:10 -05:00
Smidy13 41b443d444 Social Bots and Telegram Bot documentation improvements. 2021-04-04 00:13:08 +13:00
Smidy13 3655b2cdf1 Merge branch 'develop' of https://github.com/Smidy13/Superalgos into develop 2021-04-03 20:36:57 +13:00
Smidy13 50e7d5c710 Fixing Typo of doscs.save to docs.save 2021-04-03 20:35:31 +13:00
Smidy13 97216709e3 Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-04-03 13:04:25 +13:00
Smidy f82ac03d2e Merge pull request #3 from Superalgos/develop
Updating Forked Develop Branch
2021-04-03 12:59:45 +13:00
Julian Molina eaf2a47dc5 Merge pull request #761 from julian-molina/develop
Contribution: Index credits message
2021-04-02 18:52:16 +02:00
Julian Molina 71ace4ef21 Index credits message 2021-04-02 18:47:46 +02:00
Luis Fernando Molina 571ceb61d4 Merge pull request #760 from Superalgos/develop
Beta 9 RC 2
2021-04-02 07:30:15 -04:00
Luis Fernando Molina 50c255fb26 Merge pull request #759 from Luis-Fernando-Molina/develop
Contribution: Turkish Language added
2021-04-02 07:18:08 -04:00
Luis Fernando Molina fd8b9aebe5 Turkish Language added 2021-04-02 13:17:17 +02:00
Julian Molina 4c4ff2ad5d Merge pull request #758 from julian-molina/develop
Contribution: Flag
2021-04-02 10:00:16 +02:00
Julian Molina c2c2a4c666 Flag 2021-04-02 09:59:36 +02:00
Brenden Harrell fb6d69a4eb This is my contribution to Superalgos 2021-04-01 19:07:41 -05:00
Julian Molina ac141949b3 Merge pull request #756 from julian-molina/develop
Contribution: TR Flag
2021-04-01 13:29:06 +02:00
Julian Molina d5584d498e TR Flag 2021-04-01 13:26:23 +02:00
Julian Molina 119ab2acb0 Merge pull request #755 from julian-molina/develop
Contribution: README and Index files
2021-04-01 12:33:19 +02:00
Julian Molina 86ba1f867e Merge pull request #754 from suttridge/develop
Contribution: Fixed grammar and spelling errors in Trading Farms documentation.
2021-04-01 12:32:42 +02:00
Julian Molina 0bc76f88e9 README and Index files 2021-04-01 12:30:27 +02:00
Steve Langridge d95f0d4888 Fixed grammar and spelling errors in Trading Farms documentation. 2021-04-01 10:10:05 +02:00
Luis Fernando Molina dfecdbd5e8 Update README.md 2021-04-01 01:30:10 +02:00
Luis Fernando Molina 4a14976d81 Merge pull request #753 from Superalgos/develop
Beta 9 Release Candidate
2021-03-31 19:26:11 -04:00
Luis Fernando Molina da6ec283fe Merge pull request #752 from Luis-Fernando-Molina/develop
Contribution: Pre-relese details at client console logs
2021-03-31 19:14:41 -04:00
Luis Fernando Molina 7668c130f5 Pre-relese details at client console logs 2021-04-01 01:13:28 +02:00
Julian Molina 514168ac9f Merge pull request #751 from julian-molina/develop
Contribution: Install a new market tutorial revision
2021-03-31 20:04:56 +02:00
Julian Molina c07369e5ed Install a new market tutorial revision 2021-03-31 20:03:05 +02:00
Julian Molina b916eb708b Merge pull request #750 from julian-molina/develop
Contribution: Tutorials book revision
2021-03-31 18:41:21 +02:00
Julian Molina d5d1661d41 Tutorials book revision 2021-03-31 18:38:18 +02:00
Julian Molina e4647a1df9 Merge pull request #748 from julian-molina/develop
Contribution: Trading system design tutorials revision
2021-03-31 18:18:25 +02:00
Julian Molina 27f34c95e9 Trading system design tutorials revision 2021-03-31 18:06:13 +02:00
Julian Molina 439c632c6a Merge pull request #747 from julian-molina/develop
Contribution: Trading bot layers tutorial revision
2021-03-31 12:27:00 +02:00
Julian Molina fd9e2f1f88 Trading bot layers tutorial revision 2021-03-31 12:23:16 +02:00
Luis Fernando Molina 335cdcf585 Merge pull request #746 from Luis-Fernando-Molina/develop
Contribution: BUG FIX: uid not defined after change for Bitstamp
2021-03-30 15:18:42 -04:00
Luis Fernando Molina a8e3c399bb BUG FIX: uid not defined after change for Bitstamp 2021-03-30 21:18:16 +02:00
Julian Molina 2478de7a16 Merge pull request #745 from julian-molina/develop
Contribution: Repagination of tutorials
2021-03-30 18:08:51 +02:00
Julian Molina 348e39f01c Repagination of tutorials 2021-03-30 18:06:35 +02:00
Brenden Harrell 3586d9ad06 Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-03-30 10:04:18 -05:00
Luis Fernando Molina b7271a13e0 Merge pull request #743 from suttridge/develop
Contribution: Have to check for both undefined and null to prevent exceptions from stopping the trading task.
2021-03-30 10:08:45 -04:00
Julian Molina c401755bf0 Merge pull request #740 from julian-molina/develop
Contribution: Updating books and topics
2021-03-30 12:33:44 +02:00
Julian Molina 9406f5bbea TensorFlow icons relocated 2021-03-30 12:33:17 +02:00
Julian Molina 6b14e92ab6 Merge pull request #744 from Basalt09/develop
Develop
2021-03-30 12:30:26 +02:00
Basalt09 2d9ccfdb90 Add files via upload 2021-03-30 18:28:28 +08:00
Basalt09 7db1699f6f Add files via upload 2021-03-30 18:27:59 +08:00
Steve Langridge 9980cf637e Have to check for both undefined and null to prevent exceptions from stopping the trading task. 2021-03-30 12:26:03 +02:00
Steve Langridge 43312c05e6 Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-03-30 12:23:57 +02:00
Julian Molina 847b3585f8 Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-03-30 12:07:30 +02:00
Julian Molina 85a6d24ec2 Merge pull request #742 from Basalt09/develop
Develop
2021-03-30 12:06:33 +02:00
Basalt09 7a5c88acf7 Add files via upload 2021-03-30 17:58:16 +08:00
Basalt09 0c2db497a5 Add files via upload 2021-03-30 17:53:16 +08:00
Julian Molina 0871f3e571 Updating books and topics 2021-03-30 10:59:04 +02:00
Steve Langridge 02efde6dec Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-03-30 09:59:33 +02:00
Julian Molina 46898a348c Merge pull request #739 from julian-molina/develop
Contribution: Contributing tutorial
2021-03-29 20:15:07 +02:00
Julian Molina afe6efc232 Getting Started Plugin Workspace Done! 2021-03-29 20:00:02 +02:00
Julian Molina 3a9575bbb8 Contributing tutorial 2021-03-29 18:21:33 +02:00
Julian Molina 0f912f97b1 Merge pull request #738 from suttridge/develop
Contribution: Added XRP icon.
2021-03-29 17:18:34 +02:00
Steve Langridge fe376474ac Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-03-29 15:42:40 +02:00
Steve Langridge 8363e825a3 Added XRP icon. 2021-03-29 15:41:17 +02:00
Luis Fernando Molina 955cbb128b Merge pull request #737 from Luis-Fernando-Molina/develop
Contribution: searchPage command introduced to show search page
2021-03-29 09:37:46 -04:00
Luis Fernando Molina f6d5b1e794 searchPage command introduced to show search page 2021-03-29 15:36:10 +02:00
Julian Molina c31d3cfe48 Merge pull request #735 from DougJCook/develop
Contribution: My Superalgos Review
2021-03-29 15:35:48 +02:00
Luis Fernando Molina aee0d889c5 Merge pull request #736 from Luis-Fernando-Molina/develop
Contribution: closeTutorialEditor command improved to show search page
2021-03-29 09:25:37 -04:00
Luis Fernando Molina ae38c94bd7 closeTutorialEditor command improved to show search page 2021-03-29 15:24:19 +02:00
Julian Molina 5aa8bce1cc Delete superalgos-project-review-008-superalgos-review-your-review-title.json 2021-03-29 15:19:22 +02:00
Julian Molina fab48b0d7f Merge branch 'develop' into develop 2021-03-29 15:17:24 +02:00
Julian Molina 8f2ca7bed2 Merge pull request #734 from julian-molina/develop
Contribution: Contribute tutorial revision
2021-03-29 15:14:59 +02:00
Julian Molina 48efab796d This is my contribution to Superalgos 2021-03-29 15:13:21 +02:00
Julian Molina 3e872328af Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-03-29 14:37:53 +02:00
DougJCook edd02d984e My Superalgos Review 2021-03-29 08:29:52 -04:00
DougJCook 816bf451a1 Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-03-29 08:01:05 -04:00
Julian Molina ddac685469 Contribute tutorial revision 2021-03-29 10:22:41 +02:00
Julian Molina dddbb186fe Merge pull request #733 from Mhnramin/develop
Contribution: This is my contribution to Superalgos
2021-03-28 19:40:53 +02:00
Mhnramin c9831e6449 This is my contribution to Superalgos 2021-03-29 01:08:54 +08:00
Luis Fernando Molina 95de7fa3d8 Merge pull request #732 from Smidy13/develop
Check if Host IP = OS IP for FileStorage.js
2021-03-28 09:29:27 -04:00
Smidy13 e9fdc0e50b FileStorage.js Including Localhost IP Addr Also 2021-03-28 02:26:42 +00:00
Julian Molina 2cbc1b3bfe Merge pull request #731 from julian-molina/develop
Contribution: Contribute tutorial update
2021-03-27 22:33:49 +01:00
Julian Molina 72d3ee37c3 Editing 2021-03-27 22:30:37 +01:00
Julian Molina 759f21bbb1 The command 2021-03-27 21:57:24 +01:00
Smidy13 eb969767cd Merge branch 'develop' of https://github.com/Smidy13/Superalgos into develop 2021-03-27 20:49:16 +00:00
Smidy13 6ed480374b Check if Host IP = OS IP for FileStorage.js 2021-03-27 20:48:44 +00:00
Julian Molina b632e3ab8d Switching branches 2021-03-27 20:35:05 +01:00
Julian Molina 5d603e24a4 Contribute tutorial update 2021-03-27 20:14:08 +01:00
Julian Molina cd95e9d112 Merge pull request #730 from julian-molina/develop
Contribution: Index page message
2021-03-27 19:40:44 +01:00
Julian Molina 8e09b1c163 Index page message 2021-03-27 19:37:20 +01:00
Luis Fernando Molina 31af3a2383 Merge pull request #729 from Luis-Fernando-Molina/develop
Contribution: Fixed Exchange Name
2021-03-26 20:35:03 -04:00
Luis Fernando Molina 2e1d3c944a Fixed Exchange Name 2021-03-27 01:34:13 +01:00
Luis Fernando Molina f6c3b01841 Merge pull request #720 from joenij/develop
Develop
2021-03-26 20:28:43 -04:00
Luis Fernando Molina ab42d3261f Merge branch 'develop' into develop 2021-03-26 20:28:32 -04:00
Luis Fernando Molina 9fbf585dc5 Merge pull request #726 from joenij/patch-1
Update AppSchema.json
2021-03-26 20:18:49 -04:00
Julian Molina 3cba131c30 Merge pull request #728 from Mhnramin/develop
Contribution: This is my contribution to Superalgos
2021-03-26 17:54:16 +01:00
Mhnramin 58d7acb51d This is my contribution to Superalgos 2021-03-27 00:02:31 +08:00
Steve Langridge 69d478fa5b Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-03-26 15:49:00 +02:00
Julian Molina 12151f20e4 Merge pull request #727 from julian-molina/develop
Contribution: Footer and translation pages
2021-03-26 14:19:11 +01:00
Julian Molina 38af8ffb85 Footer and translation pages 2021-03-26 14:15:02 +01:00
joenij 93193de4c3 Update AppSchema.json 2021-03-26 14:11:30 +01:00
Julian Molina 8729ae25d0 Merge pull request #725 from julian-molina/develop
Contribution: Contribute to Superalgos Tutorial Revision
2021-03-26 13:56:44 +01:00
Julian Molina 1c88103950 Contribute to Superalgos Tutorial Revision 2021-03-26 12:03:30 +01:00
Julian Molina a3ec64554e Merge pull request #724 from julian-molina/develop
Contribution: Getting Started Plugin Workspace update
2021-03-25 22:16:21 +01:00
Julian Molina 3fcfcec066 Getting Started Plugin Workspace update 2021-03-25 22:15:55 +01:00
Julian Molina 35a7188740 Merge pull request #723 from julian-molina/develop
Contribution: Repagination of tutorials in the Getting Started workspace
2021-03-25 21:57:37 +01:00
Julian Molina 2eb493291e Repagination of tutorials in the Getting Started workspace 2021-03-25 21:54:39 +01:00
Julian Molina 51a74ae782 Merge pull request #722 from Mhnramin/develop
Contribution: This is my contribution to Superalgos
2021-03-25 21:16:40 +01:00
Julian Molina 1461de3493 Merge branch 'develop' into develop 2021-03-25 21:15:58 +01:00
Julian Molina 26067ab0e2 Merge pull request #716 from julian-molina/develop
Contribution: Welcome tutorial revision
2021-03-25 20:34:34 +01:00
Julian Molina bb0c3f5d51 Revert "Intro and repagination of tutorials in the getting started workspace"
This reverts commit ec206fbf88.
2021-03-25 20:34:00 +01:00
Mhnramin a5fee10d6c This is my contribution to Superalgos 2021-03-26 03:23:37 +08:00
Julian Molina ec206fbf88 Intro and repagination of tutorials in the getting started workspace 2021-03-25 19:55:47 +01:00
Mhnramin 1ccb99cc23 Merge branch 'master' of https://github.com/Superalgos/Superalgos into develop 2021-03-26 02:07:56 +08:00
Julian Molina 5f7431b2a5 Tutorial ending 2021-03-25 19:07:03 +01:00
Julian Molina 257f18757c Getting Started Revision 2021-03-25 12:21:52 +01:00
Steve Langridge 8bb6a69b27 Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-03-25 10:44:14 +02:00
Luis Fernando Molina f65b1d5316 Merge pull request #718 from Luis-Fernando-Molina/develop
Contribution: String Paste your exchange API name or label replaced for API Key
2021-03-24 15:40:57 -04:00
Luis Fernando Molina f58d1f44f7 String Paste your exchange API name or label replaced for API Key 2021-03-24 20:39:41 +01:00
Smidy b38630bf85 Merge pull request #1 from Superalgos/develop
Merge pull request #714 from Smidy13/develop
2021-03-24 16:23:28 +13:00
Steve Langridge ee7c870d3c Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-03-23 17:57:15 +02:00
Julian Molina aa7d5e8701 Welcome tutorial revision 2021-03-23 14:17:55 +01:00
Luis Fernando Molina f115bff859 Merge pull request #714 from Smidy13/develop
Announcement Formula Error Page & Repagination
2021-03-23 08:36:07 -04:00
joenij 7357974c8f This is my contribution to Superalgos 2021-03-23 10:44:49 +01:00
joenij d4c2704331 This is my contribution to Superalgos 2021-03-23 10:15:21 +01:00
suttridge feb19f7fd5 Merge pull request #1 from Superalgos/develop
Develop
2021-03-23 09:25:59 +02:00
smidy13 4867fd70ef Announcement Formula Error Page & Repagination 2021-03-23 05:02:41 +00:00
smidy13 2724e41fb0 Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-03-23 02:39:39 +00:00
DougJCook f2b8d23a2c Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-03-22 14:08:50 -04:00
Julian Molina 3e260bf85f Merge pull request #713 from julian-molina/develop
Contribution: Welcome tutorial revision
2021-03-22 18:52:01 +01:00
Julian Molina 1be9018f8f App Schema 2021-03-22 18:50:46 +01:00
Julian Molina 394bee3a66 The Coolest Trick 2021-03-22 17:26:52 +01:00
Julian Molina 0790df29ce Sell It Quick 2021-03-22 17:00:38 +01:00
Julian Molina 25528d2d0e Aim High, Trade Big 2021-03-22 16:46:20 +01:00
Julian Molina 5761f656da Putting Things in Order 2021-03-22 13:42:17 +01:00
Julian Molina a54af6671b Are We Up to Date 2021-03-22 13:21:34 +01:00
Julian Molina 7dad199f74 Welcome tutorial revision 2021-03-22 12:58:26 +01:00
DougJCook 57eb4b200c Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-03-22 06:46:43 -04:00
Luis Fernando Molina 4d3f95acf0 Merge pull request #712 from Mhnramin/develop
Contribution: This is my contribution to Superalgos
2021-03-21 20:08:49 -04:00
Mhnramin 90f8e0a2b7 This is my contribution to Superalgos 2021-03-22 03:13:02 +08:00
Luis Fernando Molina 147202f6d9 Merge pull request #711 from pisukesoramame/develop
Contribution: My Superalgos Review
2021-03-21 11:15:25 -04:00
DougJCook d6b919dbc3 Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-03-21 08:38:30 -04:00
smidy13 cd17059000 Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-03-21 01:52:22 +00:00
smidy13 140c52d7d2 Merge branch 'master' of https://github.com/Superalgos/Superalgos into develop 2021-03-21 01:50:09 +00:00
Julian Molina 215885621a Merge pull request #709 from 9808us/develop
Crypto Ecosystem Reorganized
2021-03-20 19:24:18 +01:00
Julian Molina e582f0fa09 Merge pull request #710 from julian-molina/develop
Contribution: Basic Education Wrapping Up
2021-03-20 19:23:16 +01:00
Julian Molina 6c25401bd8 Tutorial ready 2021-03-20 19:21:57 +01:00
pisukesoramame 68c7b5999d My Superalgos Review 2021-03-20 18:59:41 +01:00
Julian Molina 96529afe92 Basic Education Wrapping Up 2021-03-20 18:13:17 +01:00
Julian Molina e721e92268 Merge pull request #707 from julian-molina/develop
Contribution: Basic Education - Data
2021-03-20 13:56:03 +01:00
Julian Molina 18ef3bdaf2 Minor fixes 2021-03-20 13:55:29 +01:00
9808us fa83d4b579 Crypto Ecosystem Reorganized 2021-03-20 13:17:04 +01:00
Julian Molina 7f27969f2b How About Strategies 2021-03-20 11:25:24 +01:00
Julian Molina ac704d002f More indicators 2021-03-20 10:42:56 +01:00
Luis Fernando Molina ead48b08b1 Merge pull request #708 from ndd91/develop
Contribution: My Superalgos Review
2021-03-19 15:43:48 -04:00
Julian Molina 71f32e750d Remove hardcoded autoplay from Youtube videos 2021-03-19 20:41:23 +01:00
Julian Molina 38e83f02e0 Building indicators 2021-03-19 20:26:09 +01:00
System Administrator 61d0b09b1a My Superalgos Review 2021-03-19 15:00:32 -04:00
Julian Molina 9e15617836 About Other Markets 2021-03-19 19:01:38 +01:00
Julian Molina f9cbabc706 Dealing With Data 2021-03-19 18:38:25 +01:00
Julian Molina d1c0835060 Basic Education - Data 2021-03-19 18:05:13 +01:00
Luis Fernando Molina 8048ddd076 Merge pull request #703 from 0xperez/develop
Translating the Welcome Tutorial - Page 50 to 56
2021-03-19 10:08:11 -04:00
Julian Molina e03ec36e3e Merge pull request #706 from julian-molina/develop
Contribution: Tested Exchanges Plugin Workspace
2021-03-19 13:16:14 +01:00
Julian Molina e131bd8293 Tested Exchanges Plugin Workspace 2021-03-19 13:15:35 +01:00
Julian Molina 335daa8830 Merge pull request #705 from julian-molina/develop
Contribution: Minor Docs fix
2021-03-19 12:52:57 +01:00
Julian Molina 9d72956865 Minor Docs fix 2021-03-19 12:52:47 +01:00
Julian Molina c6f51b5453 Merge pull request #704 from julian-molina/develop
Contribution: Organization of workspaces
2021-03-19 12:40:40 +01:00
Julian Molina e6304242ab Organization of workspaces 2021-03-19 12:39:05 +01:00
DougJCook 0d1a713183 Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-03-18 17:59:13 -04:00
Julian Molina 96c326cc85 Merge pull request #697 from julian-molina/develop
Contribution: Basic Education - Exchanges
2021-03-18 21:29:23 +01:00
Julian Molina 8257225381 Autoplay in YouTube videos 2021-03-18 21:27:37 +01:00
Luis Fernando Molina 3d3f602242 Merge pull request #702 from suttridge/develop
Contribution: Fixed small spelling and grammar mistakes.
2021-03-18 17:03:33 +01:00
Steve Langridge b08277d5da Fixed small spelling and grammar mistakes. 2021-03-18 17:29:07 +02:00
Steve Langridge c50088db2e Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-03-18 17:25:49 +02:00
Luis Fernando Molina c4af8dae12 Merge pull request #701 from Luis-Fernando-Molina/develop
Contribution: Docs page updated
2021-03-18 16:03:32 +01:00
Luis Fernando Molina 1593edc828 Docs page updated 2021-03-18 16:02:45 +01:00
Luis Fernando Molina d168ea1538 Merge pull request #694 from harrellbm/develop
Contribution: My Superalgos Review
2021-03-18 15:31:20 +01:00
Luis Fernando Molina faeeb398f0 Merge pull request #692 from suttridge/develop
Contribution: Fixed bug : null object value when targetNode.value is undefined, thus causing all trading to stop.
2021-03-18 15:27:29 +01:00
Luis Fernando Molina 6901d0f3c7 Merge pull request #700 from Smidy13/develop
Bug Fix: Telegram Announcement Formula and Condition Changes
2021-03-18 15:16:12 +01:00
Luis Fernando Molina 7c7f88f878 Update Announcements.js 2021-03-18 15:09:32 +01:00
Smidy13 d7a0dd6984 Bug Fix: Telegram Announcement Formula and Condition Changes 2021-03-19 01:36:42 +13:00
Julian Molina 44c40c960f Testing New Exchanges 2021-03-18 11:19:59 +01:00
Steve Langridge 6406975c6b Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-03-18 09:09:16 +02:00
Julian Molina 85ca464d1a Basic Education - Exchanges 2021-03-17 20:53:24 +01:00
Julian Molina d02503fc44 Merge pull request #696 from julian-molina/develop
Contribution: Reorganization of testing exchanges topics
2021-03-17 20:42:21 +01:00
Julian Molina 8fc5009140 Reorganization of testing exchanges topics 2021-03-17 20:40:15 +01:00
Julian Molina 7fe425bc3b Merge pull request #695 from julian-molina/develop
Contribution: Basic Education Tutorial
2021-03-17 20:00:18 +01:00
Julian Molina 0728668844 Improving a Plugin 2021-03-17 17:20:51 +01:00
Julian Molina 38aa11aba6 Starting From a Plugin 2021-03-17 16:43:14 +01:00
DougJCook 535a9bf5e0 Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-03-17 07:34:43 -04:00
Julian Molina 59b5b24026 Basic Education Tutorial 2021-03-17 12:06:37 +01:00
0xperez 5425f9d8e8 Translating the Welcome Tutorial - Page 50 to 56 2021-03-17 08:03:31 +01:00
Steve Langridge 801df1bcab Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-03-17 08:51:00 +02:00
Brenden Harrell 28f0b0bdd0 Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-03-16 22:10:02 -05:00
Brenden Harrell 396f523117 My Superalgos Review 2021-03-16 21:46:11 -05:00
Julian Molina 674d0e3888 Merge pull request #693 from julian-molina/develop
Contribution: Let's Talk Plugins
2021-03-16 21:22:49 +01:00
Julian Molina 27fb043f88 Placing Plugins 2021-03-16 21:22:08 +01:00
Julian Molina ebcc363202 Let's Talk Plugins 2021-03-16 18:53:14 +01:00
Julian Molina e8f245cf5c Merge pull request #690 from julian-molina/develop
Contribution: Basic Education Tutorial
2021-03-16 17:11:59 +01:00
Julian Molina 4a597252c0 User Examples book 2021-03-16 17:10:26 +01:00
Steve Langridge fedf02d35b Fixed bug : null object value when targetNode.value is undefined, thus causing all trading to stop. 2021-03-16 17:22:45 +02:00
Julian Molina 9af1255a4c The Current Workspace 2021-03-16 16:12:26 +01:00
Luis Fernando Molina dd3ce6b852 Merge pull request #691 from Luis-Fernando-Molina/develop
Contribution: TensorFlow definitions added to the Docs
2021-03-16 13:18:18 +01:00
Luis Fernando Molina 4f397ff76f TensorFlow definitions added to the Docs 2021-03-16 13:17:24 +01:00
Julian Molina 4eeec4cd7c Working with workspaces 2021-03-16 12:39:47 +01:00
Julian Molina f3906aee04 Basic Education Tutorial 2021-03-16 12:16:53 +01:00
Luis Fernando Molina af0f252242 Merge pull request #689 from Luis-Fernando-Molina/develop
Contribution: Refactoring Secuential for Sequential
2021-03-16 12:15:17 +01:00
Luis Fernando Molina 19150c9eb3 Refactoring Secuential for Sequential 2021-03-16 12:11:02 +01:00
DougJCook 273163deb8 Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-03-16 05:49:17 -04:00
Julian Molina 4ff20878b2 Merge pull request #688 from Basalt09/develop
Add files via upload
2021-03-16 10:33:12 +01:00
Basalt09 2eeb551323 Add files via upload 2021-03-16 17:30:53 +08:00
Julian Molina a81f81de9d Merge pull request #687 from Basalt09/develop
Develop
2021-03-16 10:27:04 +01:00
Basalt09 1a68e96906 Add files via upload 2021-03-16 17:04:30 +08:00
Basalt09 a6f367f8b7 Merge pull request #1 from Superalgos/develop
Develop
2021-03-16 17:03:11 +08:00
Julian Molina 32fb108ae3 Merge pull request #661 from julian-molina/develop
Contribution: Basic Education Tutorial
2021-03-16 09:38:23 +01:00
Julian Molina d03266a151 TensorFlow Icons SVG Folder 2021-03-16 09:37:15 +01:00
Julian Molina ab96894b35 Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-03-16 09:32:53 +01:00
Julian Molina aebd1b4f8f Merge pull request #686 from Basalt09/develop
Develop
2021-03-16 09:31:54 +01:00
Basalt09 bfda7c18e6 Add files via upload 2021-03-16 16:29:57 +08:00
Basalt09 9ecc5e9ebc Delete activation-function.png 2021-03-16 16:29:47 +08:00
Julian Molina 23aae0ee52 Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-03-16 09:05:32 +01:00
Julian Molina 6ca92929b0 Merge pull request #685 from Basalt09/develop
Add files via upload
2021-03-16 09:05:11 +01:00
cozed-gh 72f135d983 Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-03-16 08:58:37 +01:00
Basalt09 b04831b978 Add files via upload 2021-03-16 15:28:32 +08:00
DougJCook 25ef9e6813 Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-03-15 18:42:34 -04:00
Julian Molina 5dc20acfd9 What About Clones 2021-03-15 21:15:09 +01:00
Julian Molina cd9dfa91c4 Clones update 2021-03-15 21:07:17 +01:00
Julian Molina de73c98dd0 No Need to Memorize 2021-03-15 18:58:30 +01:00
Julian Molina fd89a55379 One Last Backup! 2021-03-15 18:22:59 +01:00
Julian Molina 4c686dcb0f Back It Up Again 2021-03-15 18:05:52 +01:00
Julian Molina 9ae2e7e53d This is my contribution to Superalgos 2021-03-15 17:47:58 +01:00
Julian Molina a5ebb29ba3 Back to Backups 2021-03-15 17:02:14 +01:00
Julian Molina 9db90a25b7 Backups page and illustrations revision 2021-03-15 16:52:16 +01:00
Luis Fernando Molina 0b12741bf9 Merge pull request #684 from Luis-Fernando-Molina/develop
Contribution: Index message improved.
2021-03-15 14:18:09 +01:00
Luis Fernando Molina 47a0601e78 Index message improved. 2021-03-15 14:17:49 +01:00
Julian Molina 36517c7940 One Last Point! 2021-03-15 13:04:14 +01:00
Julian Molina c731272afa Is It Done 2021-03-15 12:40:35 +01:00
Julian Molina 66d4644ae1 Let's Get On With It 2021-03-15 12:27:44 +01:00
Julian Molina 5d802f8bf1 Establishing References 2021-03-15 12:13:26 +01:00
Julian Molina 3c773d5f1e Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-03-15 11:50:36 +01:00
Julian Molina ce029e3720 Visualizing References 2021-03-15 11:48:59 +01:00
Luis Fernando Molina 51fe47c594 Merge pull request #677 from EdoFrenkel/develop
Add Github API location (In tutorial) and fix typo
2021-03-15 11:31:04 +01:00
Luis Fernando Molina 2935e1efae Merge pull request #678 from Sil3ntLight/master
Update welcome-to-superalgos-079-tutorial-step-lets-take-a-peek..json
2021-03-15 11:29:03 +01:00
Luis Fernando Molina 8b7cdbf13d Merge pull request #676 from whtv/develop
Update README
2021-03-15 11:08:01 +01:00
Julian Molina 07d8e8dce8 Dealing with References 2021-03-15 09:46:18 +01:00
Brenden Harrell 32f0602043 My Superalgos Review 2021-03-14 20:54:07 -05:00
Joren Miner 92c8c112fd Update welcome-to-superalgos-079-tutorial-step-lets-take-a-peek..json
Minor grammar fix for tutorial step in "Welcome to Superalgos" -> "Backtesting" -> "Trading system" -> "Let's Take a Peek".
2021-03-13 14:56:03 -07:00
Edo Frenkel 1d64272f80 Merge pull request #1 from EdoFrenkel/master
This is my contribution to Superalgos
2021-03-13 16:54:41 +02:00
DougJCook 93903d836d Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-03-13 05:45:12 -05:00
whtv 42b94fae44 Merge branch 'develop' of github.com:whtv/Superalgos into develop 2021-03-13 11:25:30 +01:00
whtv a7cd5732ec Update README.md 2021-03-13 11:21:34 +01:00
Luis Fernando Molina e8cd831a6c Merge pull request #675 from teehanming/develop
Contribution: This is my contribution to Superalgos
2021-03-13 11:03:27 +01:00
Luis Fernando Molina bf8a6ba8f1 Update index.html 2021-03-13 11:02:25 +01:00
teehanming 52840e70e6 This is my contribution to Superalgos 2021-03-13 13:11:10 +08:00
Edo Frenkel 6f4c2a2c84 This is my contribution to Superalgos 2021-03-13 02:03:50 +02:00
Julian Molina 29b3600124 Nodes' Attaching Rules 2021-03-12 22:09:02 +01:00
Julian Molina 192e5fabf3 Irrelevant Nodes 2021-03-12 20:02:52 +01:00
Julian Molina dfc5b658c4 Detaching and Attaching 2021-03-12 19:10:29 +01:00
DougJCook ec0be4eea0 Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-03-12 13:06:37 -05:00
Julian Molina ad6bbf4291 Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-03-12 18:44:25 +01:00
Luis Fernando Molina 221e3b7313 Merge pull request #673 from suttridge/develop
Contribution: Updated Luno exchange test status to now show live trading is possible.
2021-03-12 15:31:15 +01:00
Steve Langridge acdb16c8fc Updated Luno exchange test status to now show live trading is possible. 2021-03-12 14:00:28 +02:00
DougJCook 90815703a8 Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-03-12 06:19:35 -05:00
Julian Molina 173357baf3 Working With Versions 2021-03-12 12:06:55 +01:00
Julian Molina f3a0f03e6f Let's Talk Backups 2021-03-12 11:54:20 +01:00
Julian Molina 651aef5d12 Freeze 2021-03-12 11:14:31 +01:00
Julian Molina 3ef582c935 Shall We Improve This 2021-03-11 21:19:44 +01:00
Luis Fernando Molina 4059fae940 Merge pull request #672 from Luis-Fernando-Molina/develop
Contribution: detachUsingMouse implemented at Space Settings so that users don't detach by mistake nodes
2021-03-11 17:14:54 +01:00
Luis Fernando Molina b5819e7a14 detachUsingMouse implemented at Space Settings so that users don't detach by mistake nodes 2021-03-11 17:13:56 +01:00
Julian Molina f8879d90bb How About The Hierarchy 2021-03-11 17:02:36 +01:00
Julian Molina a7cfb24713 This is my contribution to Superalgos 2021-03-11 16:57:08 +01:00
Julian Molina f88ed660f9 Play With The Tape! 2021-03-11 16:35:00 +01:00
Luis Fernando Molina 83dc55a398 Merge pull request #671 from Luis-Fernando-Molina/develop
Contribution: CCXT updated to latest version 1.42.77
2021-03-11 16:17:50 +01:00
Luis Fernando Molina f7d93ed994 CCXT updated to latest version 1.42.77 2021-03-11 16:14:50 +01:00
Luis Fernando Molina 3fbf95be13 Merge pull request #670 from teehanming/develop
Contribution: Fixing URL & stuff in Docs
2021-03-11 16:07:46 +01:00
Luis Fernando Molina 935a37138f Merge pull request #669 from suttridge/develop
Contribution: Updated the Luno Test Status docs.
2021-03-11 16:06:55 +01:00
Luis Fernando Molina e33c7343cf Merge pull request #668 from 9808us/develop
Tested Exchanges added Bittrex CoinbasePro
2021-03-11 16:05:46 +01:00
Julian Molina 3b31a7933e Tutorial Step - Controlling Distances 2021-03-11 16:04:10 +01:00
Julian Molina 63196b5262 Free-range Nodes 2021-03-11 15:49:44 +01:00
teehanming da82f7a60b This is my contribution to Superalgos 2021-03-11 19:28:02 +08:00
Steve Langridge d25ec06aca Fixed small spelling and grammer mistakes in App Update Commands section. 2021-03-11 12:32:44 +02:00
Steve Langridge f79088d7aa Updated the Luno Test Status docs. 2021-03-11 12:07:37 +02:00
DougJCook 6497dfe881 Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-03-11 04:30:33 -05:00
9808us 1c76f03bf5 Tested Exchanges added Bittrex CoinbasePro 2021-03-11 10:06:39 +01:00
Julian Molina ea8b1daf39 Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-03-11 09:09:44 +01:00
Luis Fernando Molina bf55671492 Merge pull request #666 from teehanming/develop
Contribution: This is my contribution to Superalgos
2021-03-10 16:12:36 +01:00
teehanming 8b24c35739 This is my contribution to Superalgos 2021-03-10 22:50:54 +08:00
Luis Fernando Molina 733cd4a67a Merge pull request #665 from whtv/develop
Fix docs context menu in Firefox
2021-03-10 15:28:31 +01:00
whtv 25272cf615 Fix docs context menu in Firefox 2021-03-10 14:44:14 +01:00
Luis Fernando Molina b4862427ec Merge pull request #663 from Luis-Fernando-Molina/develop
Contribution: Webhooks Updated
2021-03-10 14:19:12 +01:00
Luis Fernando Molina af572261a9 All webhooks functionality checked, docs improved. 2021-03-10 14:17:37 +01:00
DougJCook 37234dbf1d Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-03-10 06:12:55 -05:00
Luis Fernando Molina 0f004a4d12 Merge pull request #662 from suttridge/develop
Contribution: Fixed small problem when doing fetchTrades for fetchOHLCVs where the fetching could get stuck on a previous day, and could not proceed to the next day.
2021-03-10 11:28:19 +01:00
Luis Fernando Molina 1b74ebe914 Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-03-10 11:25:23 +01:00
Luis Fernando Molina bbbdb43cdd Webhooks Updated 2021-03-10 11:24:36 +01:00
Steve Langridge c39260e194 Fixed small problem when doing fetchTrades for fetchOHLCVs where the fetching could get stuck on a previous day, and could not proceed to the next day. 2021-03-10 11:38:11 +02:00
Julian Molina 225d02eb63 Nodes Independence 2021-03-09 21:51:23 +01:00
Julian Molina 4c2ac7ffec 180 Degrees 2021-03-09 20:54:24 +01:00
Julian Molina de632bd38d Mary Go Round 2021-03-09 20:20:55 +01:00
Julian Molina 1c5670b6c1 Pinned Nodes Can't Dance 2021-03-09 20:05:16 +01:00
Julian Molina 05b3d08fc4 Pinned Nodes Can't Dance 2021-03-09 19:55:07 +01:00
Julian Molina ab42b60a4c Let's Start With the Menu 2021-03-09 19:39:51 +01:00
Julian Molina 9c994944ae This is my contribution to Superalgos 2021-03-09 19:23:08 +01:00
Julian Molina ec1afcb7d9 From the Ground Up 2021-03-09 18:36:12 +01:00
Julian Molina 64085bff34 Basic Education Tutorial 2021-03-09 18:04:01 +01:00
Luis Fernando Molina 303ad77a3c Merge pull request #660 from whtv/develop
Contribution: Fix italicization of every ‘This’ in the docs
2021-03-09 16:51:36 +01:00
whtv 9d105b3c32 Fix italicization of every ‘This’ in the docs 2021-03-09 16:38:49 +01:00
Julian Molina 9f42ffef74 Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-03-09 16:11:35 +01:00
Luis Fernando Molina 4e13517da6 Merge pull request #659 from cozed-gh/develop
Fixed code typos and added another page
2021-03-09 15:03:23 +01:00
cozed-gh aa1be3a78a Fixed code typos and added another page 2021-03-09 14:59:14 +01:00
Luis Fernando Molina e665574593 Merge pull request #658 from Luis-Fernando-Molina/develop
Contribution: CCXT Library updated to latest version: 1.42.67
2021-03-09 14:47:38 +01:00
Luis Fernando Molina ac43839d5d CCXT Library updated to latest version: 1.42.67 2021-03-09 14:44:46 +01:00
Luis Fernando Molina 5273acd2cd Merge pull request #657 from Luis-Fernando-Molina/develop
Contribution: Docs update on how stages are closed.
2021-03-09 14:36:00 +01:00
Luis Fernando Molina 653b222acd Docs update on how stages are closed. 2021-03-09 14:35:29 +01:00
Luis Fernando Molina e265d871c3 Merge pull request #655 from whtv/develop
Ignore dust in either asset
2021-03-09 14:33:46 +01:00
Luis Fernando Molina 535473b304 Merge pull request #656 from Luis-Fernando-Molina/develop
Contribution: Signal Providers apperaring again at Crypto Ecosystem.
2021-03-09 14:21:05 +01:00
Luis Fernando Molina eba0f5880d Signal Providers apperaring again at Crypto Ecosystem. 2021-03-09 14:18:02 +01:00
DougJCook 426fa476dc Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-03-09 06:40:07 -05:00
cozed-gh f0f9014700 Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-03-09 12:29:29 +01:00
Julian Molina 1710d4ba89 Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-03-09 12:28:15 +01:00
Luis Fernando Molina 37e20e5910 Merge pull request #654 from cozed-gh/develop
Started the User Examples
2021-03-09 12:26:34 +01:00
cozed-gh 27d2c35e78 Started the User Examples 2021-03-09 12:19:10 +01:00
cozed-gh b058b0eff2 Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-03-09 12:18:06 +01:00
cozed-gh 0805284d5a Started the "User Examples" docs 2021-03-09 12:13:46 +01:00
whtv 2c8a8d08d4 Merge branch 'develop' of github.com:whtv/Superalgos into develop 2021-03-09 11:49:57 +01:00
whtv 8750180c3d Ignore dust in either asset 2021-03-09 11:47:20 +01:00
whtv 3396f46433 Ignore dust in any asset 2021-03-09 11:25:37 +01:00
Julian Molina 6dcbe3ff9c Merge pull request #653 from 9808us/develop
Tested Exchange Kraken
2021-03-09 10:03:54 +01:00
9808us f44bb4e52f Updated Tested Exchanges 2021-03-09 09:35:58 +01:00
9808us df6b142292 Tested Exchange Kraken
Workspace Tested Exchange updated
2021-03-09 09:31:15 +01:00
cozed-gh aa0f66a53a Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-03-09 07:25:23 +01:00
Luis Fernando Molina e5d8e87777 Merge pull request #648 from Luis-Fernando-Molina/develop
Contribution: Integration of Tensor Flow: Plotting Predictions
2021-03-08 18:56:40 +01:00
Luis Fernando Molina cd7eb7b5eb final adjustments of plotting, panles, etc. 2021-03-08 18:56:16 +01:00
DougJCook 3d619a1637 Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-03-08 11:39:08 -05:00
Luis Fernando Molina 28afdac2f7 Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-03-08 15:39:29 +01:00
Luis Fernando Molina 2c5ef4d8cc Features and Labels at Learning Engine and Learning Mine 2021-03-08 15:39:12 +01:00
Luis Fernando Molina 3ace88042f Merge pull request #651 from 9808us/develop
Contribution: This is my contribution to Superalgos
2021-03-08 15:38:19 +01:00
9808us 9758b4cb4f This is my contribution to Superalgos 2021-03-08 14:50:27 +01:00
DougJCook f01dc02c09 Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-03-08 08:18:52 -05:00
Luis Fernando Molina 1aeb49f6a4 Some fixes 2021-03-08 13:29:36 +01:00
Julian Molina c32a70343e Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-03-08 13:16:29 +01:00
Julian Molina 227cdcd6df Merge pull request #650 from 9808us/develop
Contribution: This is my contribution to Superalgos
2021-03-08 13:16:12 +01:00
9808us 561de6ed1f This is my contribution to Superalgos 2021-03-08 13:07:13 +01:00
Julian Molina b224ed2f82 Merge pull request #649 from julian-molina/develop
Contribution: Cross-linking Crypto Exchange node page
2021-03-08 12:11:19 +01:00
Julian Molina f9fc0dad95 Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-03-08 12:10:35 +01:00
Julian Molina e185fe8a9b Cross-linking Crypto Exchange node page 2021-03-08 12:10:19 +01:00
Luis Fernando Molina c18b7fc3c6 Integration of Tensor Flow: Plotting Predictions 2021-03-08 12:09:17 +01:00
Luis Fernando Molina ac951074bb Merge pull request #647 from Luis-Fernando-Molina/develop
Contribution: Predictions showing up at Learning Engine.
2021-03-08 11:38:59 +01:00
Luis Fernando Molina 2828e5872c Predictions showing up at Learning Engine. 2021-03-08 11:37:50 +01:00
Luis Fernando Molina 7e6ae5db61 Merge pull request #646 from Luis-Fernando-Molina/develop
Contribution: Machine Learning: Saving Model Fixed, crating necesary folders before the file.
2021-03-08 09:47:53 +01:00
Luis Fernando Molina f22a679046 Machine Learning: Saving Model Fixed, crating necesary folders before the file. 2021-03-08 09:46:37 +01:00
Luis Fernando Molina 77c52824fb Merge pull request #645 from cozed-gh/develop
Data-Mine 'Omega'
2021-03-08 07:14:47 +01:00
Luis Fernando Molina 76c827023b Merge pull request #642 from 9808us/develop
Tested Exchanges Workspace
2021-03-08 07:13:49 +01:00
cozed-gh 901b31e05f Add files via upload 2021-03-08 00:48:20 +01:00
cozed-gh 41b3b7f64a Data-Mine 'Omega' 2021-03-08 00:44:14 +01:00
cozed-gh 1ab4856a6c Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-03-08 00:40:15 +01:00
cozed-gh dd7b200b6e Merge https://github.com/cozed-gh/Superalgos into develop 2021-03-08 00:15:55 +01:00
DougJCook 1383401850 Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-03-07 16:54:48 -05:00
Julian Molina bdc4610345 Merge pull request #644 from julian-molina/develop
Contribution: Binance Test Status
2021-03-07 19:58:51 +01:00
Julian Molina 8965f0589c Binance Test Status 2021-03-07 19:52:59 +01:00
Julian Molina 243fd308d2 Merge pull request #643 from julian-molina/develop
Contribution: Icons
2021-03-07 19:07:45 +01:00
Julian Molina 6997bf418d Icons 2021-03-07 19:06:49 +01:00
9808us 79bca213f8 Tested Exchange add Bitfinex Kucoin 2021-03-07 18:38:07 +01:00
9808us 637f4ac38c Tested Exchanges Workspace 2021-03-07 16:27:51 +01:00
Luis Fernando Molina 446b663913 Merge pull request #641 from suttridge/develop
Contribution: Added Luno exchange icon, and ZAR asset icon.
2021-03-07 11:09:28 +01:00
Steve Langridge 4de7eb6a54 Added Luno exchange icon, and ZAR asset icon. 2021-03-07 11:09:21 +02:00
Luis Fernando Molina 6f1457758e Merge pull request #640 from Luis-Fernando-Molina/develop
Contribution: Fixieng Docker Image PR
2021-03-07 09:19:21 +01:00
Luis Fernando Molina 82d2e76f7c Fixieng Docker Image PR 2021-03-07 09:18:45 +01:00
Luis Fernando Molina 5c8e19bcda Merge pull request #639 from Luis-Fernando-Molina/develop
Contribution: Fixieng Docker Image PR
2021-03-07 09:15:02 +01:00
Luis Fernando Molina 7a525861e0 Fixieng Docker Image PR 2021-03-07 09:12:09 +01:00
Luis Fernando Molina 5b44671a05 Merge pull request #636 from unfernandito/develop
feature github-action for docker build
2021-03-07 09:08:33 +01:00
Luis Fernando Molina 8b1b59650d Delete Masters-Lightning-Strike.json
I don't think you changed this file on purpose, it looks like it go auto-formatted
2021-03-07 09:01:11 +01:00
Luis Fernando Molina 7a82bbd082 Merge pull request #638 from Luis-Fernando-Molina/develop
Contribution: This is my contribution to Superalgos
2021-03-07 08:29:47 +01:00
Luis Fernando Molina de0e709634 This is my contribution to Superalgos 2021-03-07 08:28:35 +01:00
Luis Fernando e82ea3cf6d revert file 2021-03-07 00:15:11 -03:00
Luis Fernando 8ecd917e83 fix array 2021-03-07 00:11:33 -03:00
Luis Fernando 37b1e66ad6 workflow fix 2021-03-07 00:09:38 -03:00
Luis Fernando 87c4665a2f github action to develop 2021-03-07 00:08:52 -03:00
Luis Fernando 733d761967 added github actions 2021-03-07 00:08:00 -03:00
Luis Fernando 184b1f817a Merge branch 'master' into develop 2021-03-07 00:05:08 -03:00
Luis Fernando 7d4dc6fa87 Merge pull request #4 from Superalgos/develop
Develop
2021-03-07 00:01:30 -03:00
Luis Fernando ea01d0255f Merge pull request #3 from unfernandito/feature/github-action-docker
use repository from ENV
2021-03-06 23:49:38 -03:00
Luis Fernando c30873e6a1 update reamde 2021-03-06 23:49:19 -03:00
Luis Fernando 2de9b52c11 action only in master branch 2021-03-06 23:40:53 -03:00
Luis Fernando b2adf284a4 comment action 2021-03-06 23:31:50 -03:00
Luis Fernando 17191f7aa6 added docker.pkg.github.com 2021-03-06 23:27:05 -03:00
Luis Fernando b966b99619 fix name in repositoy 2021-03-06 23:22:23 -03:00
Luis Fernando d8ef45eb91 fix ident in yml 2021-03-06 23:19:54 -03:00
Luis Fernando 5115df023c added lowercase to repository name 2021-03-06 23:19:06 -03:00
Luis Fernando f8a816017a another rework over github action 2021-03-06 23:14:04 -03:00
Luis Fernando fb12c2d710 fix ident in yml 2021-03-06 23:07:54 -03:00
Luis Fernando dba3da5a64 rework over action 2021-03-06 23:06:27 -03:00
Luis Fernando c64acf3bb4 rework over action 2021-03-06 23:01:50 -03:00
Luis Fernando 36aabe4914 update actions to v2 2021-03-06 22:51:29 -03:00
Luis Fernando 7c314137d0 changes in reposity field 2021-03-06 22:47:31 -03:00
Luis Fernando 6c3416983a on every push new version 2021-03-06 22:44:49 -03:00
Luis Fernando 9f111b8359 use repository from ENV 2021-03-06 22:43:34 -03:00
Luis Fernando 07f35f1525 Merge pull request #2 from unfernandito/feature/docker
added Dockerfile and action
2021-03-06 22:40:07 -03:00
Luis Fernando 4d47610eed added Dockerfile and action 2021-03-06 22:33:49 -03:00
Luis Fernando 96f57d8555 Merge pull request #1 from Superalgos/master
SYnc
2021-03-06 22:06:39 -03:00
DougJCook 4babbf12e8 Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-03-06 19:30:11 -05:00
Luis Fernando Molina 80b79164cc Merge pull request #632 from Luis-Fernando-Molina/develop
Contribution: ABSOLUTE_DUST implementation to better control when stage should close.
2021-03-06 19:20:47 +01:00
Luis Fernando Molina 91d7af66e3 ABSOLUTE_DUST implementation to better control when stage should close. 2021-03-06 19:19:35 +01:00
Luis Fernando Molina 0d5776dad5 Merge pull request #629 from 9808us/develop
Fix Triangles on Low TF in chart
2021-03-06 18:23:06 +01:00
Julian Molina f947de9538 Merge pull request #630 from julian-molina/develop
Contribution: README Comments on Docs and Telefgram Groups
2021-03-06 18:21:55 +01:00
Julian Molina 458b3e2324 README Comments on Docs and Telefgram Groups 2021-03-06 18:16:38 +01:00
9808us 890053021b Fix Triangles on Low TF in chart
Deleted Supertrenhd Workspace
Updated Hello World Workspace with Fix
2021-03-06 15:14:14 +01:00
Luis Fernando Molina 123cbcea89 Merge pull request #628 from Luis-Fernando-Molina/develop
Contribution: ROUNDING_ERROR_CORRECTION_FACTOR now configurable
2021-03-06 14:24:00 +01:00
Luis Fernando Molina 5966d92669 Revert "FIX triangles for Quoted/Base Asset in chart"
This reverts commit 7353db6f92.
2021-03-06 14:17:22 +01:00
Luis Fernando Molina 52b7e12879 roundingErrorCorrectionFactor 2021-03-06 14:14:18 +01:00
DougJCook 1a5ddd81a4 Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-03-06 04:24:43 -05:00
Luis Fernando Molina 9ae10c343d Merge pull request #627 from Luis-Fernando-Molina/develop
Contribution: Capitalize Docker Folder
2021-03-06 08:39:50 +01:00
Luis Fernando Molina 32801004b9 Capitalize Docker Folder 2021-03-06 08:39:25 +01:00
Luis Fernando Molina 280d20ba61 Folerr renamed 2021-03-06 08:38:11 +01:00
Luis Fernando Molina 1fb06ac435 Merge pull request #626 from ssplatt/docker-subdir
move docker files to docker folder
2021-03-06 08:35:31 +01:00
ssplatt 23e2e69e5b move docker files to docker folder 2021-03-05 16:50:33 -05:00
Luis Fernando Molina c7e1a960f9 Merge pull request #624 from suttridge/develop
Contribution: Fixed mistake where maxTradesPerFetch was not being read from the exchange API settings.
2021-03-05 18:46:17 +01:00
Steve Langridge 02fee7ba8e Fixed mistake where maxTradesPerFetch was not being read from the exchange API settings. 2021-03-05 16:45:15 +02:00
Luis Fernando Molina fdacf0f091 Merge pull request #623 from ssplatt/add-docker
add dockerfile and compose config
2021-03-05 15:33:08 +01:00
Luis Fernando Molina 3c7c067e5e Merge pull request #622 from Luis-Fernando-Molina/develop
Contribution: docs page improved
2021-03-05 14:41:20 +01:00
Luis Fernando Molina 86bc47fc33 docs page improved 2021-03-05 14:40:40 +01:00
ssplatt 2b3cf77c41 add dockerfile and compose config 2021-03-05 08:39:46 -05:00
Luis Fernando Molina 039d545fd4 Merge pull request #621 from Luis-Fernando-Molina/develop
Contribution: Guide to Write your own Action Functions
2021-03-05 12:35:24 +01:00
Luis Fernando Molina e1e0c690dd Guide to Write your own Action Functions 2021-03-05 12:34:53 +01:00
DougJCook 23bf365a7b Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-03-05 06:28:04 -05:00
Luis Fernando Molina 56d24742a1 repaginated 2021-03-05 12:09:40 +01:00
Luis Fernando Molina a3b5249563 Merge pull request #617 from suttridge/develop
Contribution: Added support to Exchange-Raw-Data sensor bot for exchanges that can only use fetchTrades instead of fetchOHLCVs (for example Luno exchange)
2021-03-05 07:25:31 +01:00
Luis Fernando Molina 3dc6c229a0 Merge pull request #618 from 0xperez/develop
Translating the Welcome Tutorial - Page 38 to 49
2021-03-05 07:22:42 +01:00
Luis Fernando Molina dce53590e5 Merge pull request #620 from Luis-Fernando-Molina/develop
Contribution: New Icons for TensorFlow project added to App Schema
2021-03-05 07:21:35 +01:00
Luis Fernando Molina 0b15c42837 New Icons for TensorFlow project added to App Schema 2021-03-05 07:20:16 +01:00
0xperez d87a61a5f2 Translating the Welcome Tutorial - Page 38 to 49 2021-03-04 22:51:32 +01:00
Steve Langridge d072938546 Added support to Exchange-Raw-Data sensor bot for exchanges that can only use fetchTrades instead of fetchOHLCVs (for example Luno exchange) 2021-03-04 22:05:13 +02:00
Julian Molina d3ca6760da Merge pull request #615 from Basalt09/develop
Add files via upload
2021-03-04 16:38:53 +01:00
Julian Molina 4862a9dc6c Merge pull request #616 from julian-molina/develop
Contribution: This is my contribution to Superalgos
2021-03-04 16:38:23 +01:00
Julian Molina 3f49ac5f13 This is my contribution to Superalgos 2021-03-04 16:35:56 +01:00
Basalt09 efb9be7d8b Add files via upload 2021-03-04 22:41:32 +08:00
Luis Fernando Molina edd64705fe Merge pull request #610 from suttridge/develop
Contribution: Fixed bug when logging in getOHLCVs() and flat array was incorrectly being accessed as a JSON object.  Also a couple of spelling mistakes.
2021-03-04 12:10:52 +01:00
Steve Langridge ee7436c880 Historic OHLCVs now retrieved from point where it left off, instead of always from beginning of day. 2021-03-04 12:48:02 +02:00
Steve Langridge 897b91414f Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-03-04 12:45:17 +02:00
Luis Fernando Molina 26159d1848 Merge pull request #613 from 0xperez/develop
Translating the Welcome Tutorial - Page 26 to 37
2021-03-04 11:33:23 +01:00
Luis Fernando Molina d43e4167de Merge pull request #614 from Luis-Fernando-Molina/develop
Contribution: Token Concept Page
2021-03-04 11:32:35 +01:00
Luis Fernando Molina 10d9beb86a Token Concept Page 2021-03-04 11:31:18 +01:00
davide-perez 363b587f07 Translating the Welcome Tutorial - Page 26 to 37 2021-03-04 10:01:18 +01:00
Steve Langridge e3ac8d0b8f Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-03-04 10:16:01 +02:00
Luis Fernando Molina d8a8d33815 How to Automate Actions Part 1 2021-03-04 08:33:52 +01:00
Luis Fernando Molina 42c2beae66 Merge pull request #612 from 0xperez/develop
Translating the Welcome Tutorial - Page 15 to 25
2021-03-03 21:31:31 +01:00
davide-perez 9c24c5dc8b Translating the Welcome Tutorial - Page 15 to 25 2021-03-03 18:36:45 +01:00
Julian Molina d6bcc5b727 Merge pull request #611 from julian-molina/develop
Contribution: README Business notes
2021-03-03 16:47:51 +01:00
Julian Molina d9948a622c README Business notes 2021-03-03 16:45:37 +01:00
DougJCook f3f81f3a06 Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-03-03 06:20:15 -05:00
Luis Fernando Molina 75d0e5ec2b Merge pull request #608 from 0xperez/develop
Contribution: Started translating tutorial (Italian)
2021-03-03 10:07:01 +01:00
Steve Langridge 41b2a246c5 Fixed bug when logging in getOHLCVs() and flat array was incorrectly being accessed as a JSON object. Also a couple of spelling mistakes. 2021-03-03 10:28:21 +02:00
davide-perez 3cc580a29c Translating the Welcome Tutorial (Italian) 2021-03-02 22:42:45 +01:00
davide-perez aceae06205 Started translating tutorial (Italian) 2021-03-02 21:21:40 +01:00
Luis Fernando Molina 951067043a Merge pull request #607 from 0xperez/develop
Contribution: This is my contribution to Superalgos
2021-03-02 14:09:08 +01:00
davide-perez 39151ca0a7 This is my contribution to Superalgos 2021-03-01 20:20:46 +01:00
Luis Fernando Molina 4a5ce31889 Merge pull request #605 from 9808us/develop
FIX triangles for Quoted/Base Asset in chart
2021-03-01 15:58:55 +01:00
Luis Fernando Molina 331d275bd9 Merge pull request #604 from Luis-Fernando-Molina/develop
Contribution: Guide to debug sensor bbot updated
2021-03-01 15:43:53 +01:00
9808us 7353db6f92 FIX triangles for Quoted/Base Asset in chart
Removed Supertrend Workspace (I will update it and submit again)
Updated Hello World Tutorial
2021-03-01 15:40:50 +01:00
Luis Fernando Molina c2ef3f8ca9 Guide to debug sensor bbot updated 2021-03-01 15:40:00 +01:00
DougJCook 79f43bc017 Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-03-01 07:43:19 -05:00
Luis Fernando Molina cf5da45f97 Merge pull request #603 from Luis-Fernando-Molina/develop
Contribution: More on the guide to debug Sensor Bot
2021-03-01 12:59:01 +01:00
Luis Fernando Molina 801934e104 More on the guide to debug Sensor Bot 2021-03-01 12:58:36 +01:00
Luis Fernando Molina 5816bb3cef Merge pull request #602 from Luis-Fernando-Molina/develop
Contribution: Guide to help users debug Exchange Raw Data when their Favorite Exchange is not Working
2021-03-01 11:16:17 +01:00
Luis Fernando Molina 2e0483ae0d Guide to help users debug Exchange Raw Data when their Favorite Exchange is not Working 2021-03-01 11:15:01 +01:00
Luis Fernando Molina f0fe94ab92 Merge pull request #597 from Mhnramin/develop
Contribution: This is my contribution to Superalgos
2021-03-01 09:50:59 +01:00
Luis Fernando Molina e1d45b4752 Update welcome-to-superalgos-006-tutorial-step-remote-access.json 2021-03-01 09:48:50 +01:00
Luis Fernando Molina 2ad85783dd Update welcome-to-superalgos-005-tutorial-step-lets-go-for-a-ride.json 2021-03-01 09:48:07 +01:00
Luis Fernando Molina 6efc4a87c2 Update welcome-to-superalgos-004-tutorial-step-expand-that-node.json 2021-03-01 09:47:18 +01:00
Luis Fernando Molina 530dfd9deb Update welcome-to-superalgos-003-tutorial-step-thats-me-on-the-right.json 2021-03-01 09:46:10 +01:00
Luis Fernando Molina 7f83dcfd02 Update welcome-to-superalgos-002-tutorial-step-use-chrome-or-safari.json 2021-03-01 09:45:29 +01:00
Luis Fernando Molina a964758a36 Update welcome-to-superalgos-001-tutorial-welcome-to-superalgos.json 2021-03-01 09:43:33 +01:00
DougJCook d92cba5d5f Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-02-28 18:25:41 -05:00
Julian Molina 284988235f Merge pull request #600 from julian-molina/develop
Contribution: Debugging Your Indicator Touchups
2021-02-28 12:42:04 +01:00
Julian Molina 9fe4f89b54 Debugging Your Indicator Touchups 2021-02-28 12:40:52 +01:00
Julian Molina 868be459ee Merge pull request #599 from julian-molina/develop
Contribution: This is my contribution to Superalgos
2021-02-28 12:05:05 +01:00
Julian Molina 7ad3d7eac7 This is my contribution to Superalgos 2021-02-28 11:21:27 +01:00
Mhnramin 56884d0658 This is my contribution to Superalgos 2021-02-28 00:44:51 +08:00
Mhnramin 6968a1547f This is my contribution to Superalgos 2021-02-27 20:44:00 +08:00
Luis Fernando Molina 6feb21102a Merge pull request #596 from Luis-Fernando-Molina/develop
Contribution: This is my contribution to Superalgos
2021-02-26 17:38:49 +01:00
Luis Fernando Molina 4a43f5064e This is my contribution to Superalgos 2021-02-26 17:37:26 +01:00
Luis Fernando Molina 6d5c510832 Trading Farm Topic updated 2021-02-26 16:24:32 +01:00
Luis Fernando Molina 2c19351019 Merge pull request #595 from Luis-Fernando-Molina/develop
Contribution: Contributor added to the list
2021-02-26 12:46:49 +01:00
Luis Fernando Molina 34bf5be290 Contributor added to the list 2021-02-26 12:45:50 +01:00
Luis Fernando Molina d440451382 Merge pull request #594 from Luis-Fernando-Molina/develop
Contribution: Standarizing the new Topic
2021-02-26 12:29:33 +01:00
Luis Fernando Molina b5882a15f2 Standarizing the new Topic 2021-02-26 12:29:12 +01:00
Luis Fernando Molina 8ae0743138 Merge pull request #593 from 9808us/develop
Tutorial and Workspace Hello World
2021-02-26 12:16:35 +01:00
Luis Fernando Molina 934df54066 Merge pull request #592 from cozed-gh/develop
Contribution: Debugging your indicator
2021-02-26 12:12:43 +01:00
9808us 98072dc05e Tutorial and Workspace Hello World
Deleted old Workspace
2021-02-26 11:19:38 +01:00
cozed-gh 44b308ece5 Debugging your indicator 2021-02-26 11:15:44 +01:00
DougJCook 192e51fa4b Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-02-25 07:46:12 -05:00
Luis Fernando Molina c2c3f7d67f Merge pull request #591 from Luis-Fernando-Molina/develop
Contribution: Design Space Performance Improvement by removing unnecesary code
2021-02-25 11:48:24 +01:00
Luis Fernando Molina f703377989 Design Space Performance Improvement by removing unnecesary code 2021-02-25 11:47:08 +01:00
Luis Fernando Molina b4180723aa Merge pull request #590 from Luis-Fernando-Molina/develop
Contribution: Desig Space Performance Improvement by calculating node proximity only when needed.
2021-02-25 11:21:57 +01:00
Luis Fernando Molina d5ce013d23 Desig Space Performance Improvement by calculating node proximity only when needed. 2021-02-25 11:20:53 +01:00
Luis Fernando Molina 7d5071ba50 Merge pull request #589 from Luis-Fernando-Molina/develop
Contribution: Improvement: keyboard arrow keys can be used at any of the scales to replace mouse wheel
2021-02-25 09:34:15 +01:00
Luis Fernando Molina 463ac96bcb Improvement: keyboard arrow keys can be used at any of the scales to replace mouse wheel 2021-02-25 09:32:40 +01:00
Luis Fernando Molina 83c53eeff1 Merge pull request #588 from Luis-Fernando-Molina/develop
Contribution: Contributions Plotter implemented
2021-02-25 08:12:58 +01:00
Luis Fernando Molina 9a0f8db94c Update Masters.json 2021-02-25 08:10:37 +01:00
Luis Fernando Molina 6ec48a9273 Predictions File being written 2021-02-24 11:44:44 +01:00
Luis Fernando Molina 48361c8e89 Predictions Stored at Trading Engine 2021-02-23 18:36:39 +01:00
DougJCook 8036386160 This is my contribution to Superalgos 2021-02-23 07:22:50 -05:00
Julian Molina 5c467d3fb4 Merge pull request #586 from julian-molina/develop
Contribution: Docs Add Command syntax fix
2021-02-23 11:35:54 +01:00
Julian Molina f29ebcb567 Docs Add Command syntax fix 2021-02-23 11:35:32 +01:00
Luis Fernando Molina 3f48e3b5b0 Merge pull request #585 from Luis-Fernando-Molina/develop
Contribution: Model being trained, loaded and saved to disk.
2021-02-22 13:01:00 +01:00
Luis Fernando Molina 7d5a997272 Model being trained, loaded and saved to disk. 2021-02-22 12:58:40 +01:00
Luis Fernando Molina 7682f58e84 Merge pull request #584 from Luis-Fernando-Molina/develop
Contribution: Docs remembering last page when tab is closed
2021-02-22 10:24:14 +01:00
Luis Fernando Molina 9cd43d5ee5 Docs remembering last page when tab is closed 2021-02-22 10:22:55 +01:00
Luis Fernando Molina b8d6e7e7bc Merge pull request #583 from Luis-Fernando-Molina/develop
Contribution: Bug Fixed: nodes that do not want to get deleted
2021-02-22 08:08:40 +01:00
Luis Fernando Molina 278669b0a9 Bug Fixed: nodes that do not want to get deleted 2021-02-22 08:07:36 +01:00
Luis Fernando Molina a0f20c87c8 Merge pull request #582 from Luis-Fernando-Molina/develop
Contribution: Tutorial Initial Values updated
2021-02-22 07:31:00 +01:00
Luis Fernando Molina ec62859cf6 Tutorial Initial Values updated 2021-02-22 07:29:59 +01:00
Luis Fernando Molina c5b8193c32 Merge pull request #580 from Luis-Fernando-Molina/develop
Contribution: Update to .gitignore
2021-02-21 14:20:10 +01:00
Luis Fernando Molina f5ed463284 Update .gitignore 2021-02-21 14:18:33 +01:00
Luis Fernando Molina bbcd00d09c Merge pull request #579 from Mhnramin/develop
Contribution: This is my contribution to Superalgos
2021-02-21 14:10:49 +01:00
Luis Fernando Molina 96e5b4ac09 Delete superalgos-project-review-002-superalgos-review-indonesia-translation.json
This looks like just a test.
2021-02-21 14:07:09 +01:00
Luis Fernando Molina b2be80fe02 Merge pull request #566 from Noeljarillo/develop
Contribution: This is my contribution to Superalgos
2021-02-21 14:04:22 +01:00
Luis Fernando Molina f063f420bd Delete superalgos-project-review-004-superalgos-review-your-review-title.json
just a test
2021-02-21 14:01:28 +01:00
Luis Fernando Molina 3114aeb310 Delete superalgos-project-review-003-superalgos-review-test-review.json
just a test
2021-02-21 14:00:54 +01:00
Luis Fernando Molina 28e0913e73 Delete superalgos-project-review-002-superalgos-review-empezando.json
Just a test
2021-02-21 14:00:35 +01:00
Luis Fernando Molina ffb104432a Delete Superalgos.bat
This seems to be a .bat for your personal use
2021-02-21 13:58:46 +01:00
Mhnramin 233e31c946 This is my contribution to Superalgos 2021-02-21 17:55:22 +08:00
Mhnramin 0ba3abe7b9 This is my contribution to Superalgos 2021-02-21 06:47:34 +08:00
Mhnramin 367c21a9dc This is my contribution to Superalgos 2021-02-21 06:38:56 +08:00
Mhnramin fface4e14b This is my contribution to Superalgos 2021-02-21 05:27:36 +08:00
Julian Molina 3faae2385b Merge pull request #578 from julian-molina/develop
Contribution: Tutorials
2021-02-20 19:49:52 +01:00
Julian Molina fc94d06469 Done 2021-02-20 19:49:00 +01:00
Julian Molina 62e8fe8d98 Tutorials 2021-02-20 18:55:40 +01:00
Mhnramin 6b47fc8502 My Superalgos Review 2021-02-21 01:30:40 +08:00
Julian Molina e99ebfcef1 Merge pull request #577 from julian-molina/develop
Contribution: WHB and BBTB Fixed Key and Params
2021-02-20 17:29:27 +01:00
Julian Molina 7d4b256817 WHB and BBTB Fixed Key and Params 2021-02-20 17:28:51 +01:00
Julian Molina 8854c92d0e Merge pull request #576 from julian-molina/develop
Contribution: Reusable Snippets
2021-02-20 14:49:41 +01:00
Julian Molina 3b4cf43f86 Reusable Snippets 2021-02-20 14:49:34 +01:00
Julian Molina ce79f87032 Merge pull request #575 from julian-molina/develop
Contribution: How to contribute fix
2021-02-20 14:22:04 +01:00
Julian Molina f003720b2f How to contribute fix 2021-02-20 14:21:59 +01:00
Julian Molina 8d2f6e11d0 Merge pull request #574 from julian-molina/develop
Contribution: Languages
2021-02-20 13:59:08 +01:00
Julian Molina 5dee017e21 Done 2021-02-20 13:58:20 +01:00
Julian Molina d2ef380d34 How to Contribute Translations 2021-02-20 13:56:09 +01:00
Julian Molina 6bf5689585 Languages 2021-02-20 12:49:10 +01:00
Luis Fernando Molina 920bc22b13 Multiple Features and Labels 2021-02-20 12:16:56 +01:00
Julian Molina 38a7ba0346 Merge pull request #573 from julian-molina/develop
Contribution: How to Contribute to the Docs
2021-02-20 12:11:04 +01:00
Julian Molina 43816b1e91 Done 2021-02-20 12:10:48 +01:00
Luis Fernando Molina fd58d75dd2 fit Dataset with params from UI 2021-02-20 10:10:57 +01:00
Julian Molina 173a0fda5d How to Contribute to the Docs 2021-02-20 09:58:08 +01:00
Luis Fernando Molina 6180f79c56 training working 2021-02-20 08:44:36 +01:00
Luis Fernando Molina 10e693a59f Bug fixed with features and labels arrray 2021-02-20 08:33:10 +01:00
Julian Molina a6b199390c Merge pull request #572 from julian-molina/develop
Contribution: Docs Commands
2021-02-19 21:48:37 +01:00
Julian Molina faf6952a66 Done 2021-02-19 21:48:20 +01:00
Julian Molina e34d9f3fe7 Add 2021-02-19 21:17:05 +01:00
Julian Molina 4b2ee3d9a4 Docs Commands 2021-02-19 20:57:51 +01:00
Julian Molina 03940207d7 Merge pull request #571 from julian-molina/develop
Contribution: Docs Basics revision
2021-02-19 19:55:05 +01:00
Julian Molina 32e9025783 Done 2021-02-19 19:45:55 +01:00
Julian Molina 5e446f48ac Mid pages 2021-02-19 18:54:48 +01:00
Julian Molina fd0b6f0e5c This is my contribution to Superalgos 2021-02-19 18:17:03 +01:00
Julian Molina d977aaf66f Repagination 2021-02-19 17:49:55 +01:00
Julian Molina 8781496ff5 Docs Basics revision 2021-02-19 17:06:23 +01:00
Luis Fernando Molina 0491ce6ad8 Merge pull request #570 from Luis-Fernando-Molina/develop
Contribution: Machine Learning Implementation up to Features and Labels + Chinese and Bahasa languages added
2021-02-19 14:21:58 +01:00
Luis Fernando Molina 691f0a5001 Machine Learning Implementation up to Features and Labels + Chinese and Bahasa languages added 2021-02-19 14:16:56 +01:00
Luis Fernando Molina 715cb1a69a Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-02-19 13:59:42 +01:00
Julian Molina 427e05382a Merge pull request #569 from julian-molina/develop
Contribution: Flags CN ID
2021-02-19 12:17:05 +01:00
Julian Molina 91044c9be0 Flags CN ID 2021-02-19 12:16:15 +01:00
Julian Molina d9e1dba9e0 Merge pull request #568 from julian-molina/develop
Contribution: How to Contribute Icons
2021-02-19 11:46:37 +01:00
Julian Molina e630ff35cb How to Contribute Icons 2021-02-19 11:45:11 +01:00
Luis Fernando Molina a4050f6c8d features and labels calculated 2021-02-19 08:37:28 +01:00
Luis Fernando Molina a98aec38e0 Data Labels implemented 2021-02-18 17:45:40 +01:00
Luis Fernando Molina a9fd8b033b Merge pull request #567 from 9808us/develop
4 arrow icons Green and Red added
2021-02-18 16:52:45 +01:00
9808us 4acf35130c 4 arrow icons Green and Red added 2021-02-18 14:23:44 +01:00
Noeljarillo 643b18e3c5 This is my contribution to Superalgos 2021-02-17 22:00:18 +01:00
Noeljarillo 93f6e58845 My Superalgos Review 2021-02-17 21:35:12 +01:00
Julian Molina 5ecd9763ef Merge pull request #565 from julian-molina/develop
Contribution: Contributing to Superalgos
2021-02-17 21:21:46 +01:00
Julian Molina b6a22500b6 Icons 2021-02-17 21:20:46 +01:00
Julian Molina 04f6072fda Contributing to Superalgos 2021-02-17 20:33:59 +01:00
Luis Fernando Molina d0fb099c33 Model Compiling for the first time 2021-02-17 16:18:28 +01:00
Luis Fernando Molina 6f817933f2 Merge pull request #564 from 9808us/develop
Added 2 complete workspace with a Trading system ready to use
2021-02-17 11:48:42 +01:00
9808us 405c63d6d4 Two complete workspace with minimum indicators. Hello World is based on SMA cross. Supertrend is based on Supertrend indicator 2021-02-17 11:19:36 +01:00
9808us b2c3afd908 Merge remote-tracking branch 'upstream/develop' into develop 2021-02-17 11:14:58 +01:00
Luis Fernando Molina 6aa2ebd8fe adding config to all layer types 2021-02-17 09:48:38 +01:00
Luis Fernando Molina 7db1c6886a Layer succesfully added to model for first time 2021-02-17 09:08:32 +01:00
Luis Fernando Molina 76a6134185 Dense Layer Implemented 2021-02-16 18:47:32 +01:00
Luis Fernando Molina e58bc4d916 Execution Environment Implemented 2021-02-16 14:53:16 +01:00
Luis Fernando Molina 88e07e40de Installed Tensor Flow for Node.js 2021-02-16 12:56:04 +01:00
Luis Fernando Molina 7bbd42ea46 TensorFlow library initialized 2021-02-16 12:37:49 +01:00
Luis Fernando Molina 0da74ad323 Merge pull request #563 from Luis-Fernando-Molina/develop
Contribution: Bug Fixed, Task Server was not running
2021-02-14 15:06:57 +01:00
Luis Fernando Molina ff9aed7253 Bug Fixed, Task Server was not running 2021-02-14 15:06:05 +01:00
Luis Fernando Molina 4f2bfdebad Merge pull request #562 from Luis-Fernando-Molina/develop
Contribution: Activating the Docs Search Engine
2021-02-14 14:26:00 +01:00
Luis Fernando Molina e6fe6a25dc Activating the Docs Search Engine 2021-02-14 14:24:52 +01:00
Luis Fernando Molina 1e2696012c Merge pull request #561 from Luis-Fernando-Molina/develop
Contribution: TensorFlow project implementation (part 1)
2021-02-14 12:19:57 +01:00
Luis Fernando Molina d63e078339 quick fix 2021-02-14 12:10:03 +01:00
Luis Fernando Molina d7f7e20c96 Tensor Flow Project Implementation (Part I) 2021-02-14 12:00:03 +01:00
Luis Fernando Molina a056cfe3fd Features 2021-02-14 11:51:28 +01:00
Luis Fernando Molina bc4fd1b45e Dense Layer Arguments Implemented 2021-02-13 20:36:39 +01:00
Luis Fernando Molina e12bf14b57 Input Shape 2021-02-13 13:48:32 +01:00
Luis Fernando Molina ff908749d3 all layer types implemented 2021-02-13 13:24:30 +01:00
Luis Fernando Molina 798c04ae0c Up to 10 items per Node Menu 2021-02-13 11:52:30 +01:00
Luis Fernando Molina a6b29e221c Up to Functional and Sequential Models 2021-02-13 08:39:08 +01:00
Luis Fernando Molina ffcb64815f Types of Learning 2021-02-13 07:26:10 +01:00
Luis Fernando Molina dc121a2941 Environment Flags Implemented 2021-02-11 18:04:52 +01:00
Luis Fernando Molina 17c9c076c0 Backends Nodes implemented 2021-02-11 16:58:45 +01:00
Luis Fernando Molina 09e4d26ceb Starting TensorFlow integration 2021-02-11 15:25:48 +01:00
Julian Molina 436447e871 Merge pull request #560 from julian-molina/master
Contribution: Hot Fix Lightning Strike Trading System
2021-02-11 11:56:27 +01:00
Julian Molina 7beb7b4b4a Hot Fix Lightning Strike Trading System 2021-02-11 11:55:35 +01:00
Julian Molina 35ff70cd04 Merge branch 'master' of https://github.com/Superalgos/Superalgos 2021-02-11 11:31:11 +01:00
Luis Fernando Molina ad61c92758 Merge pull request #559 from Luis-Fernando-Molina/develop
Contribution: gitignore updated
2021-02-11 08:05:22 +01:00
Luis Fernando Molina 350f673fcd gitignore updated 2021-02-11 08:04:41 +01:00
Luis Fernando Molina 6b818b5e7b Merge branch 'master' into develop 2021-02-11 08:01:44 +01:00
Luis Fernando Molina 1679b2854e Merge pull request #557 from mane/master
Delete .DS_Store
2021-02-11 07:55:46 +01:00
Eddy 0fdc01c8b7 Delete .DS_Store
This is a hidden file created by MacOS which shouldn't be committed into git.
2021-02-10 22:12:13 +01:00
Luis Fernando Molina 2074a68040 Merge branch 'master' into develop 2021-02-10 20:05:15 +01:00
Luis Fernando Molina 22f0df4dcc Merge pull request #556 from CaptainJeff/patch-1
Update README.md
2021-02-10 20:03:52 +01:00
CaptainJeff 83086d811c Update README.md
Fixed typo
2021-02-10 13:54:27 -05:00
Julian Molina a276a88dbe Merge pull request #555 from julian-molina/develop
Contribution: Docs language selection
2021-02-10 17:14:49 +01:00
Julian Molina 5827a311c1 Remove language label 2021-02-10 17:13:54 +01:00
Julian Molina 987f0f8f94 Docs language selection 2021-02-10 17:10:56 +01:00
Luis Fernando Molina fa7c1d84d3 Merge pull request #554 from Luis-Fernando-Molina/develop
Contribution: Language flags
2021-02-10 14:51:03 +01:00
Luis Fernando Molina ba8f88d057 Language flags 2021-02-10 14:49:22 +01:00
Julian Molina b54eea813a Merge pull request #551 from julian-molina/develop
Contribution: Footer buttons and language
2021-02-10 13:29:36 +01:00
Julian Molina fc0b884a03 Language in title 2021-02-10 13:26:43 +01:00
Luis Fernando Molina f1d254a38f Merge pull request #553 from Luis-Fernando-Molina/develop
Contribution: Bug Fix with exchange name instead of exchange codeName being used at Cloud File
2021-02-10 13:02:27 +01:00
Luis Fernando Molina b8c7069da2 Bug Fix with exchange name instead of exchange codeName being used at Cloud File 2021-02-10 13:01:29 +01:00
Luis Fernando Molina fa700ffb46 Merge pull request #552 from Luis-Fernando-Molina/develop
Contribution: Readme updated with migration instructions for Beta 9
2021-02-10 12:05:16 +01:00
Luis Fernando Molina cb55e883af Readme updated with migration instructions for Beta 9 2021-02-10 12:02:54 +01:00
Julian Molina 3ce1cbf568 Footer buttons and language 2021-02-10 11:49:35 +01:00
Luis Fernando Molina bf352a70f7 Merge pull request #549 from Luis-Fernando-Molina/develop
Contribution: Machine Learning Implementation with Icons
2021-02-09 21:04:14 +01:00
Luis Fernando Molina 1fbc981d97 Machine Learning Implementation with Icons 2021-02-09 21:03:23 +01:00
Julian Molina f51190bcc5 Merge pull request #548 from julian-molina/develop
Contribution: Learning icons
2021-02-09 20:50:54 +01:00
Julian Molina cdad9bfd42 Learning icons 2021-02-09 20:48:43 +01:00
Luis Fernando Molina ca512712d2 Merge pull request #547 from Luis-Fernando-Molina/develop
Contribution: Machinge Learning Bot implementation (icons missing)
2021-02-09 15:18:58 +01:00
Luis Fernando Molina acd6d2fd77 Machinge Learning Bot implementation (icons missing) 2021-02-09 15:17:35 +01:00
Luis Fernando Molina efcf92c964 Update troubleshooting-001-how-to-troubleshoot-an-issue.json 2021-02-09 14:36:45 +01:00
Luis Fernando Molina 90da52abe7 Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-02-09 14:33:16 +01:00
Julian Molina 18f0bd2b44 Merge pull request #546 from julian-molina/develop
Contribution: Troubleshooting Guide
2021-02-09 14:15:51 +01:00
Julian Molina ffc6ee8c9d Troubleshooting Guide 2021-02-09 14:15:10 +01:00
Luis Fernando Molina 42b8225b5e Trading Algorithm Implementation 2021-02-09 13:17:00 +01:00
Luis Fernando Molina 16a1426414 Hot Fix : Bug with Binance US and Lighting Strike 2021-02-09 11:54:28 +01:00
Julian Molina af81aff87e Merge pull request #545 from julian-molina/develop
Contribution: Lightning Strike Binance US Fix
2021-02-09 11:21:19 +01:00
Julian Molina e45f5c072a Lightning Strike Binance US Fix 2021-02-09 11:19:09 +01:00
Luis Fernando Molina dc1024d1e6 Merge pull request #544 from Luis-Fernando-Molina/develop
Contribution: Learning Bot Layers checked.
2021-02-09 10:44:14 +01:00
Luis Fernando Molina f364321917 Values showing up at the Learning Engine 2021-02-09 10:41:54 +01:00
Luis Fernando Molina 7d4f7d2254 Learning Bot Running! 2021-02-09 08:52:24 +01:00
Luis Fernando Molina 5d634d70b0 Refactoring Bug Fixed 2021-02-09 08:37:49 +01:00
Luis Fernando Molina 2d0c95b170 Merge pull request #543 from Luis-Fernando-Molina/develop
Contribution: Bug Fixed, search engine never started.
2021-02-08 20:31:13 +01:00
Luis Fernando Molina d21292600e Bug Fixed, search engine never started. 2021-02-08 20:30:47 +01:00
Luis Fernando Molina d1a703d72b Learning Mine Simplified 2021-02-08 19:44:07 +01:00
Luis Fernando Molina d70422593d Fixing Implementation Bugs 2021-02-08 19:00:16 +01:00
Luis Fernando Molina 5ceb1a8265 Merge branch 'master' into develop 2021-02-08 17:52:08 +01:00
Luis Fernando Molina f8035d7df4 Merge pull request #542 from 64bittuning/master
Readme update for Raspberry Pi users
2021-02-08 17:47:53 +01:00
64bittuning 9196257ba1 Update README.md 2021-02-08 10:43:46 -05:00
64bittuning 38e3798003 Update README.md 2021-02-08 10:13:37 -05:00
64bittuning 8e7cace491 Update README.md 2021-02-08 09:37:41 -05:00
Luis Fernando Molina 4969926b11 Merge pull request #541 from Luis-Fernando-Molina/develop
Contribution: Learning Engine minimun structure
2021-02-08 15:00:17 +01:00
Luis Fernando Molina f64044c5b8 Learning Engine minimun structure 2021-02-08 14:58:56 +01:00
Luis Fernando Molina 9e436bcbd6 Merge pull request #540 from Luis-Fernando-Molina/develop
Contribution: readme changess
2021-02-08 13:43:33 +01:00
Luis Fernando Molina 9dd30174d0 readme changess 2021-02-08 13:42:57 +01:00
Luis Fernando Molina 654ca36ef7 Merge pull request #539 from Luis-Fernando-Molina/develop
Contribution: readme changess
2021-02-08 13:40:57 +01:00
Luis Fernando Molina 8e40828ffd readme changess 2021-02-08 13:40:32 +01:00
Luis Fernando Molina 1578df6ce3 Merge pull request #538 from Luis-Fernando-Molina/develop
Contribution: Episode Children Refactoring
2021-02-08 13:36:04 +01:00
Luis Fernando Molina 6194ec92dd enabling search engine 2021-02-08 13:35:50 +01:00
Luis Fernando Molina f14ff40fbf Massive Refactoring... Distance To Event -> Distance To Trading Event 2021-02-08 12:07:48 +01:00
Luis Fernando Molina 65c72adf81 Massive Refactoring... Episode Statistics -> Trading Episode Statistics 2021-02-08 11:37:38 +01:00
Luis Fernando Molina a829aa94c2 Massive Refactoring Episode Counters -> Trading Episode Conuters 2021-02-08 10:41:27 +01:00
Luis Fernando Molina 2ae755ac28 Merge pull request #537 from Luis-Fernando-Molina/develop
Contribution: This is my contribution to Superalgos
2021-02-08 09:53:14 +01:00
Luis Fernando Molina 1a083ecc53 This is my contribution to Superalgos 2021-02-08 09:52:41 +01:00
Julian Molina 2d2eb1859e Merge pull request #536 from julian-molina/develop
Contribution: Trading System Design Tutorials final
2021-02-07 20:43:48 +01:00
Julian Molina 7849a17789 Trading System Design Tutorials final 2021-02-07 20:42:59 +01:00
Luis Fernando Molina 03aaa89462 Merge pull request #535 from Luis-Fernando-Molina/develop
Massive Refactorings
2021-02-07 18:59:03 +01:00
Luis Fernando Molina 1bedd0955a Update Masters.json 2021-02-07 18:58:30 +01:00
Luis Fernando Molina e2b94d520a image name corrected 2021-02-07 18:56:46 +01:00
Luis Fernando Molina b76ed95b64 Re Refactored Workspace with Tutorials 2021-02-07 18:48:17 +01:00
Luis Fernando Molina 6048eb8aaa Merge remote-tracking branch 'upstream/develop' into develop 2021-02-07 18:41:56 +01:00
Luis Fernando Molina a1d5a34bba Backups 2021-02-07 18:41:40 +01:00
Luis Fernando Molina 2ae512f3e8 Merge pull request #534 from julian-molina/develop
Contribution: TSD tutorial 4
2021-02-07 17:48:00 +01:00
Julian Molina ebd59d5831 TSD tutorial 4 2021-02-07 17:46:26 +01:00
Luis Fernando Molina c75fc91211 Massive Refactoring of Episode for Trading Episode done 2021-02-07 17:39:36 +01:00
Luis Fernando Molina 92f6f4f303 Refactoring Last for Trading Last 2021-02-07 16:52:53 +01:00
Luis Fernando Molina b9ff1ecd47 Massive Refactoring of Current for Trading Current 2021-02-07 16:38:38 +01:00
Luis Fernando Molina 575546ceea Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-02-07 16:04:02 +01:00
Julian Molina a20e7df6fa Merge pull request #533 from julian-molina/develop
Contribution: TSD tutorials and Welcome fix
2021-02-07 14:01:03 +01:00
Julian Molina 012abfa784 TSD tutorials and Welcome fix 2021-02-07 14:00:17 +01:00
Luis Fernando Molina 500726ed1d Update StatusReport.js 2021-02-07 12:56:38 +01:00
Luis Fernando Molina 4d38e06633 Learning Session Running 2021-02-07 12:48:50 +01:00
Luis Fernando Molina 6f96be5934 Learning Plugins Implemented 2021-02-07 11:25:12 +01:00
Luis Fernando Molina 6cd1d9d47f Learning Time Machines Implemented 2021-02-07 10:15:42 +01:00
Luis Fernando Molina e8a3cdceea Learning Tasks with their sessions being created 2021-02-07 09:22:50 +01:00
Julian Molina 01a8e85271 Welcome tutorial - strategy change to level 4 2021-02-06 18:49:49 +01:00
Julian Molina 50fde03087 Error messages fixes 2021-02-06 18:48:27 +01:00
Luis Fernando Molina fb775c5bfd Merge pull request #532 from Luis-Fernando-Molina/develop
Contribution: Bug Fixed: When filters dont include Candles as Data Dependencies
2021-02-06 10:08:29 +01:00
Luis Fernando Molina 3cba3daad8 Bug Fixed: When filters dont include Candles as Data Dependencies 2021-02-06 10:07:09 +01:00
Luis Fernando Molina e7c16ae6e8 Merge pull request #531 from Luis-Fernando-Molina/develop
Contribution: Bug Fixed with getPercentage at Bollinger Bands
2021-02-06 09:36:28 +01:00
Luis Fernando Molina 0d4a46dd44 Bug Fixed with getPercentage at Bollinger Bands 2021-02-06 09:34:48 +01:00
Luis Fernando Molina 731b28a6fa Merge pull request #530 from Luis-Fernando-Molina/develop
Contribution: Possible Bug Fix, tutorial loaded while Indexing Docs Seach Engine, without content.
2021-02-06 09:13:11 +01:00
Luis Fernando Molina ce6ca0b1ac Possible Bug Fix, tutorial loaded while Indexing Docs Seach Engine, without content. 2021-02-06 09:12:20 +01:00
Luis Fernando Molina 1acd66d6cd Update SearchEngine.js 2021-02-05 19:21:54 +01:00
Luis Fernando Molina d13667e414 Merge pull request #529 from Luis-Fernando-Molina/develop
Contribution: Enabling Search Engine
2021-02-05 19:15:23 +01:00
Luis Fernando Molina 7a6b10fc32 Enabling Search Engine 2021-02-05 19:15:04 +01:00
Luis Fernando Molina 5428718042 Merge pull request #528 from Luis-Fernando-Molina/develop
Contribution: Moving Towards Enabling a Learning Bot
2021-02-05 19:13:25 +01:00
Luis Fernando Molina 2b7ad6e3e3 Moving Towards Enabling a Learning Bot 2021-02-05 19:12:14 +01:00
Luis Fernando Molina 7ab832313d Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-02-05 17:54:47 +01:00
Julian Molina 93d1e1d3c8 Merge pull request #527 from julian-molina/develop
Contribution: Welcome tutorial fix, fourth level
2021-02-05 17:48:26 +01:00
Julian Molina acbd7b113f Welcome tutorial fix, fourth level 2021-02-05 17:47:18 +01:00
Luis Fernando Molina 5cdc8a1e46 Update README.md 2021-02-05 14:48:55 +01:00
Luis Fernando Molina ee72bfb807 Update README.md 2021-02-05 14:39:01 +01:00
Luis Fernando Molina ce488f074f Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-02-05 14:38:29 +01:00
Julian Molina 6a861682ce Merge pull request #526 from julian-molina/develop
Contribution: Readme after docs site takedown
2021-02-05 14:33:54 +01:00
Julian Molina aa5bf3b6c6 Readme after docs site takedown 2021-02-05 14:33:37 +01:00
Julian Molina 043fba0aa9 Merge pull request #525 from julian-molina/develop
Contribution: Readme after docs site takedown
2021-02-05 14:28:49 +01:00
Julian Molina 5c5ef68677 Readme after docs site takedown 2021-02-05 14:28:08 +01:00
Luis Fernando Molina 10698a49a7 Output Management Functions Implemented plus bug fixes 2021-02-05 12:02:22 +01:00
Luis Fernando Molina 12702289b0 Final Generalization 2021-02-04 17:17:32 +01:00
Luis Fernando Molina 578c31226a Finish generaliztion 2021-02-04 17:10:52 +01:00
Luis Fernando Molina 0444f1fb12 Removing Trading / Generalizing 2021-02-04 16:52:23 +01:00
Luis Fernando Molina 7c5090a032 Readme clarification 2021-02-04 16:44:47 +01:00
Luis Fernando Molina 76e97e38e1 Process Files Functions Implemented 2021-02-04 16:39:07 +01:00
Luis Fernando Molina 124e71d40c Bug Fixed, working again 2021-02-04 16:02:34 +01:00
Luis Fernando Molina 6521befc27 Data Dependency Functions Implementation 2021-02-04 14:48:28 +01:00
Luis Fernando Molina bc9ece59d3 Moving function to utilities 2021-02-04 13:52:31 +01:00
Luis Fernando Molina 089281344e Trading Process converted into a Stateless object 2021-02-04 13:42:23 +01:00
Luis Fernando Molina 4a8cb84f8c Simplifying step 1 2021-02-04 13:33:46 +01:00
Luis Fernando Molina e88df65f68 Merge pull request #524 from Luis-Fernando-Molina/develop
Contribution: Radme Title changed
2021-02-03 17:18:55 +01:00
Luis Fernando Molina c236b3887b Radme Title changed 2021-02-03 17:11:21 +01:00
Luis Fernando Molina ad7b2bbb87 Merge pull request #523 from Luis-Fernando-Molina/develop
Contribution: Beta 9 Fully Implemented
2021-02-03 13:09:07 +01:00
Luis Fernando Molina 44947c76bc Deppscan corrections 2021-02-03 13:08:16 +01:00
Luis Fernando Molina 86f67df3be Beta 9 Fully Implemented 2021-02-03 13:03:16 +01:00
Luis Fernando Molina 74b2ef40f8 Documentation ready 2021-02-03 12:48:12 +01:00
Luis Fernando Molina bc0ccd019c Final Bug Fixes 2021-02-03 11:40:05 +01:00
Luis Fernando Molina 3f78190575 bug fixed 2021-02-03 10:55:48 +01:00
Luis Fernando Molina d763639cb6 All code implemented for supporting new data sructures 2021-02-03 09:47:26 +01:00
Luis Fernando Molina 57ecc91039 Update README.md 2021-02-02 19:02:34 +01:00
Luis Fernando Molina 85211ab486 Bug Fixed, almost all debuged 2021-02-02 18:44:15 +01:00
Luis Fernando Molina 2789487ae2 Bug Fixes at Trading Process 2021-02-02 18:08:09 +01:00
Luis Fernando Molina d524e237a4 Dataset.js fully debugged 2021-02-02 17:32:27 +01:00
Luis Fernando Molina 5fbb451d33 UI implementation debugged 2021-02-02 15:32:26 +01:00
Luis Fernando Molina 463f8e0cda Using the Exchange codeName instead of the Exchange name as folder name and in keys 2021-02-02 15:08:52 +01:00
Luis Fernando Molina 604b1fbb0d Bug fixed on filters at the UI 2021-02-02 14:50:31 +01:00
Luis Fernando Molina 0341fe8ecc Bug fixed seting up filders at the UI 2021-02-02 14:39:12 +01:00
Luis Fernando Molina 2eb96dc048 Implementation finished, chart, market and exchange data structures available to conditions and formulas. 2021-02-02 13:25:42 +01:00
Luis Fernando Molina b18fc0335a Upto loading the right files implemented 2021-02-02 11:22:45 +01:00
Luis Fernando Molina 74e80cb43c Data Dependencies and Dataset implementation done 2021-02-02 11:19:15 +01:00
Luis Fernando Molina f630ecf212 Function to find the networkNode for a Dataset reimplemented 2021-02-02 09:50:36 +01:00
Luis Fernando Molina ea092fa6e5 Dependency Filer at the UI expanded to include the market and exchange data structures 2021-02-01 16:06:56 +01:00
Luis Fernando Molina 4432244041 Curated Node Array Refactoring 2021-02-01 15:17:23 +01:00
9808us c3db652d3d Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-02-01 15:03:38 +01:00
Luis Fernando Molina 56ca80ab92 Removing ; 2021-02-01 13:53:41 +01:00
Luis Fernando Molina f42a46dc48 Improving Code Comments 2021-02-01 13:50:46 +01:00
Luis Fernando Molina ab9cc4afdf Support at the Dependency Filert for market and exchange data structures 2021-02-01 11:32:56 +01:00
Luis Fernando Molina b526ee8d2f Dependency Filter Upgraded 2021-02-01 10:57:46 +01:00
Luis Fernando Molina 240d549fc7 Dependency Fileter Refactoring 2021-02-01 09:41:15 +01:00
Luis Fernando Molina bc5fa505d8 Merge pull request #522 from Luis-Fernando-Molina/develop
Contribution: Technical Debt Note at Client
2021-02-01 09:25:16 +01:00
Luis Fernando Molina d5f936a4b9 Technical Debt Note at Client 2021-02-01 09:23:59 +01:00
Luis Fernando Molina c736bdee86 Merge pull request #521 from Superalgos/develop
Beta 8 SP 4 Hotfix 1
2021-01-31 18:11:31 +01:00
Luis Fernando Molina 6a8e58f461 Merge pull request #520 from Luis-Fernando-Molina/develop
Contribution: Bug Fixed: Images plotting on Design Space while they are supposed live at the Charting Space
2021-01-31 18:03:46 +01:00
Luis Fernando Molina 465cecb729 Bug Fixed: Texts also appearing over the Design Space instead of the Charting Space 2021-01-31 18:01:57 +01:00
Luis Fernando Molina a5634aa38e Bug Fixed: Images plotting on Design Space while they are supposed live at the Charting Space 2021-01-31 17:50:51 +01:00
Luis Fernando Molina c200b94b1a Merge pull request #519 from Superalgos/develop
Beta 8 SP 4
2021-01-31 12:45:09 +01:00
Luis Fernando Molina 31bf60fae2 Merge pull request #517 from Luis-Fernando-Molina/develop
Contribution: Improvement at Info Page
2021-01-31 12:38:24 +01:00
Julian Molina 5a8663c434 Merge pull request #518 from julian-molina/develop
Contribution: README Incentives
2021-01-31 12:37:58 +01:00
Julian Molina 466d1de1b8 README Incentives 2021-01-31 12:37:34 +01:00
Luis Fernando Molina 7fb25a639f Improvement at Info Page 2021-01-31 12:36:59 +01:00
Luis Fernando Molina 5b7d7d2689 Merge pull request #516 from Luis-Fernando-Molina/develop
Contribution: Improvement on Errors, Warnings and Infor Plotting over the charts, to be time-frame independent.
2021-01-31 11:51:35 +01:00
Luis Fernando Molina 9d22f4c0f8 Improvement on Errors, Warnings and Infor Plotting over the charts, to be time-frame independent. 2021-01-31 11:50:45 +01:00
Julian Molina 8344845884 Merge pull request #515 from julian-molina/develop
Contribution: README GIF Capture
2021-01-31 10:41:18 +01:00
Julian Molina 336613008b README GIF Capture 2021-01-31 10:40:58 +01:00
Julian Molina baca5e8e17 Merge pull request #514 from julian-molina/develop
Contribution: Index page credits
2021-01-31 09:40:53 +01:00
Julian Molina 0b4457b5ad Index page credits 2021-01-31 09:40:32 +01:00
Julian Molina a410020275 Revert "Masters trading mine plus index page"
This reverts commit c15b24260b.
2021-01-31 09:38:08 +01:00
Julian Molina c15b24260b Masters trading mine plus index page 2021-01-30 23:00:07 +01:00
Julian Molina 7b13217786 Merge branch 'master' of https://github.com/Superalgos/Superalgos 2021-01-30 10:18:44 +01:00
Luis Fernando Molina 3bdd1ea81d Merge pull request #512 from Superalgos/develop
Beta 8 SP 3
2021-01-30 09:38:12 +01:00
Luis Fernando Molina 57d1303de7 Merge pull request #511 from Luis-Fernando-Molina/develop
Contribution: Bug Fixed: Highlights Displaced
2021-01-30 08:09:03 +01:00
Luis Fernando Molina 48f1e09f8a Bug Fixed: Highlights Displaced 2021-01-30 08:08:07 +01:00
Julian Molina cb54e70f3a Merge pull request #510 from julian-molina/develop
Contribution: Error fixes
2021-01-29 22:18:53 +01:00
Julian Molina 4fb9f36a38 Error fixes 2021-01-29 22:18:12 +01:00
Julian Molina 9b678ba765 Merge pull request #509 from julian-molina/develop
Contribution: Warning fixes
2021-01-29 22:07:45 +01:00
Julian Molina 06b1f7d004 Warning fixes 2021-01-29 22:07:18 +01:00
Julian Molina 8543a326cd Merge pull request #503 from julian-molina/develop
Contribution: TS LF Trading Bot Errors
2021-01-29 21:59:42 +01:00
Julian Molina 45457a3daa Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-01-29 21:54:49 +01:00
Julian Molina 9d6611b0ab Common language 2021-01-29 21:54:15 +01:00
Julian Molina 42c2bb59ca Execution Error 2021-01-29 21:46:18 +01:00
Julian Molina 9cb503a9a6 Get Order Unexpected Error 2021-01-29 21:31:14 +01:00
Julian Molina 25ae17e174 Annoucement Condition Evaluation Error 2021-01-29 20:54:56 +01:00
Luis Fernando Molina c9dd5c0e62 Merge pull request #508 from Luis-Fernando-Molina/develop
Contribution: SHARE button at the footer of the Docs to share a link to an specific page
2021-01-29 20:41:15 +01:00
Luis Fernando Molina 7282f6995d SHARE button at the footer of the Docs to share a link to an specific page 2021-01-29 20:40:20 +01:00
Luis Fernando Molina df5401d7c1 Merge pull request #507 from Luis-Fernando-Molina/develop
Contribution: Bug Fixed, Youtube videos at the Docs not working.
2021-01-29 20:10:05 +01:00
Luis Fernando Molina bc25929722 Bug Fixed, Youtube videos at the Docs not working. 2021-01-29 20:09:09 +01:00
Julian Molina 39cd118770 Percentage Of Algorithm Size Property Not A Number 2021-01-29 19:33:42 +01:00
Julian Molina e7ac5964ba Rate Value Zero Or Negative 2021-01-29 19:04:33 +01:00
Julian Molina 12555cc5e3 Rate Value Undefined 2021-01-29 19:00:24 +01:00
Julian Molina 63e5091250 Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-01-29 18:46:36 +01:00
Luis Fernando Molina 1f1111b6b4 Merge pull request #506 from Luis-Fernando-Molina/develop
Contribution: Switch between Trading Sessions
2021-01-29 18:32:33 +01:00
Luis Fernando Molina c1cddc6883 Switch between Trading Sessions 2021-01-29 18:30:12 +01:00
Julian Molina 0f43cdb98d This is my contribution to Superalgos 2021-01-29 18:25:51 +01:00
Julian Molina 8b41e13c76 Target Size Value Zero 2021-01-29 18:06:31 +01:00
Julian Molina 2cb0c1dc15 Missing node errors 2021-01-29 17:52:05 +01:00
Julian Molina 3412512e7d Initial Targets Node Missing 2021-01-29 17:42:59 +01:00
Luis Fernando Molina eb03a3ca36 Merge pull request #505 from Luis-Fernando-Molina/develop
Contribution: Bug Fixed Candle Panel Not Showing it's content.
2021-01-29 16:34:45 +01:00
Luis Fernando Molina faff4a1b3a Bug Fixed Candle Panel Not Showing it's content. 2021-01-29 16:30:13 +01:00
Julian Molina ffb5feb152 Formula Value Not A Number 2021-01-29 14:26:55 +01:00
Luis Fernando Molina e060f84a6a Merge pull request #504 from Luis-Fernando-Molina/develop
Contribution: docs.reindex command improved, more responsive UI while reindexing
2021-01-29 14:26:55 +01:00
Luis Fernando Molina ef251bee80 docs.reindex command improved, more responsive UI while reindexing 2021-01-29 14:25:43 +01:00
Julian Molina 858a1b4ba4 TS LF Trading Bot Errors 2021-01-29 14:15:15 +01:00
Julian Molina b9f23bf9cc Merge pull request #500 from julian-molina/develop
Contribution: TS LF Trading Bot Warnings
2021-01-29 14:00:33 +01:00
Julian Molina f7eb5917cf Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-01-29 13:59:49 +01:00
Julian Molina c1690755f0 Replacing context paragraph 2021-01-29 13:59:32 +01:00
Luis Fernando Molina 4c533892db Merge pull request #502 from Luis-Fernando-Molina/develop
Contribution: Search Results Page Improved
2021-01-29 13:50:51 +01:00
Luis Fernando Molina 4369fd78ed Search Results Page Improved 2021-01-29 13:49:59 +01:00
Julian Molina 563432e6a2 Simulating - Actual Rate Too Low 2021-01-29 13:49:52 +01:00
Julian Molina 3cb0bc55df Simulating - Actual Rate Too Hight 2021-01-29 13:45:36 +01:00
Julian Molina c0578ffa8a Simulating - Actual Rate Based On Formula 2021-01-29 13:36:38 +01:00
Julian Molina 8984f1f95e Simulating - Slippage Added 2021-01-29 13:30:38 +01:00
Julian Molina e66ff1dbcf Simulating - Slippage Substracted 2021-01-29 13:27:05 +01:00
Julian Molina cf73442eca This is my contribution to Superalgos 2021-01-29 13:21:38 +01:00
Julian Molina 4083f7803e Calculating - Size Placed Recalculated 2021-01-29 13:19:47 +01:00
Julian Molina 2efd8e112e Calculating - Actual Size Recalculated 2021-01-29 13:17:24 +01:00
Julian Molina 00c5c6ab24 Order Status Not Sync With Exchange 2021-01-29 13:11:48 +01:00
Luis Fernando Molina dbe51ccead Merge pull request #501 from Luis-Fernando-Molina/develop
Contribution: Info Messages Handling improved and integrated with the Docs
2021-01-29 13:03:03 +01:00
Luis Fernando Molina 355a77029e Info Messages Handling improved and integrated with the Docs 2021-01-29 13:01:28 +01:00
Julian Molina 68523a2acd Possible Negative Balance 2021-01-29 12:56:56 +01:00
Julian Molina d35efd085e Order Size Shrinked 2021-01-29 11:45:10 +01:00
Julian Molina b74f495f45 Order Could Not Be Opened 2021-01-29 11:31:41 +01:00
Julian Molina 95e1d3b632 Order Size Value Zero Or Negative 2021-01-29 11:25:04 +01:00
Julian Molina 300628097b TS LF Trading Bot Warnings 2021-01-29 11:12:49 +01:00
Julian Molina 4aaf832c7a Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-01-29 10:40:01 +01:00
Luis Fernando Molina 6b8044ea24 Merge pull request #498 from Luis-Fernando-Molina/develop
Contribution: Warning Handling Improved at the LF Trading Engine
2021-01-29 10:11:39 +01:00
Luis Fernando Molina 86ba3bcfbe Warnings plotted, completely integrated with the docs 2021-01-29 10:10:31 +01:00
Julian Molina 91d0c98f6d Merge pull request #499 from julian-molina/develop
Contribution: Time Frame Node
2021-01-28 22:03:08 +01:00
Julian Molina 3d178945f2 Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-01-28 22:01:13 +01:00
Julian Molina 5a9ec3e4e1 Time Frame Node 2021-01-28 22:00:57 +01:00
Luis Fernando Molina fce5866da8 Trading Data Mine upgraded to plot muktple warnings 2021-01-28 19:44:45 +01:00
Luis Fernando Molina b124192512 Rest of the Warnings Documented 2021-01-28 13:12:46 +01:00
Luis Fernando Molina 6d7a0c7bd2 Orders Calculations and Orders Simulations Warning UX Improved 2021-01-28 10:29:00 +01:00
Luis Fernando Molina 2e9f809f37 Warning Handling Improved at the LF Trading Engine 2021-01-28 10:04:40 +01:00
Luis Fernando Molina 9ef6a2bf1a Merge pull request #495 from Luis-Fernando-Molina/develop
Contribution: Improvement on Error Plottting UX
2021-01-28 07:45:06 +01:00
Luis Fernando Molina ba5c151f53 Finals details on Error Handling 2021-01-28 07:43:56 +01:00
Luis Fernando Molina 185d11224d Error Handling Improved, Different Errors Plotted with mouseover opens the Docs 2021-01-27 18:11:12 +01:00
Julian Molina 37f9459532 Merge pull request #497 from julian-molina/develop
Contribution: Renaming indicators
2021-01-27 17:50:08 +01:00
Julian Molina e39db797bb Renaming indicators 2021-01-27 17:49:21 +01:00
Julian Molina 09118ac74e Merge pull request #496 from julian-molina/develop
Contribution: Renaming Data Mine Indicators
2021-01-27 17:27:49 +01:00
Julian Molina 78bc19d5f1 Renaming Data Mine Indicators 2021-01-27 17:27:02 +01:00
Luis Fernando Molina 1e1501b222 Improvement on Error Plottting UX 2021-01-27 14:35:25 +01:00
Luis Fernando Molina 92949a25a3 Merge pull request #494 from Luis-Fernando-Molina/develop
Contribution: Update Radme / Permisionless Paragraph FIX3
2021-01-27 10:38:24 +01:00
Luis Fernando Molina 0be94d202c Update Radme / Permisionless Paragraph FIX3 2021-01-27 10:38:04 +01:00
Luis Fernando Molina efb19d53bf Merge pull request #493 from Luis-Fernando-Molina/develop
Contribution: Update Radme / Permisionless Paragraph FIX2
2021-01-27 10:36:20 +01:00
Luis Fernando Molina 4f528bb2d2 Update Radme / Permisionless Paragraph FIX2 2021-01-27 10:35:38 +01:00
Luis Fernando Molina 19e01ee90f Merge pull request #492 from Luis-Fernando-Molina/develop
Contribution: Update Radme / Permisionless Paragraph FIX
2021-01-27 10:32:22 +01:00
Luis Fernando Molina 3ff3c58d75 Update Radme / Permisionless Paragraph FIX 2021-01-27 10:32:05 +01:00
Luis Fernando Molina 713e2afaec Merge pull request #491 from Luis-Fernando-Molina/develop
Contribution: Update Radme / Permisionless Paragraph
2021-01-27 10:30:44 +01:00
Luis Fernando Molina 97d4dea4f1 Update Radme / Permisionless Paragraph 2021-01-27 10:30:18 +01:00
Luis Fernando Molina 7b04b5892c Merge pull request #490 from Luis-Fernando-Molina/develop
Contribution: Error Handling Improved at Exchage API modeule / Integration with the Docs
2021-01-27 10:08:20 +01:00
Luis Fernando Molina 67dc0a6b4e Error Handling Improved at Exchage API modeule / Integration with the Docs 2021-01-27 10:07:18 +01:00
Luis Fernando Molina 913e20d24a Merge pull request #489 from Luis-Fernando-Molina/develop
Contribution: Announcements Error Handling Improved
2021-01-27 08:55:29 +01:00
Luis Fernando Molina b23f7015e4 Announcements Error Handling Improved 2021-01-27 08:54:27 +01:00
Luis Fernando Molina 9f6e9e92a1 Merge pull request #488 from Luis-Fernando-Molina/develop
Contribution: Welcome Message Changed
2021-01-26 20:26:07 +01:00
Luis Fernando Molina 75289cfe0d Welcome Message Changed 2021-01-26 20:25:03 +01:00
Julian Molina 3bb9f76243 Merge pull request #487 from julian-molina/develop
Contribution: Community Data Mines Book
2021-01-26 19:50:54 +01:00
Julian Molina 8bada40b8f Community Data Mines Book 2021-01-26 19:49:07 +01:00
Luis Fernando Molina 5e11864541 Merge pull request #486 from Luis-Fernando-Molina/develop
Contribution: Fine Tunning Memory Management
2021-01-26 18:59:31 +01:00
Luis Fernando Molina 29174307b1 Fine Tunning Memory Management 2021-01-26 18:58:45 +01:00
Luis Fernando Molina a3410e34bc Merge pull request #484 from 9808us/develop
Proposal to improve RAM issues
2021-01-26 18:35:26 +01:00
Luis Fernando Molina 4de97a542e Merge pull request #485 from Luis-Fernando-Molina/develop
Contribution: Bug Fixed with Improvement in error handler of Snapshot module
2021-01-26 18:33:01 +01:00
Luis Fernando Molina 6f88b6a60d Bug Fixed with Improvement in error handler of Snapshot module 2021-01-26 18:31:50 +01:00
9808us beabb0e467 Proposal to improve RAM issues 2021-01-26 18:27:53 +01:00
Luis Fernando Molina ca8b36fb9e Merge pull request #483 from Luis-Fernando-Molina/develop
Contribution: Error Handling Improved in a few modules of the LF Trading Bot
2021-01-26 18:24:20 +01:00
Luis Fernando Molina ded8100260 Error Handling Improved in a few modules of the LF Trading Bot 2021-01-26 18:23:25 +01:00
Julian Molina c419c02ea9 Merge pull request #482 from julian-molina/develop
Contribution: Trading systems
2021-01-26 17:59:13 +01:00
Julian Molina e68d21ae0b BB Top Bounce (BBTB) 2021-01-26 17:57:34 +01:00
Julian Molina a803f46dfe Trading systems 2021-01-26 17:09:26 +01:00
Luis Fernando Molina 5aeeba16e0 Merge pull request #481 from Luis-Fernando-Molina/develop
Contribution: Config of Crypto Exchange / Added limit parameter to enable usage in Coinbase Pro.
2021-01-26 16:52:47 +01:00
Luis Fernando Molina 8ac8834f9b Config of Crypto Exchange / Added limit parameter to enable usage in Coinbase Pro. 2021-01-26 16:51:51 +01:00
Julian Molina 6825736f39 Merge pull request #480 from julian-molina/develop
Contribution: Zeuz Data Mine
2021-01-26 16:33:55 +01:00
Julian Molina 0e5b48ab1a Super Trend 2021-01-26 16:32:13 +01:00
Julian Molina 8bbbdedc06 Wave Trend 2021-01-26 16:26:04 +01:00
Julian Molina 58131517fe Ichimoku Cloud 2021-01-26 16:20:20 +01:00
Julian Molina c4cd4cd401 Donchian Channel on the Charts 2021-01-26 16:10:54 +01:00
Julian Molina 7c8aa41d29 Zeuz Data Mine 2021-01-26 16:04:44 +01:00
Julian Molina 15c4ef4091 Merge pull request #479 from julian-molina/develop
Contribution: Sparta and Buddha Data Mines
2021-01-26 14:45:05 +01:00
Julian Molina 058842604f Candle Patterns 2021-01-26 14:43:53 +01:00
Julian Molina 280e2f36c2 Moving Average Convergence Divergence (MACD) 2021-01-26 13:05:05 +01:00
Julian Molina 55ad9d5663 Relative Strenght Index (RSI) 2021-01-26 12:59:33 +01:00
Julian Molina a29368b8e3 Exponential Moving Average (EMA) 2021-01-26 12:55:34 +01:00
Julian Molina a2975b1f05 Sparta and Buddha Data Mines 2021-01-26 12:48:59 +01:00
Julian Molina fde0b55670 Merge pull request #474 from julian-molina/develop
Contribution: Alpha Data Mine
2021-01-26 11:00:31 +01:00
Julian Molina d9ce77c4da Stochastic 2021-01-26 10:45:58 +01:00
Luis Fernando Molina 94d7fdc09f Merge pull request #476 from Superalgos/develop
Beta 8 SP2 Hot Fix
2021-01-26 10:41:19 +01:00
Julian Molina 9847afe392 Rate of Change (ROC) 2021-01-26 10:41:17 +01:00
Luis Fernando Molina 14081eb442 Merge pull request #475 from Luis-Fernando-Molina/develop
Contribution: Trading Order Error Handling Improved / Integrated with the Docs
2021-01-26 10:40:28 +01:00
Luis Fernando Molina 371f2cf2cd Trading Order Error Handling Improved / Integrated with the Docs 2021-01-26 10:39:32 +01:00
Julian Molina 3fc969104f Alpha Data Mine 2021-01-26 10:34:04 +01:00
Julian Molina 12e2d0dbf3 Merge pull request #473 from julian-molina/develop
Contribution: How To Pages
2021-01-26 10:03:31 +01:00
Julian Molina 079070e5a5 How to Test New Exchanges 2021-01-26 10:01:15 +01:00
Julian Molina a0f5df2600 How to Set Up a New Exchange 2021-01-26 09:58:14 +01:00
Julian Molina 0182015e0c How to Install a New Market 2021-01-26 09:54:22 +01:00
Julian Molina a2e8ad0175 How to Uninstall an Existing Market 2021-01-26 09:48:51 +01:00
Julian Molina 72baa9a239 How To Pages 2021-01-26 09:43:59 +01:00
Julian Molina 0fe342e9d3 Merge pull request #472 from julian-molina/develop
Contribution: Troubleshooting and typo fix on UIObjectConstructor
2021-01-26 09:32:40 +01:00
Julian Molina f0682ad9a2 Troubleshooting and typo fix on UIObjectConstructor 2021-01-26 09:31:31 +01:00
Luis Fernando Molina ff5727dfa8 Merge pull request #471 from Superalgos/develop
Beta 8 SP2
2021-01-26 08:00:05 +01:00
Julian Molina cdba2315f8 Merge pull request #470 from julian-molina/develop
Contribution: Contribute tutorial split from Welcome
2021-01-25 20:59:25 +01:00
Julian Molina 821c96564d Contribute tutorial split from Welcome 2021-01-25 20:58:02 +01:00
Luis Fernando Molina 5e1e47b2dc Merge pull request #469 from Luis-Fernando-Molina/develop
Contribution: Trading Position Error Handling improved, connected to the Docs.
2021-01-25 18:59:25 +01:00
Luis Fernando Molina 80f063e92a Trading Position Error Handling improved, connected to the Docs. 2021-01-25 18:58:48 +01:00
Luis Fernando Molina 7dc9d3f884 Merge pull request #468 from Luis-Fernando-Molina/develop
Contribution: Improvement of Error handling when reaching the Max or Min balance configured / Integration with the Docs
2021-01-25 17:02:32 +01:00
Luis Fernando Molina e588048edf Improvement of Error handling when reaching the Max or Min balance configured / Integration with the Docs 2021-01-25 17:01:39 +01:00
Luis Fernando Molina 788085d15b Merge pull request #467 from Luis-Fernando-Molina/develop
Contribution: Icon names refactoring
2021-01-25 16:09:45 +01:00
Luis Fernando Molina 3c758ff2cd Icon names refactoring 2021-01-25 16:08:52 +01:00
Luis Fernando Molina 13fe2e7cfb Merge pull request #466 from Luis-Fernando-Molina/develop
Contribution: Reference to Phase Node Missing Error handlling Improved / Integrated with Docs
2021-01-25 14:46:29 +01:00
Luis Fernando Molina 4cdf5db8fe Reference to Phase Node Missing Error handlling Improved / Integrated with Docs 2021-01-25 14:38:02 +01:00
Luis Fernando Molina ba77d3b297 Merge pull request #465 from Luis-Fernando-Molina/develop
Contribution: Formula evaluation to not numeric valuie, handling improved and intergrate to Docs
2021-01-25 14:13:30 +01:00
Luis Fernando Molina 9885fe2c5a Formula evaluation to not numeric valuie, handling improved and intergrate to Docs 2021-01-25 14:12:39 +01:00
Luis Fernando Molina cb693be776 Merge pull request #464 from Luis-Fernando-Molina/develop
Contribution: Improving on LF Trading Formula evaluation error handling and UX / integration with the Docs
2021-01-25 13:30:31 +01:00
Luis Fernando Molina 4839ee9da1 Improving on LF Trading Formula evaluation error handling and UX / integration with the Docs 2021-01-25 13:29:30 +01:00
Luis Fernando Molina ca5e1c9d30 Merge pull request #461 from Luis-Fernando-Molina/develop
Contribution: Master Datamine cleaned of unused proeprty at Bollinger Band Indicator (repo)
2021-01-25 11:53:34 +01:00
Luis Fernando Molina 461cdbc267 Improvement at the error handling of conditions / integration with Docs 2021-01-25 11:52:41 +01:00
Luis Fernando Molina 33ca84bb4c Master Datamine cleaned of unused proeprty at Bollinger Band Indicator (repo) 2021-01-25 08:39:21 +01:00
Julian Molina 2ba63da81c Merge pull request #460 from julian-molina/develop
Contribution: Troubleshooting
2021-01-24 20:19:23 +01:00
Julian Molina a61930cd95 Investigating Issues - Check the Integrity of Your Data 2021-01-24 20:17:31 +01:00
Julian Molina eba2d94359 Investigating Issues - Check for Errors at the Browser 2021-01-24 20:13:17 +01:00
Julian Molina 1a5525d14c Investigating Issues - On-Screen Errors and Warnings 2021-01-24 20:11:14 +01:00
Julian Molina 52c08f2efa Investigating Issues - I Think I Broke Something... How Do I Start Over 2021-01-24 20:04:07 +01:00
Julian Molina fe05a88dcb Perception Issues - Indicator Data Seems Wrong 2021-01-24 20:01:50 +01:00
Julian Molina 254f79e651 Perception Issues - Market Data or Indicators Seem to be Outdated 2021-01-24 19:48:01 +01:00
Julian Molina c3e25cba44 Perception Issues - There Are No Candles on The Charts 2021-01-24 19:46:45 +01:00
Julian Molina 0f7ad28f01 Perception Issues - My System Gets Slow 2021-01-24 19:42:43 +01:00
Julian Molina 6b63cb5663 Initial Setup - Superalgos Failed to Connect Via Websockets 2021-01-24 19:34:07 +01:00
Julian Molina f7453d92fc Initial Setup - Node is not Recognized as an Internal or External Command 2021-01-24 19:11:52 +01:00
Julian Molina ce1d06cd69 How to Upgrade Your Existing Installation 2021-01-24 19:06:52 +01:00
Julian Molina cb059822ab How to Report an Issue 2021-01-24 19:01:37 +01:00
Julian Molina 7b9d600a8b Troubleshooting 2021-01-24 18:37:22 +01:00
Julian Molina e5729e9ac0 Merge pull request #459 from julian-molina/develop
Contribution: User Manual
2021-01-24 16:56:36 +01:00
Julian Molina df135d57ff User Manual 2021-01-24 16:55:25 +01:00
Julian Molina cb11b3db7d Merge pull request #458 from julian-molina/develop
Contribution: Productivity tools
2021-01-24 13:23:55 +01:00
Julian Molina babaef4b55 Screen capture 2021-01-24 13:21:52 +01:00
Julian Molina fc2f4a0117 Shares 2021-01-24 13:18:04 +01:00
Julian Molina afed59d336 Clones 2021-01-24 13:15:41 +01:00
Julian Molina d3af74aec6 Productivity tools 2021-01-24 13:09:15 +01:00
Julian Molina ca2f80a5b2 Merge pull request #457 from julian-molina/develop
Contribution: Integrations (telegram announcements and webhooks)
2021-01-24 12:28:59 +01:00
Julian Molina 8be353b246 Integrations (telegram announcements and webhooks) 2021-01-24 12:21:24 +01:00
Julian Molina dd9fe3aed2 Merge pull request #455 from julian-molina/develop
Contribution: Data Mines
2021-01-24 11:23:31 +01:00
Julian Molina 6356587af0 Data Mines Done 2021-01-24 11:22:44 +01:00
Julian Molina 51b79063c4 Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-01-24 11:17:19 +01:00
Julian Molina 2d9e33eb44 WIP 2021-01-23 21:31:19 +01:00
Julian Molina 5352fd90a8 WIP 2021-01-23 21:09:06 +01:00
Julian Molina 29c9cc2cf8 WIP 2021-01-23 20:47:19 +01:00
Julian Molina 44d2ea2ff1 WIP 2021-01-23 19:34:06 +01:00
Luis Fernando Molina 7e729a5c93 Merge pull request #456 from Luis-Fernando-Molina/develop
Contribution: Imrpovement on Error Reporting from the TS to the Docs
2021-01-23 15:53:07 +01:00
Luis Fernando Molina 4e50f9a699 Imrpovement on Error Reporting from the TS to the Docs 2021-01-23 15:51:48 +01:00
Julian Molina 97ec6be8f8 WIP 2021-01-23 14:52:30 +01:00
Julian Molina e5729262e4 Data Mines 2021-01-23 14:20:34 +01:00
Luis Fernando Molina 0d9c664fef Merge pull request #454 from Luis-Fernando-Molina/develop
Contribution: Refactoring of Icon Names and unused Configs Removed
2021-01-23 11:36:28 +01:00
Luis Fernando Molina b566e3de72 Merge pull request #453 from julian-molina/develop
Contribution: Refactoring of menu icons
2021-01-23 11:36:21 +01:00
Luis Fernando Molina 1873332a3b Removing config feature from nodes that don;t need them. 2021-01-23 11:34:58 +01:00
Luis Fernando Molina a336f3a385 Refactoring in order to fit icon names with page names 2021-01-23 11:26:40 +01:00
Julian Molina f24d469455 Refactoring of menu icons 2021-01-23 11:21:39 +01:00
Luis Fernando Molina e37e86e571 Merge pull request #452 from Luis-Fernando-Molina/develop
Contribution: Session Errors Handling / UX improved
2021-01-23 10:29:11 +01:00
Luis Fernando Molina 70774efa55 Session Errors Handling / UX improved 2021-01-23 10:28:24 +01:00
Julian Molina 81558e8d74 Merge pull request #450 from julian-molina/develop
Contribution: Crypto Ecosystem
2021-01-22 21:13:59 +01:00
Julian Molina 5d2909e087 Crypto Ecosystem 2021-01-22 21:13:33 +01:00
Julian Molina 9000dfb7c2 Merge pull request #449 from julian-molina/develop
Contribution: Trading Farms
2021-01-22 20:44:25 +01:00
Julian Molina 653b320256 Trading Farms 2021-01-22 20:43:33 +01:00
Julian Molina c2b956eaee Merge pull request #448 from julian-molina/develop
Contribution: Trading Engine Topic Done
2021-01-22 19:07:42 +01:00
Julian Molina 51ae97b46e Trading Engine Topic Done 2021-01-22 19:05:57 +01:00
Julian Molina 35c5e67c2f Trading Engine Topic WIP 2021-01-22 18:23:37 +01:00
Luis Fernando Molina 1fa826329a Merge pull request #447 from Luis-Fernando-Molina/develop
Contribution: Trading Session Errors Topic
2021-01-22 18:19:45 +01:00
Luis Fernando Molina ba453abc6e More Session Errors Pages Implemented 2021-01-22 18:16:22 +01:00
Julian Molina bee243d909 Trading Engine Topic WIP 2021-01-22 17:31:11 +01:00
Luis Fernando Molina 9ca921e8c3 Trading Session Errors Topic 2021-01-22 15:04:36 +01:00
Luis Fernando Molina 0ece30c358 Merge pull request #446 from Superalgos/develop
Bug Fixes that impact MAC users doing the Tutorial
2021-01-22 12:52:21 +01:00
Luis Fernando Molina 9d947f0ca1 Merge pull request #445 from Luis-Fernando-Molina/develop
Contribution: Bug Fixed, Workspace tab not showing anything
2021-01-22 12:29:38 +01:00
Luis Fernando Molina d4a811a449 Bug Fixed, Workspace tab not showing anything 2021-01-22 12:28:47 +01:00
Julian Molina 3b736015cf Merge pull request #444 from julian-molina/develop
Welcome tutorial browser zoom on Mac step fix
2021-01-22 12:22:53 +01:00
Julian Molina d11f08ea33 This is my contribution to Superalgos 2021-01-22 12:21:02 +01:00
Luis Fernando Molina 6646632fe6 Merge pull request #443 from Luis-Fernando-Molina/develop
Contribution: Bug Fixed on repositioning at chart in charting space while zoomed if
2021-01-22 11:54:23 +01:00
Luis Fernando Molina 31bb098ff6 Bug Fixed on repositioning at chart in charting space while zoomed if 2021-01-22 11:53:57 +01:00
Luis Fernando Molina 85d9285eba Merge pull request #442 from Luis-Fernando-Molina/develop
Contribution: Process Error Handling Improved / UX Improved
2021-01-22 10:51:00 +01:00
Luis Fernando Molina 9f42d6bc11 Function not used 2021-01-22 10:50:10 +01:00
Luis Fernando Molina e63771b9ee Process Error Handling Improved / UX Improved 2021-01-22 10:46:47 +01:00
Luis Fernando Molina 97e2246601 Merge pull request #441 from Luis-Fernando-Molina/develop
Contribution: Bug Fixed on MAC OS not repositionig charts correctly during tutorial.
2021-01-22 09:42:43 +01:00
Luis Fernando Molina 4433ade3df Bug Fixed on MAC OS not repositionig charts correctly during tutorial. 2021-01-22 09:41:54 +01:00
Luis Fernando Molina ff54bfa142 Merge pull request #439 from Luis-Fernando-Molina/develop
Contribution: Bug Fixed, context menu not dissapearing when docs were closed
2021-01-22 07:37:37 +01:00
Luis Fernando Molina e72669ce61 Bug Fixed, context menu not dissapearing when docs were closed 2021-01-22 07:36:38 +01:00
Julian Molina ccc2c10606 Merge pull request #436 from julian-molina/develop
Contribution: Trading Engine Topic WIP
2021-01-21 21:30:49 +01:00
Julian Molina 8f3b6aa7e9 Trading Engine Topic WIP 2021-01-21 21:30:08 +01:00
Luis Fernando Molina 9e30cb8fcc Merge pull request #438 from Luis-Fernando-Molina/develop
Contribution: Improvements in Error Handlng / Error UX
2021-01-21 20:58:37 +01:00
Luis Fernando Molina 56e961ad01 Improvements in Error Handlng / Error UX 2021-01-21 20:57:45 +01:00
Julian Molina ae70226347 Trading Engine Topic WIP 2021-01-21 20:54:55 +01:00
Luis Fernando Molina 3a11c1e2b3 Improvemnts in error handling 2021-01-21 20:50:43 +01:00
Julian Molina 04d39bb111 Trading Engine Topic WIP 2021-01-21 20:17:43 +01:00
Luis Fernando Molina 6bb37ab10d Merge pull request #437 from Luis-Fernando-Molina/develop
Contribution: Bug Fixed Issue #318. Using # in the name of the trading system didn't show backtest results.
2021-01-21 20:15:47 +01:00
Luis Fernando Molina 3ea470bf60 Bug Fixed Issue #318. Using # in the name of the trading system didn't show backtest results. 2021-01-21 20:14:57 +01:00
Julian Molina 6d78112bc2 Trading Engine Topic WIP 2021-01-21 19:35:12 +01:00
Julian Molina 2508438889 Merge pull request #435 from julian-molina/develop
Contribution: User Manual Book
2021-01-21 18:20:46 +01:00
Julian Molina 22c91844da Merge branch 'develop' of https://github.com/julian-molina/Superalgos into develop 2021-01-21 14:59:44 +01:00
Julian Molina e0186e2ef7 User Manual Book WIP 2021-01-21 14:58:29 +01:00
Julian Molina 3536d2659a User Manual Book wip 2021-01-21 14:38:09 +01:00
Luis Fernando Molina e91610dc34 Merge pull request #433 from Superalgos/develop
Hot Fix to fix bug with Exchange Raw data during Live Trading
2021-01-21 14:15:13 +01:00
Luis Fernando Molina e80592530f Merge pull request #432 from Luis-Fernando-Molina/develop
Contribution: This is my contribution to Superalgos
2021-01-21 13:53:36 +01:00
Luis Fernando Molina 29614b9646 Bug Fixed with # in commit message 2021-01-21 13:52:44 +01:00
Luis Fernando Molina f8c6b40c7c Bug Fix 2021-01-21 13:38:27 +01:00
Luis Fernando Molina 1e1fa783ca Bug Fix 2021-01-21 13:33:07 +01:00
Julian Molina 590e9c4564 Merge pull request #2 from Superalgos/develop
Develop
2021-01-21 13:22:28 +01:00
Julian Molina 8de041b0ae Merge pull request #1 from Superalgos/master
Merge pull request #424 from julian-molina/master
2021-01-21 13:21:02 +01:00
Luis Fernando Molina e19ba0793c Merge pull request #429 from Luis-Fernando-Molina/develop
Contribution: Update Message updated
2021-01-20 17:40:46 +01:00
Luis Fernando Molina 9522b7b848 Update Message updated 2021-01-20 17:40:00 +01:00
Luis Fernando Molina 3904290bec Merge pull request #428 from Luis-Fernando-Molina/develop
Contribution: Bug Fixed: removing Github user requirement for app.update command.
2021-01-20 17:19:27 +01:00
Luis Fernando Molina 27734e85f4 Bug Fixed: removing Github user requirement for app.update command. 2021-01-20 17:18:38 +01:00
Luis Fernando Molina 2e3c667459 Merge pull request #427 from Luis-Fernando-Molina/develop
Contribution: Swithching Branches Error Handling Improved, with Docs and Placeholders
2021-01-20 16:38:58 +01:00
Luis Fernando Molina 5ae4d0aa5b Swithching Branches Error Handling Improved, with Docs and Placeholders 2021-01-20 16:38:06 +01:00
Luis Fernando Molina 24e140badb Merge pull request #426 from Luis-Fernando-Molina/develop
Contribution: Contribute Command Error Handling Improved with Docs and Placeholders
2021-01-20 16:10:25 +01:00
Luis Fernando Molina b6056f0d2e This is my contribution to Superalgos 2021-01-20 16:08:24 +01:00
Luis Fernando Molina ab595e6e31 This is my contribution to Superalgos 2021-01-20 16:05:29 +01:00
Luis Fernando Molina d910a83a30 This is my contribution to Superalgos 2021-01-20 16:03:10 +01:00
Luis Fernando Molina d9ab664a57 This is my contribution to Superalgos 2021-01-20 16:01:36 +01:00
Luis Fernando Molina 5d932ec16d This is my contribution to Superalgos 2021-01-20 15:53:17 +01:00
Luis Fernando Molina 3ca384e94f This is my contribution to Superalgos 2021-01-20 15:52:10 +01:00
Luis Fernando Molina aed93f3d21 This is my contribution to Superalgos 2021-01-20 15:51:26 +01:00
Luis Fernando Molina f013baaaec This is my contribution to Superalgos 2021-01-20 15:48:59 +01:00
Luis Fernando Molina 086db81331 This is my contribution to Superalgos 2021-01-20 15:47:36 +01:00
Luis Fernando Molina 7b1d627270 This is my contribution to Superalgos 2021-01-20 15:44:13 +01:00
Luis Fernando Molina 3a3bc2ae1b This is my contribution to Superalgos 2021-01-20 15:42:11 +01:00
Luis Fernando Molina eb1ad95d66 This is my contribution to Superalgos 2021-01-20 15:37:30 +01:00
Luis Fernando Molina 5a511d4d5d Merge pull request #425 from Luis-Fernando-Molina/develop
Contribution: Error Handling Improved for command app.update
2021-01-20 15:19:48 +01:00
Luis Fernando Molina ac891d603d Error Handling Improved for command app.update 2021-01-20 15:17:42 +01:00
Luis Fernando Molina c61db756d6 test update conflict 2021-01-20 15:09:52 +01:00
Luis Fernando Molina 22b5f95b6b test 2021-01-20 15:08:14 +01:00
Luis Fernando Molina eecb143ca9 Merge pull request #420 from 9808us/develop
Initial Italian Translation
2021-01-20 13:05:31 +01:00
Luis Fernando Molina 9c5f17ac51 Merge pull request #424 from julian-molina/master
Contribution: Getting started workspace fix
2021-01-20 12:54:26 +01:00
Julian Molina 709ac5ff24 Getting started workspace fix 2021-01-20 12:04:07 +01:00
Luis Fernando Molina 9942583b9f Merge pull request #423 from Luis-Fernando-Molina/develop
Merge from upstream / master
2021-01-20 09:14:53 +01:00
Luis Fernando Molina cb7697be40 Merge remote-tracking branch 'upstream/master' into develop 2021-01-20 09:11:53 +01:00
Luis Fernando Molina 4ff89fc769 Merge pull request #422 from Luis-Fernando-Molina/develop
Contribution: Default Branch set to Master
2021-01-20 09:05:27 +01:00
Luis Fernando Molina 4a3bd32d6e Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-01-20 09:03:40 +01:00
Luis Fernando Molina 1eeca0df38 Default Branch set to Master 2021-01-20 09:03:22 +01:00
Julian Molina eb8852876b Merge pull request #421 from julian-molina/develop
Contribution: Recovering lost changes in app messages
2021-01-20 08:57:38 +01:00
Julian Molina a1ee9cd78f Recovering lost changes in app messages 2021-01-20 08:56:56 +01:00
Julian Molina dcb00b1041 Merge pull request #419 from julian-molina/develop
Contribution: README fix
2021-01-19 21:22:26 +01:00
Julian Molina 53f842d489 README fix 2021-01-19 21:22:04 +01:00
Julian Molina 7b4e67bf1b Merge pull request #418 from julian-molina/develop
Contribution: Welcome tutorial fixes
2021-01-19 21:20:02 +01:00
Julian Molina 7b8faa32e3 Welcome tutorial fixes 2021-01-19 21:19:28 +01:00
Julian Molina 5dd46bc26c Merge pull request #417 from julian-molina/develop
Contribution: CSS update to fix tutorials on Safari
2021-01-19 18:53:42 +01:00
Julian Molina c631070697 Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-01-19 18:53:07 +01:00
Julian Molina 028b91643f CSS update to fix tutorials on Safari 2021-01-19 18:51:54 +01:00
Julian Molina 5e2924970d Merge pull request #416 from julian-molina/develop
Contribution: Mac test
2021-01-19 18:38:21 +01:00
Julian Molina 9b6fb49564 Welcome tutorial adjustments 2021-01-19 18:26:16 +01:00
Julian Molina 9cae6d376e Merge pull request #2 from Superalgos/develop
Develop
2021-01-19 17:25:05 +01:00
Julian Molina fe6f93f268 Mac test 2021-01-19 17:21:27 +01:00
Luis Fernando Molina 2cd365a754 Merge pull request #415 from Luis-Fernando-Molina/develop
Contribution: Bug Fix with Indicators Filters from Javascript AND Formula nodes.
2021-01-19 15:00:10 +01:00
Luis Fernando Molina 9c83ddc752 Bug Fix with Indicators Filters from Javascript AND Formula nodes. 2021-01-19 14:57:48 +01:00
Luis Fernando Molina 1f456d9b06 Update client.js 2021-01-19 14:36:07 +01:00
Luis Fernando Molina fb5b4386f3 Merge pull request #414 from Luis-Fernando-Molina/develop
Contribution: Bug Fixed in Mac Os, Git not recognizing upstream
2021-01-19 14:15:48 +01:00
Luis Fernando Molina 8f94483a20 Bug Fixed in Mac Os, Git not recognizing upstream 2021-01-19 14:08:05 +01:00
Luis Fernando Molina 5fb46157a9 Merge branch 'develop' of https://github.com/Luis-Fernando-Molina/Superalgos into develop 2021-01-19 14:07:04 +01:00
Luis Fernando Molina e438613093 Bug Fixed in Mac Os, Git not recognizing upstream 2021-01-19 14:05:43 +01:00
Loft 4a38f568ad This is my contribution to Superalgos 2021-01-19 13:54:26 +01:00
Julian Molina 213194b5f0 This is my contribution to Superalgos 2021-01-19 13:00:57 +01:00
Luis Fernando Molina e2789a6fce Merge pull request #412 from Luis-Fernando-Molina/develop
Contribution: Fine Tunning iOS Mouse Wheel Sensitivity
2021-01-19 12:44:47 +01:00
Luis Fernando Molina cebf0237a0 Update Globals.js 2021-01-19 12:37:08 +01:00
Luis Fernando Molina 7576bc3ea9 Update TimeFrameScale.js 2021-01-19 12:32:43 +01:00
Luis Fernando Molina a1426eaec0 Update TimeFrameScale.js 2021-01-19 12:25:46 +01:00
Luis Fernando Molina 7913eb6516 Update TimeFrameScale.js 2021-01-19 12:20:20 +01:00
Luis Fernando Molina 0427c40c4c Update Globals.js 2021-01-19 12:14:21 +01:00
Luis Fernando Molina e4a220b5f7 Merge pull request #411 from Luis-Fernando-Molina/develop
Contribution: Bug Fixed on iOS Safari, zoom, scales, and mouse wheel usage in general
2021-01-19 12:07:28 +01:00
Luis Fernando Molina eb60ccb938 Reseting Line Dash in a way that works for iOS 2021-01-19 12:02:30 +01:00
Luis Fernando Molina f93302c58e Trying to solve the DASH problem on MAC 2021-01-19 11:54:43 +01:00
Luis Fernando Molina 8d510bc420 NO line dash anywhere 2021-01-19 11:07:10 +01:00
Luis Fernando Molina fbd2a53265 MAC inverting delta 2021-01-19 11:05:44 +01:00
Luis Fernando Molina 9dd46b0889 Line Dash problem in MAC 2021-01-19 10:59:32 +01:00
Luis Fernando Molina 8018614a0b Mouse Wheel Sensitivity problem on MAC 2021-01-19 10:15:07 +01:00
Julian Molina eb453f2a27 Merge pull request #409 from julian-molina/develop
Contribution: Docs command errors done
2021-01-18 21:53:54 +01:00
Julian Molina b473f2ce03 App messages done 2021-01-18 21:53:05 +01:00
Julian Molina b76c9bdeaa Docs basics done 2021-01-18 21:32:15 +01:00
Julian Molina 970dc7b679 Docs command errors done 2021-01-18 20:51:40 +01:00
Julian Molina e09b69317c Merge pull request #408 from julian-molina/develop
Contribution: Hardcoded docs grammar
2021-01-18 19:21:54 +01:00
Julian Molina 35dbb858d2 Docs messages refactoring done 2021-01-18 19:21:17 +01:00
Julian Molina 079ba83950 Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-01-18 19:03:28 +01:00
Julian Molina 5fee4d7f52 Hardcoded docs grammar 2021-01-18 19:03:12 +01:00
Luis Fernando Molina c2ff489604 Merge pull request #407 from Luis-Fernando-Molina/develop
Contribution: Bug Fixed. When Resuming steps are jumped creating confussion.
2021-01-18 18:50:04 +01:00
Luis Fernando Molina f62ad0431e Bug Fixed. When Resuming steps are jumped creating confussion. 2021-01-18 18:49:46 +01:00
Luis Fernando Molina f7fd9c9abe Merge pull request #406 from Luis-Fernando-Molina/develop
Contribution: Bug Fixed. Error displaying at when Tasks are shut down
2021-01-18 18:34:22 +01:00
Luis Fernando Molina b51fa61c4a Bug Fixed. Error displaying at when Tasks are shut down 2021-01-18 18:27:23 +01:00
Julian Molina 001f0baa26 Merge pull request #405 from julian-molina/develop
Contribution: Welcome tutorial fixes
2021-01-18 17:44:28 +01:00
Julian Molina 70d769999f Welcome tutorial fixes 2021-01-18 17:42:12 +01:00
Julian Molina 002c868a81 Merge branch 'develop' of https://github.com/julian-molina/Superalgos into develop 2021-01-18 17:30:41 +01:00
Julian Molina 9774582dc1 Update Getting-Started.json 2021-01-18 17:28:31 +01:00
Julian Molina 166f07be10 Merge pull request #1 from Superalgos/develop
Develop
2021-01-18 17:26:57 +01:00
Luis Fernando Molina 0b94821566 Merge pull request #400 from Luis-Fernando-Molina/develop
Contribution: Repagination Fixed
2021-01-18 15:02:24 +01:00
Luis Fernando Molina 7edf60ea6e Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-01-18 15:01:09 +01:00
Luis Fernando Molina 4494b68f58 Welcome Tutorial Repaginated and Repaginate Bug Fixed 2021-01-18 15:00:07 +01:00
Julian Molina 7697fb25a8 Merge pull request #399 from julian-molina/develop
Contribution: Docs messages
2021-01-18 14:48:00 +01:00
Julian Molina de20ee81f1 Docs errors WIP 2021-01-18 14:47:25 +01:00
Luis Fernando Molina 3da2f3c467 enabling new icons 2021-01-18 14:45:53 +01:00
Julian Molina fb57a53af6 Docs commands 2021-01-18 14:24:11 +01:00
Julian Molina eabf5f46c7 Docs messages 2021-01-18 13:53:42 +01:00
Luis Fernando Molina eee2eab37e Merge pull request #398 from Luis-Fernando-Molina/develop
Contribution: Docs Placeholder Implementation woking.
2021-01-18 13:21:41 +01:00
Luis Fernando Molina a729512311 Docs Placeholder Implementation woking. 2021-01-18 13:20:49 +01:00
Julian Molina 3f9df6996e Merge pull request #397 from julian-molina/develop
Contribution: Rearranged tutorial pages
2021-01-18 13:08:32 +01:00
Julian Molina 2ce4dc716d Icon 2021-01-18 13:07:40 +01:00
Julian Molina 047d068b42 Rearranged tutorial pages 2021-01-18 12:35:06 +01:00
Julian Molina 4311ae31a1 Merge pull request #394 from julian-molina/develop
Welcome tutorial
2021-01-18 12:17:19 +01:00
Julian Molina 8b0c8fa3fd This is my contribution to Superalgos 2021-01-18 12:10:17 +01:00
Luis Fernando Molina f9461ee29b Placeholder implementation part 1 2021-01-18 10:53:08 +01:00
Julian Molina 17699793ee Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-01-18 10:50:43 +01:00
Luis Fernando Molina 8d29849bdc function processStopped() standarized 2021-01-18 10:07:50 +01:00
Luis Fernando Molina c60036f5a1 Merge pull request #396 from Luis-Fernando-Molina/develop
Contribution: Bug Fixed, Tutorials External Links withtout protocol
2021-01-18 09:38:42 +01:00
Luis Fernando Molina ef394fdbb5 Bug Fixed, Tutorials External Links withtout protocol 2021-01-18 09:37:51 +01:00
Julian Molina 8f068e7e52 Welcome tutorial WIP 2021-01-18 09:32:33 +01:00
Julian Molina fc37a7e175 This is my contribution to Superalgos 2021-01-17 22:01:39 +01:00
Luis Fernando Molina 213c25efa2 Merge pull request #395 from Luis-Fernando-Molina/develop
Contribution: This is my contribution to Superalgos
2021-01-17 21:04:44 +01:00
Luis Fernando Molina a5d2f3941a Deep Scan found bug fixes 2021-01-17 21:03:53 +01:00
Luis Fernando Molina 90f2f28683 Bug Fixes at the Docs, plus connecting TS with the Docs 2021-01-17 20:57:44 +01:00
Julian Molina ecb85d971a This is my contribution to Superalgos 2021-01-17 20:55:06 +01:00
Luis Fernando Molina cc4215398e Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-01-17 19:47:41 +01:00
Luis Fernando Molina 7360439027 This is my contribution to Superalgos 2021-01-17 19:36:45 +01:00
Julian Molina 049ae48dfa This is my contribution to Superalgos 2021-01-17 19:33:36 +01:00
Julian Molina 7768f1c8d6 This is my contribution to Superalgos 2021-01-17 18:27:40 +01:00
Julian Molina b04cee4db9 This is my contribution to Superalgos 2021-01-17 18:17:18 +01:00
Julian Molina 405d07cdd3 This is my contribution to Superalgos 2021-01-17 16:59:06 +01:00
Luis Fernando Molina 4707cc6d69 Websocket client errors documented 2021-01-17 14:45:03 +01:00
Julian Molina b359c6a9d1 This is my contribution to Superalgos 2021-01-17 14:21:57 +01:00
Luis Fernando Molina 6c15c5c1c6 UiObject Message Implementation part 1 2021-01-17 13:28:28 +01:00
Julian Molina 09c0e87be9 This is my contribution to Superalgos 2021-01-17 13:28:20 +01:00
Julian Molina be1f5e79ff This is my contribution to Superalgos 2021-01-17 13:01:17 +01:00
Julian Molina 492572d2ae This is my contribution to Superalgos 2021-01-17 12:43:54 +01:00
Julian Molina 01bcc347c1 Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-01-17 10:48:56 +01:00
Luis Fernando Molina 4e18fb46fe Merge pull request #393 from Luis-Fernando-Molina/develop
Contribution: Bug Fixed: Data Dependencies Filter wrongly considering nodes like Conditions with draft code.
2021-01-17 09:30:43 +01:00
Luis Fernando Molina 3554d061f3 Bug Fixed: Data Dependencies Filter wrongly considering nodes like Conditions with draft code. 2021-01-17 09:29:55 +01:00
Luis Fernando Molina d0d6896326 Fix tutorials editor no showing at every step 2021-01-17 07:38:54 +01:00
Julian Molina 4c814ede09 Update welcome-to-superalgos-122-tutorial-step-github.com-authentication.json 2021-01-16 21:10:23 +01:00
Julian Molina 0fecd9c599 Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-01-16 20:39:16 +01:00
Luis Fernando Molina 1d59fad0bc Merge pull request #392 from Luis-Fernando-Molina/develop
Contribution: This is my contribution to Superalgos
2021-01-16 20:37:35 +01:00
Luis Fernando Molina 1518bcf450 This is my contribution to Superalgos 2021-01-16 20:37:09 +01:00
Julian Molina 5ed46bff2d Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-01-16 20:25:01 +01:00
Julian Molina 1eaafeef03 New node icons 2021-01-16 20:24:42 +01:00
Julian Molina e13139c5e7 Welcome tutorial wip 2021-01-16 20:24:28 +01:00
Luis Fernando Molina 603c973403 Merge pull request #391 from Luis-Fernando-Molina/develop
Contribution: closeEditor implementation bug fix 2
2021-01-16 20:20:25 +01:00
Luis Fernando Molina 8b5e9e5d77 closeEditor implementation bug fix 2 2021-01-16 20:20:06 +01:00
Julian Molina baa5b0c0f0 Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-01-16 20:19:35 +01:00
Luis Fernando Molina bc30aad004 Merge pull request #390 from Luis-Fernando-Molina/develop
Contribution: closeEditor implementation bug fix
2021-01-16 20:12:20 +01:00
Luis Fernando Molina 27016157dc closeEditor implementation bug fix 2021-01-16 20:11:54 +01:00
Luis Fernando Molina 86173307f0 Merge pull request #389 from Luis-Fernando-Molina/develop
Contribution: closeEditor implementation
2021-01-16 20:10:27 +01:00
Luis Fernando Molina f29c1717a0 closeEditor implementation 2021-01-16 20:09:53 +01:00
Luis Fernando Molina 28c8fd357c Merge pull request #388 from Luis-Fernando-Molina/develop
Contribution: Bug Fix Warning
2021-01-16 19:56:34 +01:00
Luis Fernando Molina 6fad1cabde Bug Fix Warning 2021-01-16 19:55:50 +01:00
Luis Fernando Molina 81154c364e Merge pull request #387 from Luis-Fernando-Molina/develop
Contribution: This is my contribution to Superalgos
2021-01-16 19:42:57 +01:00
Luis Fernando Molina 706b3241f5 This is my contribution to Superalgos 2021-01-16 19:40:59 +01:00
Luis Fernando Molina 6ed488ac71 Bug Fixed 2021-01-16 19:34:55 +01:00
Luis Fernando Molina b9f6102b50 Bug Fixed 2021-01-16 17:56:38 +01:00
9808us f6269c2ecd Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-01-16 15:16:16 +01:00
9808us b3563d24fe This is my contribution to Superalgos 2021-01-16 15:12:43 +01:00
Luis Fernando Molina 3c7a3fff45 Merge pull request #386 from Luis-Fernando-Molina/develop
Bug Fix #330, error when using .previous in conditions at midnight
2021-01-16 12:28:26 +01:00
Luis Fernando Molina 9ab0e2f4a7 Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-01-16 12:26:43 +01:00
Luis Fernando Molina bbd8578027 Bug Fixed 2021-01-16 12:25:16 +01:00
Luis Fernando Molina 278a6d71e5 Initial Candle calculation fixed 2021-01-16 11:42:15 +01:00
Luis Fernando Molina 50b48be76a Final Bug Fix 2021-01-16 10:38:23 +01:00
Luis Fernando Molina ea6f2f3f20 Bug Fixed 2021-01-16 10:26:59 +01:00
Luis Fernando Molina faf8e306c4 Bug Fix #330 2021-01-16 09:54:45 +01:00
Luis Fernando Molina 0fc8ffba67 cleaning 2021-01-16 09:21:04 +01:00
Julian Molina 937b51cfea Welcome tutorial WIP 2021-01-15 21:50:14 +01:00
Luis Fernando Molina 36d3812557 Merge pull request #381 from Luis-Fernando-Molina/develop
Contribution: Bug Fixed:Not exiting edit mode when user types command
2021-01-15 16:35:44 +01:00
Luis Fernando Molina 20c7c14567 Bug Fixed:Not exiting edit mode when user types command 2021-01-15 16:34:53 +01:00
Luis Fernando Molina fb958f15dd Merge pull request #380 from Luis-Fernando-Molina/develop
Contribution: This is my contribution to Superalgos
2021-01-15 13:47:49 +01:00
Luis Fernando Molina 5ba59db342 This is my contribution to Superalgos 2021-01-15 13:46:09 +01:00
Luis Fernando Molina b59a8d0fa4 This is my contribution to Superalgos 2021-01-15 13:44:48 +01:00
Luis Fernando Molina 26dcdeaaed This is my contribution to Superalgos 2021-01-15 13:42:19 +01:00
Luis Fernando Molina 75254b774b This is my contribution to Superalgos 2021-01-15 13:39:11 +01:00
Luis Fernando Molina 4647ab2758 This is my contribution to Superalgos 2021-01-15 13:37:45 +01:00
Luis Fernando Molina d71d1cc546 Merge pull request #379 from Luis-Fernando-Molina/develop
Contribution: But Fixed: Tutorial crashes app when referenced page was not found.
2021-01-15 13:24:55 +01:00
Luis Fernando Molina b83348c75a But Fixed: Tutorial crashes app when referenced page was not found. 2021-01-15 13:23:34 +01:00
Luis Fernando Molina b3daef53e4 Merge pull request #378 from Luis-Fernando-Molina/develop
Contribution: This is my contribution to Superalgos
2021-01-15 12:32:52 +01:00
Luis Fernando Molina 1291917c94 This is my contribution to Superalgos 2021-01-15 12:32:13 +01:00
Luis Fernando Molina 3b5a44c866 Merge pull request #377 from Luis-Fernando-Molina/develop
Contribution: Reviews Implementation. Adding, Deleting, Searching, etc. reviews.
2021-01-15 12:22:12 +01:00
Luis Fernando Molina 9b6d0a9a21 This is my contribution to Superalgos 2021-01-15 11:52:50 +01:00
Luis Fernando Molina 4dba3767a4 Reviews Implementation. Adding, Deleting, Searching, etc. reviews. 2021-01-15 11:45:55 +01:00
Luis Fernando Molina e4f2539dca Page renamed 2021-01-15 08:08:07 +01:00
Luis Fernando Molina c7ae786c95 Merge pull request #374 from Luis-Fernando-Molina/develop
Contribution: Bug Fix loading the charting system
2021-01-15 07:59:04 +01:00
Luis Fernando Molina 1d3471878d Bug Fix loading the charting system 2021-01-15 07:58:14 +01:00
Luis Fernando Molina 8b6c43ccfc Merge pull request #373 from Luis-Fernando-Molina/develop
Contribution: Improvement: Switching Workspaces in a more Responsive and User Friendly Way.
2021-01-14 19:58:03 +01:00
Luis Fernando Molina 34127ea561 Improvement: Missing to delete this 2021-01-14 19:57:09 +01:00
Luis Fernando Molina fb2c5f8d59 Bug Fixed, not reindexing after workspace switch 2021-01-14 19:30:20 +01:00
Luis Fernando Molina c79e2ccb30 Switching Workspaces More Intereactive and User Friendly 2021-01-14 19:14:22 +01:00
Julian Molina 700e8474bc Merge pull request #368 from julian-molina/develop
Contribution: Fixed workspace
2021-01-14 18:22:28 +01:00
Julian Molina 5d99c0e36e Welcome tutorials content revision finished 2021-01-14 17:59:40 +01:00
Julian Molina 7ab1ad3e40 Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-01-14 17:58:59 +01:00
Luis Fernando Molina 8dd7464d9c Merge pull request #372 from Luis-Fernando-Molina/develop
Contribution: Bug fixed: When starting the UI the schemas are not ready to inmidiatelly load tutorial
2021-01-14 16:07:33 +01:00
Luis Fernando Molina fcdd111a29 Bug fixed: When starting the UI the schemas are not ready to inmidiatelly load tutorial 2021-01-14 15:59:05 +01:00
Luis Fernando Molina 530256f431 Merge pull request #355 from CarnivalBen/chart-scale-issue-314
Chart scale issue #314
2021-01-14 15:40:21 +01:00
Julian Molina 40ff8cf21f Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-01-14 14:46:51 +01:00
Luis Fernando Molina 738ca3fc7f Merge pull request #371 from Luis-Fernando-Molina/develop
Contribution: New Language Added: Italian
2021-01-14 13:45:28 +01:00
Luis Fernando Molina f587e21deb New Language Added: Italian 2021-01-14 13:45:02 +01:00
Luis Fernando Molina a2e9d3b4d7 Merge pull request #370 from Luis-Fernando-Molina/develop
Contribution: This is my contribution to Superalgos
2021-01-14 12:59:49 +01:00
Luis Fernando Molina 2f1e36c8bc Bug that fixes ... into . . . redone again. 2021-01-14 12:59:00 +01:00
Luis Fernando Molina 0dbc2604cc Merge pull request #369 from Luis-Fernando-Molina/develop
Contribution: Batch of Bug Fixes: Config Editor, Tutorial Icons
2021-01-14 12:46:35 +01:00
Luis Fernando Molina 4fbce00b61 Update TutorialSpace.js 2021-01-14 12:45:18 +01:00
Luis Fernando Molina 321bd5c7bc Config Editor BUG fixed when you breaked JSON format 2021-01-14 12:39:34 +01:00
Luis Fernando Molina 7bcf630486 Bug fixed with tutorial icons 2021-01-14 12:28:37 +01:00
Julian Molina d0602c60e0 Welcome tutorial wip 2021-01-14 12:26:14 +01:00
Julian Molina 92bdfe04c1 Fixed workspace 2021-01-14 11:43:53 +01:00
Luis Fernando Molina a0706421b8 Update .gitignore 2021-01-14 11:39:05 +01:00
Luis Fernando Molina b2ea6d4634 Update .gitignore 2021-01-14 11:32:17 +01:00
Luis Fernando Molina c5d84cba2e Delete debug.log 2021-01-14 11:31:52 +01:00
Julian Molina 89fa434981 Merge pull request #367 from julian-molina/develop
Develop
2021-01-14 11:06:38 +01:00
Julian Molina 570789f9b0 Delete debug.log 2021-01-14 11:04:28 +01:00
Julian Molina f24692cd80 Merge branch 'develop' of https://github.com/julian-molina/Superalgos into develop 2021-01-14 11:01:21 +01:00
Julian Molina 3164b7d782 Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-01-14 10:52:23 +01:00
Julian Molina 28595ec321 Merge branch 'develop' into develop 2021-01-14 10:45:18 +01:00
Julian Molina 754b7af324 Improvements to Welcome tutorial 2021-01-14 10:40:43 +01:00
Luis Fernando Molina 2bef21b921 Merge pull request #365 from Luis-Fernando-Molina/develop
Contribution: Bug Fixed with .... becomming . . .
2021-01-14 10:34:55 +01:00
Luis Fernando Molina a98cf63ee0 Bug Fixed with .... becomming . . . 2021-01-14 10:34:28 +01:00
Luis Fernando Molina b28d241573 Merge pull request #364 from Luis-Fernando-Molina/master
Hot Fix - Bug that prevents running backtests when some stages are missing
2021-01-14 08:28:16 +01:00
Luis Fernando Molina 95a2631b3d Hot Fix - Bug that prevents running backtests when ome stages are missing. 2021-01-14 08:25:43 +01:00
Julian Molina 5e811722d8 README update 2021-01-13 21:20:40 +01:00
Julian Molina 927b089a0b README update 2021-01-13 21:18:36 +01:00
Julian Molina 1cc464196a formula fix 2021-01-13 19:40:28 +01:00
Julian Molina d230ee0b52 formula fix 2021-01-13 19:38:14 +01:00
Julian Molina 37098545a2 Merge pull request #360 from julian-molina/develop
Contribution: This is my contribution to Superalgos
2021-01-13 19:33:17 +01:00
Julian Molina 61ebe32aac This is my contribution to Superalgos 2021-01-13 19:12:20 +01:00
Luis Fernando Molina 02847c4da4 Merge pull request #359 from Luis-Fernando-Molina/develop
Contribution: Fixes the logging of errors when there are no shcema folders
2021-01-13 19:11:48 +01:00
Luis Fernando Molina 956c59ef44 Fixes the logging of errors when there are no shcema folders 2021-01-13 19:11:17 +01:00
Julian Molina a2688fc02d This is my contribution to Superalgos 2021-01-13 19:06:19 +01:00
Julian Molina 2c1e2835d2 This is my contribution to Superalgos 2021-01-13 19:03:39 +01:00
Julian Molina 287c8378d8 This is my contribution to Superalgos 2021-01-13 18:43:06 +01:00
Julian Molina 2ebb19585d Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2021-01-13 18:38:18 +01:00
Julian Molina 95d6d83415 API hierarchy 2021-01-13 18:36:11 +01:00
Luis Fernando Molina f9d71eebea Merge pull request #358 from Luis-Fernando-Molina/develop
Contribution: Fixes the readme 2
2021-01-13 17:59:47 +01:00
Luis Fernando Molina 984ebade8d Fixes the readme 2 2021-01-13 17:59:25 +01:00
Luis Fernando Molina 5bd0df77b6 Merge pull request #357 from Luis-Fernando-Molina/develop
Contribution: Fixes the readme
2021-01-13 17:56:42 +01:00
Luis Fernando Molina 97682a7812 Fixes the readme 2021-01-13 17:56:23 +01:00
Luis Fernando Molina a12d3fc304 Merge pull request #356 from Luis-Fernando-Molina/develop
Contribution: Default branch to develop
2021-01-13 17:50:22 +01:00
Luis Fernando Molina 61eb09df8c Default branch to develop 2021-01-13 17:49:43 +01:00
Luis Fernando Molina c1241b4bc0 Merge pull request #354 from Luis-Fernando-Molina/develop
Contribution: Removing bug fixes branch from footer.
2021-01-13 15:08:29 +01:00
Luis Fernando Molina 045aad3766 Removing bug fixes branch from footer. 2021-01-13 15:07:57 +01:00
Ben Golden cbf6d0c778 Merge remote-tracking branch 'upstream/develop' into chart-scale-issue-314 2021-01-13 13:58:35 +00:00
Luis Fernando Molina aa0d4d0e58 Remove Bug Fixes branch from footer. 2021-01-13 14:55:19 +01:00
Luis Fernando Molina 575fa0b035 Merge pull request #353 from Luis-Fernando-Molina/in-app-documentation
Final changes from In app documentation
2021-01-13 14:29:53 +01:00
Luis Fernando Molina f44d009ffd Merge remote-tracking branch 'upstream/in-app-documentation' into in-app-documentation 2021-01-13 14:29:01 +01:00
Luis Fernando Molina 161e57af50 Update httpInterface.js 2021-01-13 14:27:05 +01:00
Luis Fernando Molina 0d073ed829 Finals changes from In-App-Documentation branch. 2021-01-13 14:25:38 +01:00
Luis Fernando Molina 6989fb2894 Finals changes from In-App-Documentation branch. 2021-01-13 14:21:23 +01:00
Julian Molina 824f929906 Merge branch 'in-app-documentation' of https://github.com/Superalgos/Superalgos into in-app-documentation 2021-01-13 13:58:17 +01:00
Julian Molina 59c4615eec Deleting duplicates after change in title 2021-01-13 13:58:14 +01:00
Julian Molina 0305a1d8f2 Getting Started workspace and tutorials ready 2021-01-13 13:50:34 +01:00
Luis Fernando Molina 9da28c8d3f Merge pull request #352 from Luis-Fernando-Molina/in-app-documentation
Contribution: Git Branches Management
2021-01-13 13:47:20 +01:00
Luis Fernando Molina f0f26a0583 Checkout finished 2021-01-13 13:31:03 +01:00
Luis Fernando Molina 9b1eb12ebb Update httpInterface.js 2021-01-13 13:28:25 +01:00
Luis Fernando Molina 01a143965e Update httpInterface.js 2021-01-13 13:24:24 +01:00
Luis Fernando Molina 196729eb8d Update httpInterface.js 2021-01-13 13:19:59 +01:00
Luis Fernando Molina 9e0f01f8aa Bug fiexs 2021-01-13 13:15:36 +01:00
Luis Fernando Molina 76a0a8c764 Refactoring Active for Current Branch 2021-01-13 12:59:04 +01:00
Luis Fernando Molina 8b247f7af9 Final implementations of Git Branches 2021-01-13 12:55:04 +01:00
Luis Fernando Molina 29fe73b3c8 Git Branches Management 2021-01-13 12:05:07 +01:00
Julian Molina e24a303117 Footer fixes 2021-01-13 11:15:39 +01:00
Julian Molina 8a9a4336a7 Minor fix 2021-01-13 10:50:56 +01:00
Julian Molina 3ef74fef60 New section on footer 2021-01-13 10:48:28 +01:00
Luis Fernando Molina b767744f48 Merge pull request #351 from Luis-Fernando-Molina/in-app-documentation
Contribution: Undoing something deleted
2021-01-13 09:35:43 +01:00
Luis Fernando Molina 4fa9d55b4f Undoing something deleted 2021-01-13 09:35:09 +01:00
Luis Fernando Molina f67f4fb2bb Merge pull request #350 from Luis-Fernando-Molina/in-app-documentation
Contribution: Final touches to Readme
2021-01-13 09:29:35 +01:00
Luis Fernando Molina 2afee5b654 Final Touches to the Readme 2021-01-13 09:18:27 +01:00
Julian Molina af2c251b98 Update README.md 2021-01-12 21:46:53 +01:00
Julian Molina 66900f47f1 Update README.md 2021-01-12 21:45:58 +01:00
Julian Molina 6f54c178f3 Update README.md 2021-01-12 21:37:34 +01:00
Julian Molina 1fb3ab0e67 Update README.md 2021-01-12 21:30:16 +01:00
Julian Molina cea2af5d06 Update README.md 2021-01-12 21:28:31 +01:00
Julian Molina 81bbc677a4 Merge branch 'in-app-documentation' of https://github.com/Superalgos/Superalgos into in-app-documentation 2021-01-12 21:11:25 +01:00
Julian Molina d190ade900 Update README.md 2021-01-12 21:11:16 +01:00
Luis Fernando Molina 6ad78ac2ad Merge pull request #349 from Luis-Fernando-Molina/in-app-documentation
Contribution: No more arrows at previous and next button
2021-01-12 20:30:16 +01:00
Luis Fernando Molina 0603193a37 No more arrows at previous and next button 2021-01-12 20:28:56 +01:00
Luis Fernando Molina a643371436 Merge pull request #348 from Luis-Fernando-Molina/in-app-documentation
Contribution: Typos
2021-01-12 20:09:54 +01:00
Luis Fernando Molina 8188bea389 Typos 2021-01-12 20:09:28 +01:00
Luis Fernando Molina 1085a422a0 Merge pull request #347 from Luis-Fernando-Molina/in-app-documentation
Contribution: This is my contribution to Superalgos
2021-01-12 20:05:29 +01:00
Luis Fernando Molina 095a651d35 Refactoring of App Messages 2021-01-12 20:04:43 +01:00
Luis Fernando Molina cb17370093 Docs Message Refactoring 2021-01-12 19:55:39 +01:00
Luis Fernando Molina c2249f459b App Errors Refactoring 2021-01-12 19:54:22 +01:00
Luis Fernando Molina 33525a4fd0 Docs Erros Refactoring 2021-01-12 19:52:15 +01:00
Luis Fernando Molina 716c87f739 Merge pull request #346 from Luis-Fernando-Molina/in-app-documentation
Contribution: Tool Tip Spacing fixed, and auto starting tutorials.
2021-01-12 19:28:37 +01:00
Julian Molina e1bedc7190 Tutorials refactoring 2021-01-12 19:28:06 +01:00
Luis Fernando Molina 1a37d64e8c Tool Tip Spacing fixed, and auto starting tutorials. 2021-01-12 19:28:00 +01:00
Julian Molina 34123c94cc Update index.html 2021-01-12 19:07:24 +01:00
Julian Molina 308edf2cfc Merge branch 'in-app-documentation' of https://github.com/Superalgos/Superalgos into in-app-documentation 2021-01-12 18:53:11 +01:00
Julian Molina 810a6e21c6 Strategy tutorials done 2021-01-12 18:52:55 +01:00
Luis Fernando Molina de8e81f981 Merge pull request #345 from Luis-Fernando-Molina/in-app-documentation
Contribution: New instructions on how to install the app
2021-01-12 18:42:58 +01:00
Luis Fernando Molina b37f7b5711 This is my contribution to Superalgos 2021-01-12 18:42:19 +01:00
Luis Fernando Molina ec129b9260 This is my contribution to Superalgos 2021-01-12 18:39:15 +01:00
Luis Fernando Molina c86d501735 This is my contribution to Superalgos 2021-01-12 18:37:38 +01:00
Luis Fernando Molina 8d6efb116a This is my contribution to Superalgos 2021-01-12 18:35:28 +01:00
Luis Fernando Molina 145ea8c485 This is my contribution to Superalgos 2021-01-12 18:30:55 +01:00
Luis Fernando Molina ed553ecbf8 This is my contribution to Superalgos 2021-01-12 18:22:13 +01:00
Luis Fernando Molina fddd878d13 This is my contribution to Superalgos 2021-01-12 18:20:16 +01:00
Julian Molina 9785425550 Strategies tutorials, 1, 2, 3 ready. 2021-01-12 18:20:12 +01:00
Luis Fernando Molina 473c6c4eb5 This is my contribution to Superalgos 2021-01-12 18:17:55 +01:00
Luis Fernando Molina f4a876b4a8 This is my contribution to Superalgos 2021-01-12 18:16:14 +01:00
Luis Fernando Molina 0b0c2632d2 This is my contribution to Superalgos 2021-01-12 18:11:48 +01:00
Luis Fernando Molina 3bbedb94f3 This is my contribution to Superalgos 2021-01-12 17:57:36 +01:00
Luis Fernando Molina 0553c93fac New instructions on how to install the app 2021-01-12 17:40:18 +01:00
Julian Molina 66c7ef097d Merge branch 'in-app-documentation' of https://github.com/Superalgos/Superalgos into in-app-documentation 2021-01-12 17:27:02 +01:00
Julian Molina beac3f8f47 Update masters-data-mine-002-bollinger-channels.json 2021-01-12 17:26:45 +01:00
Luis Fernando Molina 38a1aa52c9 Merge pull request #344 from Luis-Fernando-Molina/in-app-documentation
Contribution: Minor Fixes
2021-01-12 17:23:34 +01:00
Luis Fernando Molina 9b137cd0db Bug Fixed, Anchor not flagging page updated 2021-01-12 17:23:06 +01:00
Julian Molina e149db0504 Strategy tutorials wip 2021-01-12 17:14:01 +01:00
Julian Molina 5bd84c8320 Strategies tutorial wip 2021-01-12 16:32:16 +01:00
Julian Molina e515256180 Merge branch 'in-app-documentation' of https://github.com/Superalgos/Superalgos into in-app-documentation 2021-01-12 16:17:42 +01:00
Julian Molina 4296ec4334 Strategies tutotrials wip 2021-01-12 16:17:39 +01:00
Luis Fernando Molina 83ac18340f Missing Text 2021-01-12 15:27:06 +01:00
Luis Fernando Molina 0cf1089dad code at the docs fixed 2021-01-12 15:22:32 +01:00
Luis Fernando Molina 9163377a64 Minor Fixes 2021-01-12 15:10:18 +01:00
Luis Fernando Molina 27a5979393 Merge pull request #343 from Luis-Fernando-Molina/in-app-documentation
Contribution: Update Command
2021-01-12 14:49:28 +01:00
Luis Fernando Molina bc5def6af6 Update Command 2021-01-12 14:48:52 +01:00
Luis Fernando Molina f8f817ce33 Merge pull request #342 from Luis-Fernando-Molina/in-app-documentation
Contribution: Bug Fix Anchor in Tutorials
2021-01-12 14:47:26 +01:00
Luis Fernando Molina 9db1797cb3 Bug Fix Anchor in Tutorials 2021-01-12 14:38:20 +01:00
Luis Fernando Molina e04eabfdae App Update Command 2021-01-12 14:18:33 +01:00
Luis Fernando Molina 83354c5c10 Only git working 2021-01-12 13:22:38 +01:00
Luis Fernando Molina 9187a0ead9 Merge branch 'in-app-documentation' of https://github.com/Superalgos/Superalgos into in-app-documentation 2021-01-12 13:10:39 +01:00
Julian Molina 56e7ab4825 External links 2021-01-12 13:09:26 +01:00
Luis Fernando Molina 3e543a3ee0 test only git 2021-01-12 13:08:45 +01:00
Julian Molina 30bc9f0bcd External links 2021-01-12 13:07:53 +01:00
Julian Molina 1fa67814cd Tutorials WIP 2021-01-12 12:45:18 +01:00
Luis Fernando Molina 3033ec3326 App Update related pages 2021-01-12 12:18:14 +01:00
Julian Molina 2aba1fe6fa Update docs-js-code-style.png 2021-01-12 10:51:11 +01:00
Luis Fernando Molina bf07bf9af1 app.update implementation part 2 2021-01-12 10:04:28 +01:00
Julian Molina be7eeed1eb Update docs-js-code-style.png 2021-01-12 09:36:52 +01:00
Luis Fernando Molina 526684fea0 app.update implementation part1 2021-01-12 09:32:31 +01:00
Julian Molina 8a645bec81 Merge branch 'in-app-documentation' of https://github.com/Superalgos/Superalgos into in-app-documentation 2021-01-11 22:47:23 +01:00
Julian Molina 5d64c3ccaa Masters data mine indicators 2021-01-11 22:46:44 +01:00
Luis Fernando Molina f7bb2d6fc5 Merge pull request #339 from Luis-Fernando-Molina/in-app-documentation
Contribution: JS at Tutorials
2021-01-11 22:27:25 +01:00
Luis Fernando Molina 728e406398 Merge remote-tracking branch 'upstream/in-app-documentation' into in-app-documentation 2021-01-11 22:26:02 +01:00
Luis Fernando Molina 1992605d06 CODE added to Tutorials 2021-01-11 22:11:59 +01:00
Luis Fernando Molina d705a391cc Error when no pages found 2021-01-11 22:05:39 +01:00
Luis Fernando Molina 402fadeb2f Tutorials Names Fixed 2021-01-11 21:55:29 +01:00
Luis Fernando Molina 243573c73b Merge pull request #338 from Luis-Fernando-Molina/in-app-documentation
Many bugs fixed including files with bad names
2021-01-11 21:26:16 +01:00
Luis Fernando Molina eb7d5688c8 Delete bollinger-channels.json 2021-01-11 21:25:45 +01:00
Luis Fernando Molina bea82e77fa sykes file names fixed 2021-01-11 21:18:27 +01:00
Julian Molina 1fd3e78685 Update docs-js-code-style.png 2021-01-11 21:15:19 +01:00
Luis Fernando Molina 8f6ab2509a masters fixed 2021-01-11 21:14:04 +01:00
Luis Fernando Molina 9ee8d9ec89 File name fixed with repagination 2021-01-11 21:08:55 +01:00
Luis Fernando Molina aa28c2e807 Merge remote-tracking branch 'upstream/in-app-documentation' into in-app-documentation 2021-01-11 20:57:31 +01:00
Luis Fernando Molina d793e63e52 Bug Fixed - rapaginate working 2021-01-11 20:56:34 +01:00
Julian Molina cf3566c879 Deleting duplicates 2021-01-11 20:52:43 +01:00
Julian Molina c67088a79e Back to proper name 2021-01-11 20:52:16 +01:00
Luis Fernando Molina b0de0dcfd3 Repaginate working 2021-01-11 20:28:39 +01:00
Luis Fernando Molina 9289b6eb10 Function to order an array of pages generalized and moved to utilities 2021-01-11 20:07:50 +01:00
Ben Golden 69e41d8ac1 Fixed issue#314
Updated dynamicDecimals function to round value correctly for all ranges of rates (i.e. for Bitcoin at around 20K+ as well as smaller tokens in the 0 to 50 range)
2021-01-11 18:37:13 +00:00
Julian Molina 07d8931d14 Tutorials WIP 2021-01-11 19:16:29 +01:00
Julian Molina 173e6a889f Bollinger bands pages 2021-01-11 19:16:14 +01:00
Julian Molina d23efac8bb Anchors 2021-01-11 19:13:38 +01:00
Luis Fernando Molina 030db26ae2 bug fixed: numbering the topic and tutorial files 2021-01-11 17:15:47 +01:00
Luis Fernando Molina 03dd8dd980 Merge remote-tracking branch 'upstream/in-app-documentation' into in-app-documentation 2021-01-11 16:39:31 +01:00
Julian Molina 7aec39e1fe Fixed tutorial lists 2021-01-11 15:52:16 +01:00
Luis Fernando Molina e63e02f29b Update Footer.js 2021-01-11 15:37:28 +01:00
Luis Fernando Molina cf6d80fcc2 Bug fixed. Finding tool tips up to 10 words, and taking the longest first 2021-01-11 15:34:08 +01:00
Julian Molina 23aceb3653 Merge branch 'in-app-documentation' of https://github.com/Superalgos/Superalgos into in-app-documentation 2021-01-11 14:52:39 +01:00
Julian Molina 56add6148f Tutorials WIP 2021-01-11 14:52:35 +01:00
Luis Fernando Molina 39387c0c65 Merge pull request #336 from Luis-Fernando-Molina/in-app-documentation
Latest reported bugs, fixed.
2021-01-11 14:51:31 +01:00
Luis Fernando Molina 6e14e1b2e9 Bug when you leave these fields in blanck 2021-01-11 14:48:06 +01:00
Luis Fernando Molina 8c8c13e85d Bug fixes. Missing Anchor and Deleting Paragraphs not flagged as an update. 2021-01-11 14:43:58 +01:00
Julian Molina 42888db3de Merge branch 'in-app-documentation' of https://github.com/Superalgos/Superalgos into in-app-documentation 2021-01-11 12:46:23 +01:00
Luis Fernando Molina 29f9d5d414 Merge pull request #335 from Luis-Fernando-Molina/in-app-documentation
Bug fixes with Hirierchies and Tables
2021-01-11 11:13:48 +01:00
Luis Fernando Molina 29a2d71352 Bug Fixed y logging 2021-01-11 11:12:48 +01:00
Luis Fernando Molina fe4e98a772 Bug of Table messing up with tooltips fixed 2021-01-11 10:55:36 +01:00
Luis Fernando Molina 865c46556a Hiriarchy bug fixed 2021-01-11 09:42:49 +01:00
Julian Molina 5928c20bf9 Chapter style 2021-01-10 22:22:24 +01:00
Julian Molina f189b3ef6a Create user-manual.json 2021-01-10 21:39:29 +01:00
Julian Molina 9b01d71ffd Book styles 2021-01-10 21:39:12 +01:00
Julian Molina 3a9f4769a2 New order in context menu and new welcome message 2021-01-10 21:38:47 +01:00
Julian Molina 32bff1b5d7 Update docs-chapter-style.png 2021-01-10 21:00:03 +01:00
Julian Molina 3fb01a3a65 Topics, tutorials and books styles 2021-01-10 20:39:51 +01:00
Julian Molina edda9c4f5f Update on topic navigation 2021-01-10 19:34:41 +01:00
Julian Molina 13a51515e7 New topic navigation layout 2021-01-10 18:53:05 +01:00
Julian Molina 939f5d7a35 Merge branch 'in-app-documentation' of https://github.com/Superalgos/Superalgos into in-app-documentation 2021-01-10 18:17:12 +01:00
Julian Molina f1c239229e Tutorials navigation WIP 2021-01-10 18:17:06 +01:00
Julian Molina efa752773e Revert "User Manual book"
This reverts commit f0458136cc.
2021-01-10 18:16:45 +01:00
Julian Molina f0458136cc User Manual book 2021-01-10 17:07:16 +01:00
Luis Fernando Molina 39fdfbb16f Merge pull request #334 from Luis-Fernando-Molina/in-app-documentation
Adding, deleting or updating individual pages of the Docs implemented.
2021-01-10 17:03:54 +01:00
Luis Fernando Molina 12dc3b7092 Merge remote-tracking branch 'upstream/in-app-documentation' into in-app-documentation 2021-01-10 16:42:51 +01:00
Luis Fernando Molina c412f3bc96 All bugs fixed - DELETE UPDATE CREATE docs pages 2021-01-10 16:27:26 +01:00
Luis Fernando Molina ff2dd2275d Bugs Fixed 2021-01-10 15:50:38 +01:00
Luis Fernando Molina 4e2ced588a fixes 2021-01-10 15:25:29 +01:00
Luis Fernando Molina a704ee7c96 Create vaina.json 2021-01-10 15:17:50 +01:00
Luis Fernando Molina 48b37fa658 Update httpInterface.js 2021-01-10 15:15:23 +01:00
Luis Fernando Molina a8b1602fd8 Update httpInterface.js 2021-01-10 15:10:32 +01:00
Luis Fernando Molina 37ea4e353e created, edited and deleted flags implemented 2021-01-10 15:09:08 +01:00
Julian Molina 83958d7ac4 Topic navigation ready 2021-01-10 14:06:22 +01:00
Luis Fernando Molina 264ee04654 Merge pull request #333 from Luis-Fernando-Molina/in-app-documentation
Tutorials Version 2 - Integrated to the Docs Version 2
2021-01-10 11:33:12 +01:00
Luis Fernando Molina 33e6767faa Merge remote-tracking branch 'upstream/in-app-documentation' into in-app-documentation 2021-01-10 11:31:09 +01:00
Luis Fernando Molina 41c4156104 From here Tutorials are MULTI-LANGUAGE !!! 2021-01-10 11:25:34 +01:00
Luis Fernando Molina aa4a931080 Editing Tutorials from the Docs, done. 2021-01-10 11:16:26 +01:00
Luis Fernando Molina 97127b3eb4 control docs implemented 2021-01-10 10:43:30 +01:00
Luis Fernando Molina 1fbfd125e4 show docs page 2021-01-10 10:33:31 +01:00
Luis Fernando Molina 8f9d37972f Function to migrate Tutorials Removed 2021-01-10 10:06:52 +01:00
Luis Fernando Molina 8b706aa0ed Credits Page finished 2021-01-10 09:40:49 +01:00
Luis Fernando Molina 3c36d26c8a Update SearchEngine.js 2021-01-10 09:34:28 +01:00
Luis Fernando Molina 7ad851c481 Credits Page working as expected 2021-01-10 09:34:12 +01:00
Luis Fernando Molina 1f91aa1cd2 Removed TODOS and added Credit Page Utilities 2021-01-10 09:08:00 +01:00
Julian Molina 5f000e2e15 Order management finished 2021-01-09 21:33:46 +01:00
Julian Molina c09d518054 Mantaining simulated orders 2021-01-09 21:19:46 +01:00
Julian Molina ebc6b1e30b Maintaining live orders 2021-01-09 20:55:53 +01:00
Julian Molina e71215ea4e Order Management start 2021-01-09 20:17:39 +01:00
Julian Molina 07cfce275f Trading logic finished 2021-01-09 19:37:32 +01:00
Julian Molina de8b37d7f1 Trading logic syntax 2021-01-09 19:08:53 +01:00
Luis Fernando Molina affda91a85 Latest Manual Fixes 2021-01-09 17:31:42 +01:00
Luis Fernando Molina d3a6d4d012 Wrongly moved 2021-01-09 17:15:36 +01:00
Luis Fernando Molina 7d2631f267 Manually fixes Tutorials 2 and 4 2021-01-09 17:07:32 +01:00
Julian Molina 5c5628b875 Close stage 2021-01-09 16:52:39 +01:00
Julian Molina ac88493922 Position management 2021-01-09 16:36:25 +01:00
Luis Fernando Molina bfd35ca7ba Tutorial 3 manually fixed for repleadted types 2021-01-09 16:29:08 +01:00
Luis Fernando Molina 33bbff4d62 Manually Fixed Documents with repeated type 2021-01-09 15:11:14 +01:00
Julian Molina eaa6e3748d Order definitions and Manage Stage 2021-01-09 14:44:22 +01:00
Luis Fernando Molina baac911a93 Getting Started Checked 2021-01-09 14:35:07 +01:00
Luis Fernando Molina c79d1950b3 Missing stuff 2021-01-09 13:09:07 +01:00
Luis Fernando Molina 42da0f6898 Some fixes 2021-01-09 13:01:38 +01:00
Luis Fernando Molina 1f8ef333ed third try 2021-01-09 12:47:25 +01:00
Luis Fernando Molina d90e366f5a 2nd Try 2021-01-09 12:34:40 +01:00
Luis Fernando Molina 23601e64fd first try 2021-01-09 12:10:43 +01:00
Julian Molina 93b2e6ebd3 Open stage execution 2021-01-09 11:31:11 +01:00
Julian Molina 390507add1 Renamed files 2021-01-09 11:14:27 +01:00
Julian Molina 50c11f2edc Open stage initial targets 2021-01-09 11:12:50 +01:00
Julian Molina 11cb5d4687 Trigger Stage 2021-01-09 10:32:23 +01:00
Luis Fernando Molina 65d79e1e3e Trading Bot Layers Tutorial 2021-01-09 10:21:30 +01:00
Luis Fernando Molina 8210fd4088 Testing a trading idea 2, tutorial 2021-01-09 10:07:36 +01:00
Luis Fernando Molina 8afcb88a26 Testing a Trading Idea Tutorial 2021-01-09 09:58:36 +01:00
Luis Fernando Molina f220e9404d Defining a Trading Idea Tutorial 2021-01-09 09:51:40 +01:00
Luis Fernando Molina bc5ccf86e1 Intro t oTrading Systems Toturial 2021-01-09 09:47:07 +01:00
Luis Fernando Molina 1e60d531d8 Update TutorialSpace.js 2021-01-09 09:46:30 +01:00
Luis Fernando Molina 705a15b421 Install a new market tutorial 2021-01-09 09:24:54 +01:00
Luis Fernando Molina 5a270d5332 Update TutorialSpace.js 2021-01-09 09:23:52 +01:00
Luis Fernando Molina d0b07beee9 Title and Subtitle handling 2021-01-09 09:19:27 +01:00
Luis Fernando Molina 81369387f2 Developers Tutorial 2021-01-09 09:08:24 +01:00
Luis Fernando Molina 93957bf904 Title handling as subtitle 2021-01-09 09:07:46 +01:00
Julian Molina 5fedc615d5 Trading system top level 2021-01-08 21:52:28 +01:00
Julian Molina 0ebc8795da Charting Space finished 2021-01-08 21:43:17 +01:00
Julian Molina a21871a3b6 Charting space mid level 2021-01-08 21:21:50 +01:00
Luis Fernando Molina 1202308651 Welcome Tutorial Migraged 2021-01-08 21:03:04 +01:00
Julian Molina 9ec4715b72 Charting Space top level 2021-01-08 20:51:47 +01:00
Luis Fernando Molina aa0d7fe728 Bug Fixed 2021-01-08 20:48:54 +01:00
Julian Molina e686e4207c Recovered files overwritten by book completed commit 2021-01-08 20:32:38 +01:00
Luis Fernando Molina 2020a1b892 Arrow Characters replaced 2021-01-08 20:02:38 +01:00
Luis Fernando Molina 01c8a367cc Merge pull request #331 from Luis-Fernando-Molina/in-app-documentation
Fix of deleted topics and nodes at the Docs + tutorials integration
2021-01-08 19:00:12 +01:00
Luis Fernando Molina e1cfd219b1 Fix of topics and nodes that were deleted yesterday 2021-01-08 18:58:41 +01:00
Luis Fernando Molina 0bf4edee45 Merge remote-tracking branch 'upstream/in-app-documentation' into in-app-documentation 2021-01-08 18:30:00 +01:00
Julian Molina a4b7790ee3 Network topic finished 2021-01-08 17:59:21 +01:00
Luis Fernando Molina 93899e72ea Deleting the content of the config 2021-01-08 17:58:51 +01:00
Julian Molina 631fecbf0b Network trading parameters 2021-01-08 17:01:54 +01:00
Luis Fernando Molina cb237d6dd1 Kwd characters converted 2021-01-08 14:28:03 +01:00
Julian Molina 999ecb7dca Network Trading Bot Instance 2021-01-08 14:22:16 +01:00
Luis Fernando Molina b61ed1b39d dealing with KWD 2021-01-08 13:59:37 +01:00
Luis Fernando Molina ecff17d86e kbd working 2021-01-08 10:20:20 +01:00
Luis Fernando Molina 562046d5b1 Tutorial Migration Working 2021-01-08 09:46:29 +01:00
Luis Fernando Molina 1c4ebd8826 No errors 2021-01-08 08:55:36 +01:00
Julian Molina 3443ff8ee9 Network Data Tasks 2021-01-07 22:07:47 +01:00
Julian Molina c484130677 Network WIP 2021-01-07 21:07:16 +01:00
Julian Molina 8186bfbd04 Design space topic 2021-01-07 19:15:27 +01:00
Luis Fernando Molina 634ab89949 Migration from Tutorial Config to Docs 2021-01-07 18:10:46 +01:00
Julian Molina 23540ccaa7 Menu items concepts WIP 2021-01-07 16:02:29 +01:00
Luis Fernando Molina 22c17a28e6 Merge branch 'develop' into in-app-documentation 2021-01-07 12:34:49 +01:00
Luis Fernando Molina 19b4750183 Merge remote-tracking branch 'upstream/master' into develop 2021-01-07 12:26:38 +01:00
Julian Molina 1e861aaf38 Fixed initialBalance before live trading 2021-01-07 12:12:13 +01:00
Julian Molina 12fc48bcc2 Fixed initialBalance before live trading 2021-01-07 12:04:59 +01:00
Luis Fernando Molina f4763d38f8 Merge pull request #328 from Luis-Fernando-Molina/in-app-documentation
Contribution: First Book of Tutorials
2021-01-07 11:51:24 +01:00
Luis Fernando Molina c9353ef532 First Book of Tutorials 2021-01-07 11:50:29 +01:00
Luis Fernando Molina 3eb1b63fba Merge pull request #326 from Luis-Fernando-Molina/in-app-documentation
Contribution: But Fixed when editing a paragraph with Erros Style
2021-01-07 10:59:26 +01:00
Luis Fernando Molina 244a2113a8 But Fixed when editing a paragraph with Erros Style 2021-01-07 10:58:19 +01:00
Luis Fernando Molina 43c664e854 Merge pull request #325 from Luis-Fernando-Molina/in-app-documentation
Contribution to Superalgos
2021-01-07 10:53:31 +01:00
Luis Fernando Molina 7a00e2d6b7 Bug Fixed at search results. 2021-01-07 10:52:57 +01:00
Luis Fernando Molina 75009ec4ec Tutorials Implemented at the Docs 2021-01-07 09:59:54 +01:00
Luis Fernando Molina 23db433292 Merge pull request #324 from Luis-Fernando-Molina/in-app-documentation
Contribution to Superalgos
2021-01-07 08:20:39 +01:00
Luis Fernando Molina 4c3b825caf Bug Fixes Table and Gif 2021-01-07 08:19:27 +01:00
Luis Fernando Molina 125d16f755 Merge remote-tracking branch 'upstream/in-app-documentation' into in-app-documentation 2021-01-07 08:02:27 +01:00
Julian Molina 656cfa3a01 Topics navigation WIP 2021-01-06 21:27:20 +01:00
Julian Molina e37f3b94a0 Borders standardization 2021-01-06 20:30:36 +01:00
Julian Molina 70951a98a9 Topic styles 2021-01-06 20:07:28 +01:00
Julian Molina 6cbdd89ae2 References 2021-01-06 17:33:47 +01:00
Julian Molina 960041763c First how to included into a different topic 2021-01-06 17:02:41 +01:00
Julian Molina 747eac3d88 Introduction 5-6 2021-01-06 16:38:31 +01:00
Luis Fernando Molina e27c16d92d contribute command fully implemented 2021-01-06 16:30:51 +01:00
Julian Molina 7e5104d63a Introduction 1-4 2021-01-06 16:21:18 +01:00
Luis Fernando Molina a58e18063c Contribute Command Page 2021-01-06 16:00:25 +01:00
Julian Molina 1cef450030 Merge branch 'in-app-documentation' of https://github.com/Superalgos/Superalgos into in-app-documentation 2021-01-06 15:22:24 +01:00
Julian Molina 2abcc0cb06 None 2021-01-06 15:22:12 +01:00
Luis Fernando Molina 997d871d27 This is my contribution to Superalgos 2021-01-06 14:51:19 +01:00
Luis Fernando Molina 8c7b58d293 This is my contribution to Superalgos 2021-01-06 14:44:38 +01:00
Luis Fernando Molina 9c66335331 Merge pull request #323 from Luis-Fernando-Molina/in-app-documentation
Contribution to Superalgos
2021-01-06 14:18:02 +01:00
Luis Fernando Molina d443adf61f This is my contribution to Superalgos 2021-01-06 14:17:22 +01:00
Luis Fernando Molina a30b8abd4e Test4 2021-01-06 14:16:01 +01:00
Luis Fernando Molina 0246504d92 Merge pull request #322 from Luis-Fernando-Molina/in-app-documentation
Contribution to Superalgos
2021-01-06 14:14:03 +01:00
Luis Fernando Molina 7e62df8f17 Test3 2021-01-06 14:12:19 +01:00
Luis Fernando Molina bc7c085e17 This is my contribution to Superalgos 2021-01-06 14:05:41 +01:00
Luis Fernando Molina 0b27186d9a Test Message 2021-01-06 14:03:45 +01:00
Luis Fernando Molina e3c0ba7f1c Book 2021-01-06 13:10:00 +01:00
Luis Fernando Molina ca4a3ac1a3 Merge pull request #321 from Luis-Fernando-Molina/in-app-documentation
All reverts Fixed
2021-01-06 12:22:33 +01:00
Luis Fernando Molina db77950ac6 Topics Latest Version 2021-01-06 12:21:29 +01:00
Luis Fernando Molina 66b71953d8 Revert "Revert "Merge branch 'in-app-documentation' of https://github.com/Superalgos/Superalgos into in-app-documentation""
This reverts commit a70b142afa.
2021-01-06 12:13:42 +01:00
Luis Fernando Molina 601cd715ef Merge pull request #320 from Luis-Fernando-Molina/in-app-documentation
In app documentation Revert Fixed
2021-01-06 12:05:50 +01:00
Luis Fernando Molina 3378a10d25 Revert of the 1st Revert 2021-01-06 12:02:34 +01:00
Luis Fernando Molina fd90dffa54 Update httpInterface.js 2021-01-06 11:47:25 +01:00
Luis Fernando Molina 0edaf21452 Merge remote-tracking branch 'upstream/in-app-documentation' into in-app-documentation 2021-01-06 11:40:18 +01:00
Luis Fernando Molina 38f603b0fd Merge pull request #319 from Luis-Fernando-Molina/in-app-documentation
My Contribution to Superalgos
2021-01-06 11:34:02 +01:00
Julian Molina bcd9a0e4aa Trading engine - Orders 2021-01-06 11:28:24 +01:00
Luis Fernando Molina 9ebefe8861 My Message 2021-01-06 11:18:56 +01:00
Julian Molina 4e500720e4 Trading engine - Last 2021-01-06 11:16:28 +01:00
Julian Molina ca75ae6578 Trading engine - Current 2021-01-06 10:55:11 +01:00
Luis Fernando Molina a9012f1bbf Github API 2021-01-06 10:55:01 +01:00
Julian Molina a678e0d784 Trading engine - Position 2021-01-06 10:50:44 +01:00
Julian Molina 55633f51f4 Trading engine - Strategies 2021-01-06 10:46:35 +01:00
Julian Molina 002a78580e Merge branch 'in-app-documentation' of https://github.com/Superalgos/Superalgos into in-app-documentation 2021-01-06 10:43:47 +01:00
Julian Molina 1d4bac07ab Trading engine - Episode 2021-01-06 10:42:54 +01:00
Luis Fernando Molina 4e5e5a6a6e Merge pull request #317 from Luis-Fernando-Molina/in-app-documentation
In app documentation
2021-01-06 08:54:07 +01:00
Luis Fernando Molina 2efbf9c8aa Initial Definition for Space Style and Settings plus formatting on Config Editor 2021-01-06 08:47:09 +01:00
Luis Fernando Molina a953ce8ace Merge remote-tracking branch 'upstream/in-app-documentation' into in-app-documentation 2021-01-06 08:22:40 +01:00
Julian Molina c62c960f9e Trading engine partial 2021-01-05 22:10:36 +01:00
Julian Molina f38e5ed754 Trading Engine 2021-01-05 20:57:16 +01:00
Julian Molina 5506027895 Superscripts 2021-01-05 20:07:14 +01:00
Julian Molina b1bbd609b0 Merge branch 'in-app-documentation' of https://github.com/Superalgos/Superalgos into in-app-documentation 2021-01-05 19:09:20 +01:00
Julian Molina 9dcaf71f08 Plugins 2021-01-05 19:09:13 +01:00
Luis Fernando Molina 011b03ee9c This is my contribution to Superalgos 2021-01-05 18:16:18 +01:00
Luis Fernando Molina a134662df0 Update httpInterface.js 2021-01-05 17:56:20 +01:00
Luis Fernando Molina 1d66bb7cee Merge pull request #316 from Luis-Fernando-Molina/in-app-documentation
In app documentation
2021-01-05 17:54:39 +01:00
Julian Molina f2625e866f Merge branch 'in-app-documentation' of https://github.com/Superalgos/Superalgos into in-app-documentation 2021-01-05 17:28:28 +01:00
Julian Molina 1e7907366f Design space 2021-01-05 17:27:50 +01:00
Luis Fernando Molina 45bf1de5eb test 3 2021-01-05 17:18:27 +01:00
Luis Fernando Molina 0f478d9bf6 Update httpInterface.js 2021-01-05 17:16:42 +01:00
Luis Fernando Molina a70b142afa Revert "Merge branch 'in-app-documentation' of https://github.com/Superalgos/Superalgos into in-app-documentation"
This reverts commit 53ecfa7072, reversing
changes made to 63f4e1f0d4.
2021-01-05 16:52:27 +01:00
Luis Fernando Molina 3c89514d7c Revert "pulling"
This reverts commit 5a6b45c36d.
2021-01-05 16:52:18 +01:00
Luis Fernando Molina 5a6b45c36d pulling 2021-01-05 16:50:30 +01:00
Luis Fernando Molina 53ecfa7072 Merge branch 'in-app-documentation' of https://github.com/Superalgos/Superalgos into in-app-documentation 2021-01-05 16:50:29 +01:00
Luis Fernando Molina 63f4e1f0d4 using git credential manager 2021-01-05 16:48:57 +01:00
Julian Molina dba06e6689 Trading Mine 2021-01-05 16:46:46 +01:00
Julian Molina 32452999fb Merge branch 'in-app-documentation' of https://github.com/Superalgos/Superalgos into in-app-documentation 2021-01-05 16:39:36 +01:00
Julian Molina b118e933a1 Data mines fiinshed 2021-01-05 16:38:45 +01:00
Luis Fernando Molina e8ff12c2b8 This is my contribution to Superalgos 2021-01-05 16:30:01 +01:00
Luis Fernando Molina 66256aac21 This is my contribution to Superalgos 2021-01-05 16:28:23 +01:00
Luis Fernando Molina 37ff80a0e4 Update app-commands-errors-001-app-error-contribution-not-sent.json 2021-01-05 16:13:02 +01:00
Luis Fernando Molina 615d948b76 All looks good 2021-01-05 16:09:43 +01:00
Luis Fernando Molina b9efd148e7 Revert "This is my contribution to Superalgos"
This reverts commit b954703041, reversing
changes made to 4a0925ed1b.
2021-01-05 16:05:34 +01:00
Luis Fernando Molina ace492518a Revert "This is my contribution to Superalgos"
This reverts commit 62e309a5d2.
2021-01-05 16:05:19 +01:00
Luis Fernando Molina 62e309a5d2 This is my contribution to Superalgos 2021-01-05 15:49:17 +01:00
Luis Fernando Molina b954703041 This is my contribution to Superalgos 2021-01-05 15:40:52 +01:00
Luis Fernando Molina 4a0925ed1b This is my contribution to Superalgos 2021-01-05 15:39:11 +01:00
Luis Fernando Molina c623daee34 Update .gitignore 2021-01-05 15:13:20 +01:00
Luis Fernando Molina a37776fd6c Bye 2021-01-05 15:12:53 +01:00
Luis Fernando Molina 056c9c1286 Update Github.json 2021-01-05 15:09:26 +01:00
Luis Fernando Molina 4b162ff162 Test 2021-01-05 15:08:50 +01:00
Luis Fernando Molina 1d8b6fc7fb Update .gitignore 2021-01-05 14:54:37 +01:00
Luis Fernando Molina 505498d76d Github Credentials File 2021-01-05 14:54:01 +01:00
Julian Molina 1b8900b3ad DAta mines shapes finished 2021-01-05 14:50:41 +01:00
Luis Fernando Molina 70115db226 This is my contribution to Superalgos 2021-01-05 14:28:28 +01:00
Julian Molina 18dd5bbaa3 Merge branch 'in-app-documentation' of https://github.com/Superalgos/Superalgos into in-app-documentation 2021-01-05 14:26:50 +01:00
Julian Molina b779926a5e Data mines - shapes 2021-01-05 14:26:22 +01:00
Julian Molina 8c6187d95e Merge branch 'in-app-documentation' of https://github.com/Superalgos/Superalgos into in-app-documentation 2021-01-05 14:25:56 +01:00
Luis Fernando Molina 6e97de08c8 This is my contribution to Superalgos 2021-01-05 14:23:22 +01:00
Luis Fernando Molina f8f64420cc This is my contribution to Superalgos 2021-01-05 14:18:02 +01:00
Luis Fernando Molina 874a3cde1c This is my contribution to Superalgos 2021-01-05 14:16:28 +01:00
Luis Fernando Molina 0a6cb07b63 App Command Interface with app.contribute implemented 2021-01-05 11:18:35 +01:00
Luis Fernando Molina ec476b2b40 typo 2021-01-05 10:24:19 +01:00
Luis Fernando Molina f2e744cb7e simple git installed 2021-01-05 10:10:30 +01:00
Luis Fernando Molina e2a8f4be8e Update docs-commands-messages-001-docs-message-saving-succed.json 2021-01-05 08:36:49 +01:00
Luis Fernando Molina 5b6e55c5af Update docs-languages-003-docs-in-russian.json 2021-01-05 08:35:19 +01:00
Luis Fernando Molina f7bfc4bce0 Docs in Spanish 2021-01-05 08:33:14 +01:00
Luis Fernando Molina 83962832c2 Merge branch 'develop' into in-app-documentation 2021-01-05 08:19:59 +01:00
Julian Molina 5024517f27 Data mines sensor 2021-01-04 21:40:44 +01:00
Julian Molina 481858ce05 Data mines - indicators 2021-01-04 20:50:49 +01:00
Luis Fernando Molina 174210387f Merge branch 'in-app-documentation' of https://github.com/Superalgos/Superalgos into in-app-documentation 2021-01-04 19:33:43 +01:00
Luis Fernando Molina a54c9b6474 book completed 2021-01-04 19:33:32 +01:00
Julian Molina c52b148336 Merge branch 'in-app-documentation' of https://github.com/Superalgos/Superalgos into in-app-documentation 2021-01-04 19:32:35 +01:00
Julian Molina e10944a734 Charting space done 2021-01-04 19:32:33 +01:00
Luis Fernando Molina a584521842 Merge branch 'in-app-documentation' of https://github.com/Superalgos/Superalgos into in-app-documentation 2021-01-04 19:25:59 +01:00
Luis Fernando Molina bb8025e3a7 Command Messages 2021-01-04 19:25:55 +01:00
Julian Molina 505f7a78f9 Merge branch 'in-app-documentation' of https://github.com/Superalgos/Superalgos into in-app-documentation 2021-01-04 19:13:45 +01:00
Julian Molina f56d808538 Charting space top level 2021-01-04 19:13:42 +01:00
Luis Fernando Molina 388574431a Bug fixed, error veryfying optional stages 2021-01-04 18:45:56 +01:00
Luis Fernando Molina d71eb153e7 Merge branch 'in-app-documentation' of https://github.com/Superalgos/Superalgos into in-app-documentation 2021-01-04 17:36:03 +01:00
Luis Fernando Molina c86bfe58ea Bug Fixed tooltips 2021-01-04 17:36:00 +01:00
Julian Molina 3b3c901518 Merge branch 'in-app-documentation' of https://github.com/Superalgos/Superalgos into in-app-documentation 2021-01-04 17:24:17 +01:00
Julian Molina 33a44161a3 Crypto ecosystem finished 2021-01-04 17:24:11 +01:00
Luis Fernando Molina d8692a7bed Update SearchResultsPage.js 2021-01-04 16:22:48 +01:00
Luis Fernando Molina d3be85173b to book button implemented 2021-01-04 16:18:06 +01:00
Luis Fernando Molina d16c521b58 Book 2021-01-04 15:57:10 +01:00
Luis Fernando Molina b543605fd2 Delete how-to-trade-.json 2021-01-04 15:05:52 +01:00
Luis Fernando Molina 48a6af5351 Books implemented 2021-01-04 13:27:28 +01:00
Luis Fernando Molina a7b08d3a42 Bug fixed 2021-01-04 10:58:08 +01:00
Luis Fernando Molina 2ba163118e Books Bug Fixed 2021-01-04 10:34:43 +01:00
Luis Fernando Molina c6212aac2b bug fixed 2021-01-04 09:55:31 +01:00
Julian Molina 0b858082c4 Tutorials 2021-01-03 21:46:28 +01:00
Julian Molina 9578dc0a0e Superalgos project 2021-01-03 20:58:57 +01:00
Julian Molina 094fdbc57b Finished network 2021-01-03 20:20:08 +01:00
Julian Molina 5f782e82ea Update docs.css 2021-01-03 19:43:16 +01:00
Julian Molina 09c31ab2ec Fixed tooltips in definition table 2021-01-03 18:57:20 +01:00
Julian Molina a96f903c58 Code and footer styles 2021-01-03 18:17:32 +01:00
Julian Molina c883156ca0 <ul> in lists 2021-01-03 17:38:41 +01:00
Julian Molina 1b20cea720 Fixed Run All Project Data Tasks instruction 2021-01-03 17:37:11 +01:00
Julian Molina 9e2cfd7703 Fixed Project Data Tasks Instruction 2021-01-03 17:26:01 +01:00
Julian Molina d1a1d8563e Fixed Project Data Tasks instruction 2021-01-03 17:25:17 +01:00
Luis Fernando Molina 545e82a816 Book first implementation + bug fixed reindex 2021-01-03 16:32:20 +01:00
Luis Fernando Molina cbbea6e583 Merge branch 'in-app-documentation' of https://github.com/Superalgos/Superalgos into in-app-documentation 2021-01-03 13:38:54 +01:00
Luis Fernando Molina b7e9dded34 More bug fixes 2021-01-03 13:38:42 +01:00
Julian Molina baf2628f79 Merge branch 'in-app-documentation' of https://github.com/Superalgos/Superalgos into in-app-documentation 2021-01-03 13:28:52 +01:00
Julian Molina 85231e8fad Network - Trading tasks finished 2021-01-03 13:28:29 +01:00
Luis Fernando Molina 61ab2b19e3 White List for Code 2021-01-03 13:26:59 +01:00
Julian Molina 5a8940b7b4 Network, mid-level trading tasks 2021-01-03 11:21:54 +01:00
Julian Molina 7180d09115 Better padding on footer 2021-01-03 11:06:12 +01:00
Julian Molina 08411d6be3 Top-level network 2021-01-03 11:05:53 +01:00
Julian Molina afef909475 Network Icons 2021-01-03 10:28:38 +01:00
Julian Molina fd366e289d Project-level nodes in Network 2021-01-02 22:12:50 +01:00
Julian Molina 536e5df102 Data tasks 2021-01-02 21:22:56 +01:00
Julian Molina 8bc6deb70d Update Footer.js 2021-01-02 19:50:53 +01:00
Julian Molina 86e7464e57 Merge branch 'in-app-documentation' of https://github.com/Superalgos/Superalgos into in-app-documentation 2021-01-02 19:48:47 +01:00
Julian Molina 92b8705487 Footer buttons 2021-01-02 19:48:44 +01:00
Luis Fernando Molina bec6825726 Merge branch 'in-app-documentation' of https://github.com/Superalgos/Superalgos into in-app-documentation 2021-01-02 19:46:56 +01:00
Luis Fernando Molina 4daa12c824 5 words types in tooltips fixed 2021-01-02 19:46:53 +01:00
Julian Molina 15ffa820d5 Finished Trading Systems 2021-01-02 19:13:15 +01:00
Luis Fernando Molina 2c2dc79114 Merge branch 'in-app-documentation' of https://github.com/Superalgos/Superalgos into in-app-documentation 2021-01-02 18:47:47 +01:00
Luis Fernando Molina b90979d000 Code bug fixed 2021-01-02 18:47:36 +01:00
Julian Molina 9d1c19f9f8 Merge branch 'in-app-documentation' of https://github.com/Superalgos/Superalgos into in-app-documentation 2021-01-02 18:46:07 +01:00
Julian Molina e73a58feca Open Stage 2021-01-02 18:46:04 +01:00
Luis Fernando Molina b35b95e9cf Ampersand bug fixed 2021-01-02 18:39:14 +01:00
Julian Molina 0aa8f6d35b Merge branch 'in-app-documentation' of https://github.com/Superalgos/Superalgos into in-app-documentation 2021-01-02 18:10:26 +01:00
Julian Molina c3d4084227 Nodes revision 2021-01-02 18:10:21 +01:00
Luis Fernando Molina 5f31b43fd7 Merge branch 'in-app-documentation' of https://github.com/Superalgos/Superalgos into in-app-documentation 2021-01-02 17:35:30 +01:00
Luis Fernando Molina b63eb4972d Definitions of Undefined nodes 2021-01-02 17:35:17 +01:00
Julian Molina d1c68f7131 Merge branch 'in-app-documentation' of https://github.com/Superalgos/Superalgos into in-app-documentation 2021-01-02 17:16:49 +01:00
Julian Molina 4a34dd8ffe Nodes revision 2021-01-02 17:16:22 +01:00
Luis Fernando Molina 58f7d8ee32 Deleting fixed 2021-01-02 17:14:27 +01:00
Luis Fernando Molina 5f90354c64 Back Button in the footer 2021-01-02 13:50:47 +01:00
Luis Fernando Molina 3851d3b56d Merge branch 'in-app-documentation' of https://github.com/Superalgos/Superalgos into in-app-documentation 2021-01-02 13:28:52 +01:00
Julian Molina a0ac68ca6b Merge branch 'in-app-documentation' of https://github.com/Superalgos/Superalgos into in-app-documentation 2021-01-02 13:12:31 +01:00
Julian Molina 52c7992a5f Lists styles 2021-01-02 13:12:28 +01:00
Luis Fernando Molina c201d01ce2 Topic Navigation 2021-01-02 13:09:01 +01:00
Luis Fernando Molina 922d8cd196 Topic TOP below 2021-01-02 12:23:58 +01:00
Luis Fernando Molina b641586192 Bug fixed 2021-01-02 12:08:40 +01:00
Julian Molina da63cd3bc0 Fixes link on final step 2021-01-02 11:46:07 +01:00
Julian Molina c8652879c1 Footer fix 2021-01-02 11:45:41 +01:00
Julian Molina 7c75f9c30b Topics TOC and more 2021-01-01 21:56:07 +01:00
Julian Molina 6cc2aa5aef Minor fix 2021-01-01 21:55:21 +01:00
Julian Molina 311450f713 Errors 2021-01-01 19:37:57 +01:00
Julian Molina 4261be0475 Alerts updated 2021-01-01 16:10:50 +01:00
Julian Molina e4a17ba1a8 Final footer 2021-01-01 15:28:06 +01:00
Julian Molina 32bef45ecf Fixed reference on Tutorial 4 2021-01-01 12:56:37 +01:00
Julian Molina 35d29b9ea1 Update README.md 2021-01-01 12:30:23 +01:00
Julian Molina 4e7ccf7cda Fixes project codeName 2021-01-01 12:16:03 +01:00
Luis Fernando Molina 98cb71d4bf Merge branch 'in-app-documentation' of https://github.com/Superalgos/Superalgos into in-app-documentation 2020-12-31 19:20:19 +01:00
Luis Fernando Molina db984e39d8 Another fix 2020-12-31 19:20:15 +01:00
Julian Molina 44f6467ecb Footer WIP 2020-12-31 19:06:26 +01:00
Luis Fernando Molina 8d3009440c Another bug fixed, with anchors 2020-12-31 15:21:14 +01:00
Luis Fernando Molina c25e8ea98e bug fixed 2020-12-31 15:09:25 +01:00
Luis Fernando Molina 4e9b1eb700 Fixing editing 2020-12-31 15:06:52 +01:00
Luis Fernando Molina 108eb7894f Bugs fixed 2020-12-31 14:58:53 +01:00
Luis Fernando Molina b3aaae29f6 Merge branch 'in-app-documentation' of https://github.com/Superalgos/Superalgos into in-app-documentation 2020-12-31 14:11:08 +01:00
Luis Fernando Molina 0219637a6b initialization order changed 2020-12-31 14:11:04 +01:00
Luis Fernando Molina d0846589f1 All pages moved outside the docs space 2020-12-31 14:04:57 +01:00
Luis Fernando Molina e42d6966b6 so far so good 2020-12-31 13:35:19 +01:00
Julian Molina 7a49581a98 Prism theme adjustments 2020-12-31 12:53:14 +01:00
Luis Fernando Molina 94ff4f9885 Document Page extracted 2020-12-31 12:47:09 +01:00
Luis Fernando Molina f9fb30a0d8 Docs Utilities working 2020-12-31 12:18:38 +01:00
Luis Fernando Molina e26464d77d utilities functions moved 2020-12-31 11:56:58 +01:00
Julian Molina c818673cfd Merge branch 'in-app-documentation' of https://github.com/Superalgos/Superalgos into in-app-documentation 2020-12-31 11:46:55 +01:00
Julian Molina 646379631a Adjusting to smoke background 2020-12-31 11:46:51 +01:00
Luis Fernando Molina 1c138d5f8b Main Search Page and Footer moved to own page 2020-12-31 11:10:48 +01:00
Luis Fernando Molina 89991bbd72 Search Engine moved to its own page 2020-12-31 10:26:51 +01:00
Luis Fernando Molina 3f2bd1c673 Ready to reorganize into different files 2020-12-31 09:59:06 +01:00
Luis Fernando Molina 63e0109fcd Div problem solved 2020-12-30 22:55:50 +01:00
Luis Fernando Molina 8f76aabc9e test 2020-12-30 22:41:57 +01:00
Luis Fernando Molina 8a233e85b8 Test 2020-12-30 22:40:39 +01:00
Luis Fernando Molina c78ffd3e3f cleaning 2020-12-30 22:29:52 +01:00
Julian Molina 7b7ba29c18 Create superalgos-logo-white.png 2020-12-30 21:08:41 +01:00
Julian Molina 843538aaa1 Footer fix 2020-12-30 21:08:32 +01:00
Julian Molina bd4cd1024d Configuration fixes 2020-12-30 20:06:47 +01:00
Julian Molina 5f404b245b Faster transition 2020-12-30 20:06:21 +01:00
Luis Fernando Molina 7376371359 Config Images 2020-12-30 20:02:16 +01:00
Luis Fernando Molina ec32516c64 Update DocsSpace.js 2020-12-30 19:23:45 +01:00
Julian Molina a490aca8f8 Look & feels styles 2020-12-30 19:03:56 +01:00
Julian Molina 63fa83ebf0 Content 2020-12-30 18:09:55 +01:00
Julian Molina 0e616fffa0 Adjusting look & feel styles 2020-12-30 17:54:53 +01:00
Julian Molina 3869e1b9a7 Minor fixes 2020-12-30 15:36:42 +01:00
Julian Molina f23613bc11 Fixing margins 2020-12-30 14:42:29 +01:00
Julian Molina 465678ac2f Merge branch 'in-app-documentation' of https://github.com/Superalgos/Superalgos into in-app-documentation 2020-12-30 13:54:21 +01:00
Julian Molina 25c5e17df8 Fixed containers and margins 2020-12-30 13:53:51 +01:00
Luis Fernando Molina 8bccf75614 Search over workspace nodes fixed, and repositioning on workspace node fixed 2020-12-30 12:51:15 +01:00
Luis Fernando Molina 4309c19bb7 apostrophe problem fixed 2020-12-30 12:27:20 +01:00
Luis Fernando Molina 15cd349c05 Concepts and Topics with Images at the definition 2020-12-30 10:58:42 +01:00
Luis Fernando Molina b2dd8252a4 Icons names and place fixed 2020-12-30 10:19:24 +01:00
Luis Fernando Molina e142ecbeff Update DocsSpace.js 2020-12-30 10:01:20 +01:00
Luis Fernando Molina 821db782bb common stle cointainer 2020-12-30 09:20:34 +01:00
Julian Molina 503c72e49b Removed HTML tablefrom title and definition 2020-12-29 20:47:26 +01:00
Julian Molina ba1928d751 Fix on main title 2020-12-29 20:16:46 +01:00
Julian Molina 6c04129d5f H2 title and project image 2020-12-29 19:57:10 +01:00
Julian Molina 270b39ac9d Collapsible elements 2020-12-29 19:19:38 +01:00
Luis Fernando Molina 399f1e5459 Docs Actions 2020-12-29 18:16:48 +01:00
Luis Fernando Molina 6114cc1da2 More topics 2020-12-29 17:59:21 +01:00
Luis Fernando Molina efbb7e98e3 Camel Case Fixed, and Delete 2020-12-29 16:17:53 +01:00
Luis Fernando Molina 1f4c232784 Camel Case Fixed 2020-12-29 15:20:08 +01:00
Julian Molina 148b5e2f2c Minor fix 2020-12-29 14:48:59 +01:00
Julian Molina b2cf77e3db Merge branch 'in-app-documentation' of https://github.com/Superalgos/Superalgos into in-app-documentation 2020-12-29 14:40:31 +01:00
Julian Molina 2cbeca6739 Update network-node.json 2020-12-29 14:40:27 +01:00
Julian Molina e677f14e7f CCS Block Style 2020-12-29 14:40:17 +01:00
Luis Fernando Molina 2dc9f54b6e Removing text from code 2020-12-29 13:52:04 +01:00
Luis Fernando Molina 231a50128e Removing text from code 2020-12-29 13:16:07 +01:00
Luis Fernando Molina ca48a1f383 Update context-menu.css 2020-12-29 12:45:37 +01:00
Julian Molina 1225a10544 Merge branch 'in-app-documentation' of https://github.com/Superalgos/Superalgos into in-app-documentation 2020-12-29 12:23:26 +01:00
Julian Molina 66a9f33f71 Graphic docs right-click menu 2020-12-29 12:23:19 +01:00
Luis Fernando Molina 60de6d08b2 Bug with navigateTo with apostrophe fixed 2020-12-29 12:19:33 +01:00
Luis Fernando Molina 86e000f745 Bug fixed 2020-12-29 11:57:34 +01:00
Luis Fernando Molina aa01a7220e AMPERSAND bug fixed 2020-12-29 10:21:00 +01:00
Luis Fernando Molina 6a0c867f7a bug update 2020-12-29 09:40:08 +01:00
Luis Fernando Molina b30cfaa31d fixed bold 2020-12-29 09:33:57 +01:00
Luis Fernando Molina 7c489f0d72 docs command errors finished 2020-12-28 20:09:03 +01:00
Luis Fernando Molina eef4dfc680 Errors switched to a Topic 2020-12-28 15:31:23 +01:00
Luis Fernando Molina 7a4cde94de Section Style added 2020-12-28 14:59:01 +01:00
Luis Fernando Molina 470d366e72 more fixes 2020-12-28 14:43:28 +01:00
Luis Fernando Molina 1e64047175 More fixes 2020-12-28 14:21:42 +01:00
Luis Fernando Molina 87eb9941ef bug fixed 2020-12-28 14:04:12 +01:00
Luis Fernando Molina 98bf923082 save and reindex help 2020-12-28 13:22:05 +01:00
Luis Fernando Molina 176ae9af2b moved up 2020-12-28 13:00:30 +01:00
Luis Fernando Molina a891b8eacc Merge branch 'develop' into in-app-documentation 2020-12-28 12:51:03 +01:00
Julian Molina f24796c32e Minor fixes 2020-12-28 12:21:47 +01:00
Luis Fernando Molina ad6af181f1 more commands explained 2020-12-28 11:51:18 +01:00
Luis Fernando Molina cf9cbe5b8a More topics 2020-12-28 11:29:51 +01:00
Luis Fernando Molina f63630ff0b some docs commands 2020-12-28 11:08:26 +01:00
Julian Molina 740bfe25cb Merge pull request #312 from Superalgos/tutorials
Tutorials
2020-12-28 10:52:26 +01:00
Luis Fernando Molina 0f3f4ddc98 More bugs fixed 2020-12-28 10:51:07 +01:00
Luis Fernando Molina ec96e839de Bug fixed 2020-12-28 09:07:18 +01:00
Luis Fernando Molina ce5dbdb57d fixed this 2020-12-28 08:30:33 +01:00
Julian Molina 914a108e0d 4th Tutorial ready! 2020-12-27 22:46:41 +01:00
Luis Fernando Molina 7147fd6430 fix 2020-12-27 17:37:37 +01:00
Luis Fernando Molina 7227afd8aa bug fixed 2020-12-27 17:29:54 +01:00
Luis Fernando Molina 02083f3562 Add and Delete only from the English collection. 2020-12-27 17:05:22 +01:00
Luis Fernando Molina decbff5ed8 Warning at outdated paragraphs. 2020-12-27 16:55:01 +01:00
Luis Fernando Molina d198b06c52 Search engine indexing content in multiple languages 2020-12-27 14:11:23 +01:00
Luis Fernando Molina 87d5f609f8 Definition almost finished 2020-12-27 13:46:49 +01:00
Luis Fernando Molina 18424b3ea3 Definition updated 2020-12-27 13:38:50 +01:00
Luis Fernando Molina 27b778b9c0 definitions updated 2020-12-27 13:36:26 +01:00
Luis Fernando Molina a569505a42 New migration, definition changed 2020-12-27 13:35:02 +01:00
Luis Fernando Molina 140f53f181 Bug fixed 2020-12-27 11:59:38 +01:00
Luis Fernando Molina 55a63d9c88 Multi Language part 1 2020-12-27 11:23:59 +01:00
Julian Molina 3533836740 4th tutorial - Backtesting + warnings WIP 2020-12-26 23:22:41 +01:00
Luis Fernando Molina 950ffd6c10 latest topics 2020-12-26 20:20:20 +01:00
Luis Fernando Molina 302373ffb9 Another bug fixed 2020-12-26 19:35:40 +01:00
Luis Fernando Molina eef441469b Bug fixed with tool tips 2020-12-26 19:22:53 +01:00
Luis Fernando Molina 9556ff6696 17 2020-12-26 18:04:42 +01:00
Luis Fernando Molina 01463d3b10 more pages 2020-12-26 17:38:18 +01:00
Luis Fernando Molina 7bc4a0f797 Bug fixed 2020-12-26 17:00:29 +01:00
Luis Fernando Molina 402be4dc9c Documenting the docs 2020-12-26 12:50:56 +01:00
Luis Fernando Molina dd95904014 Deleting test content 2020-12-26 12:07:20 +01:00
Luis Fernando Molina 5a3202614f Refactoring 2020-12-26 12:05:05 +01:00
Luis Fernando Molina c318ab2b14 video size 2020-12-26 12:00:10 +01:00
Luis Fernando Molina 81c69c60f3 You tube and link 2020-12-26 11:57:25 +01:00
Luis Fernando Molina 309f17772e Camel Case Detection 2020-12-26 10:25:53 +01:00
Luis Fernando Molina c3af7b628a fix 2020-12-25 16:29:42 +01:00
Luis Fernando Molina 969c33ff10 Status chiche bombon 2020-12-25 15:59:09 +01:00
Luis Fernando Molina 430db448f8 more bugs fixed 2020-12-25 14:37:43 +01:00
Luis Fernando Molina 81d983d194 bug fixed 2020-12-25 14:26:27 +01:00
Luis Fernando Molina ede25881fe Editing hirierchy table working 2020-12-25 14:13:46 +01:00
Luis Fernando Molina 60c33f3fc0 Images appearing 2020-12-25 13:50:31 +01:00
Luis Fernando Molina a6770e047c Line Images Working 2020-12-24 17:36:24 +01:00
Luis Fernando Molina d58587fe0b lines calculated 2020-12-24 16:55:02 +01:00
Luis Fernando Molina 5c59feeac1 bug fixed 2020-12-24 16:47:37 +01:00
Luis Fernando Molina ef356b701f matrix 2020-12-24 15:58:49 +01:00
Luis Fernando Molina 67975dcf18 refactoring 2020-12-24 15:14:36 +01:00
Julian Molina f7c2e2bf7f 4th tutorial - Definitions ready 2020-12-24 14:53:44 +01:00
Luis Fernando Molina 413732375f cooying to clipboard done 2020-12-24 12:14:54 +01:00
Luis Fernando Molina 045f55cebb Bugs Fixed 2020-12-24 11:04:18 +01:00
Luis Fernando Molina 779b50f2e3 Update DocsSpace.js 2020-12-24 10:34:45 +01:00
Luis Fernando Molina 74a453b778 bug fixes 2020-12-24 10:25:26 +01:00
Luis Fernando Molina 212da7ed74 Goto Command Implemented 2020-12-24 10:04:43 +01:00
Luis Fernando Molina 597242bfd2 Removed adding from migration, adding other section blocks 2020-12-24 09:15:46 +01:00
Luis Fernando Molina 27e9474c2e Update DocsSpace.js 2020-12-24 08:50:59 +01:00
Julian Molina e7cfd7b9e6 4th tutorial - Close stage WIP 2020-12-23 19:43:32 +01:00
Luis Fernando Molina 03fb1e86aa removed forced focus 2020-12-23 16:38:36 +01:00
Luis Fernando Molina 1ff0ac80ca Includes Finished 2020-12-23 15:57:54 +01:00
Luis Fernando Molina 47041b4676 Definition in function 2020-12-23 15:41:46 +01:00
Luis Fernando Molina 51f3d50af7 Recursive Including Working 2020-12-23 13:27:11 +01:00
Luis Fernando Molina 79a6e8c89e Includes Working 2020-12-23 12:54:58 +01:00
Luis Fernando Molina b0f62d5dbc includes 2020-12-23 12:05:41 +01:00
Luis Fernando Molina 5a8c5f74f1 Anchors 2020-12-23 11:49:14 +01:00
Luis Fernando Molina 495fdad5be fix 2020-12-23 09:07:52 +01:00
Luis Fernando Molina f75895bfa5 keydown event fixed 2020-12-22 17:59:55 +01:00
Luis Fernando Molina 514f010e5a Update DocsSpace.js 2020-12-22 17:48:09 +01:00
Luis Fernando Molina 5efa668f3d docs namespace 2020-12-22 17:42:31 +01:00
Luis Fernando Molina 7e204a12a8 Saving working 2020-12-22 17:32:00 +01:00
Luis Fernando Molina 8cd724fe93 Nodes and Topics at http interface 2020-12-22 15:43:17 +01:00
Luis Fernando Molina b869b1459e Concepts being saved 2020-12-22 15:39:53 +01:00
Luis Fernando Molina d0b1dc3a33 cool 2020-12-22 14:19:17 +01:00
Luis Fernando Molina 836fa4799b fixes 2020-12-22 14:12:37 +01:00
Julian Molina 6d087c3030 4th tutorial - Manage stage 2020-12-22 14:03:03 +01:00
Luis Fernando Molina 0940f968e6 bugs fixed 2020-12-22 14:01:32 +01:00
Luis Fernando Molina d77bb807ea Save Command Implementation 2020-12-22 13:35:48 +01:00
Luis Fernando Molina e12af2c6b8 Update DocsSpace.js 2020-12-22 13:00:46 +01:00
Luis Fernando Molina b75e427833 docs help command 2020-12-22 11:52:01 +01:00
Luis Fernando Molina c6b05f878b reindex command done 2020-12-22 11:38:07 +01:00
Luis Fernando Molina 95a574bc3a Delete Command Working 2020-12-22 11:15:59 +01:00
Luis Fernando Molina 1adc6bc00e Improved Command Syntax 2020-12-22 10:14:05 +01:00
Luis Fernando Molina 10ba789cfc Ordered Index done 2020-12-22 09:38:30 +01:00
Luis Fernando Molina c35f0d04a7 Update DocsSpace.js 2020-12-22 09:04:18 +01:00
Julian Molina dfea8d3ebc 4th WIP - Execution 2020-12-21 22:06:41 +01:00
Julian Molina 10e56fc570 Minor fix
The reference to an option in the menu of the Data Tasks node.
2020-12-21 21:51:21 +01:00
Luis Fernando Molina 615fae0216 Command Line Interface for Add 2020-12-21 20:12:08 +01:00
Luis Fernando Molina b54b0f6fa7 Update AppPostLoader.js 2020-12-21 17:39:46 +01:00
Luis Fernando Molina ea7a8124cb topics index working 2020-12-21 13:05:43 +01:00
Luis Fernando Molina e31a14ddf0 Index showing up 2020-12-21 12:51:58 +01:00
Luis Fernando Molina fdde809a10 Update DocsSpace.js 2020-12-21 11:32:58 +01:00
Luis Fernando Molina a68ebdbe02 Editing Topic definition 2020-12-21 10:34:05 +01:00
Luis Fernando Molina 28bf130e70 Summary on Topics 2020-12-21 10:21:18 +01:00
Luis Fernando Molina 805276e052 look and feel improvement 2020-12-21 09:29:00 +01:00
Julian Molina 9def59e96b Create Trading System Design Tutorials - WIP.json 2020-12-20 19:58:26 +01:00
Julian Molina ba111b3692 Minor fixes 2020-12-20 11:11:14 +01:00
Luis Fernando Molina b1ed6c5ac7 Update docs.css 2020-12-18 15:39:50 +01:00
Luis Fernando Molina 8ac6737db0 path con links 2020-12-18 15:29:02 +01:00
Luis Fernando Molina 25286d8668 positioning fixed 2020-12-18 14:36:56 +01:00
Luis Fernando Molina dba9051493 path to node working 2020-12-18 14:05:42 +01:00
Luis Fernando Molina a95be2c2b8 Repositioning Working 2020-12-18 12:58:09 +01:00
Luis Fernando Molina 15c4bfd15d Update DocsSpace.js 2020-12-18 12:06:54 +01:00
Luis Fernando Molina 5f08fbed08 Workspace search finished 2020-12-18 11:58:00 +01:00
Luis Fernando Molina 0cbfd3e940 Showing Workspace Nodes 2020-12-18 11:44:00 +01:00
Luis Fernando Molina 3927cc7466 Update DocsSpace.js 2020-12-18 11:29:30 +01:00
Luis Fernando Molina 50a2bfc6b9 refactoring schemaDocument 2020-12-18 10:21:50 +01:00
Luis Fernando Molina c71b8efd05 setUpWorkspaceSchemas 2020-12-18 10:03:53 +01:00
Luis Fernando Molina 8631580edb Update DocsSpace.js 2020-12-17 20:04:48 +01:00
Luis Fernando Molina 44e2f7fd47 Bug fixed, project image 2020-12-17 19:55:20 +01:00
Luis Fernando Molina 11c9a494b5 Bug Fixes 2020-12-17 19:49:44 +01:00
Luis Fernando Molina 1eb277673d Search Improved 2020-12-17 19:06:21 +01:00
Luis Fernando Molina 94abfc18da more power to title exact match 2020-12-17 17:49:02 +01:00
Luis Fernando Molina 58ea7d72f8 total seconds implemented 2020-12-17 17:13:46 +01:00
Luis Fernando Molina 077cb9112d Merge branch 'in-app-documentation' of https://github.com/Superalgos/Superalgos into in-app-documentation 2020-12-17 16:58:08 +01:00
Luis Fernando Molina b2ae4fa34f dynamic tabs 2020-12-17 16:57:54 +01:00
Julian Molina 5ecb1bfff2 Merge branch 'in-app-documentation' of https://github.com/Superalgos/Superalgos into in-app-documentation 2020-12-17 16:49:04 +01:00
Julian Molina 635f189a3c Minor fixes 2020-12-17 16:48:49 +01:00
Luis Fernando Molina d2faedc011 tabs 2020-12-17 16:42:09 +01:00
Luis Fernando Molina a340946aee Search Header 2020-12-17 16:15:02 +01:00
Luis Fernando Molina 078e8c099e links working 2020-12-17 15:22:37 +01:00
Luis Fernando Molina 69948217d5 search results implemented 2020-12-17 15:17:04 +01:00
Luis Fernando Molina 4a70dbc6ec Search Index Setup Implemented 2020-12-17 12:53:03 +01:00
Julian Molina 587eb612e3 Search results html + css v1 2020-12-16 22:06:07 +01:00
Julian Molina c0dfea2993 Tabs dynamics - WIP 2020-12-16 20:52:53 +01:00
Luis Fernando Molina b351571b2e Update DocsSpace.js 2020-12-16 16:07:21 +01:00
Luis Fernando Molina 9419c15564 search 2020-12-16 16:00:35 +01:00
Luis Fernando Molina 80f17010c0 Search page 2020-12-16 14:57:38 +01:00
Luis Fernando Molina 5ae2181485 Search Page 2020-12-16 14:01:12 +01:00
Luis Fernando Molina 085c25c58f Update DocsSpace.js 2020-12-16 13:40:47 +01:00
Luis Fernando Molina 1a06a5e08c Topics Schema Implemented 2020-12-16 12:53:19 +01:00
Luis Fernando Molina b5f9ba479a Refactoring 2020-12-16 12:33:10 +01:00
Luis Fernando Molina 7f96a878d1 Preparing for Docs Concpts 2020-12-16 11:28:15 +01:00
Luis Fernando Molina 7baf404999 only editable content 2020-12-16 11:02:54 +01:00
Luis Fernando Molina 362e5fb56c Another bug fixed 2020-12-16 10:56:08 +01:00
Luis Fernando Molina f2865899b0 bug fixed 2020-12-16 10:48:13 +01:00
Luis Fernando Molina f94c61bbc2 Callout and Summary 2020-12-16 10:07:03 +01:00
Luis Fernando Molina 6b46f25d68 Gif and Pngs implemented 2020-12-15 19:34:32 +01:00
Luis Fernando Molina a947c20626 Merge branch 'develop' into in-app-documentation 2020-12-15 18:13:45 +01:00
Luis Fernando Molina a3c07edc98 Merge branch 'master' into develop 2020-12-15 18:12:37 +01:00
Luis Fernando Molina cdc40cd0bb Capital Letter Bug Fixed 2020-12-15 18:12:08 +01:00
Luis Fernando Molina b98c4d89b6 Rename to fix captial letter bug 2020-12-15 18:11:42 +01:00
Luis Fernando Molina de9b217dd8 Bug fix with name in capital 2020-12-15 18:09:46 +01:00
Luis Fernando Molina 84e4ea0041 Rename 2020-12-15 18:09:17 +01:00
Luis Fernando Molina 1cf451ccb4 Gif Implemented 2020-12-15 18:02:54 +01:00
Luis Fernando Molina bfd340437f Gifs starting to implement 2020-12-15 17:10:48 +01:00
Luis Fernando Molina 4d7dbfd89e Color Samble finished RGB 2020-12-15 15:00:44 +01:00
Luis Fernando Molina 4cfba4a140 Table working well 2020-12-15 14:16:47 +01:00
Luis Fernando Molina 3b112a351b Update README.md 2020-12-15 09:46:22 +01:00
Luis Fernando Molina 7ede9ec980 Polishing 2020-12-14 19:10:53 +01:00
Luis Fernando Molina 32b5260283 Table almos there 2020-12-14 18:42:26 +01:00
Julian Molina 6e65c5cfc7 Merge pull request #308 from Superalgos/tutorials
New Trading System Design Tutorials
2020-12-14 14:33:26 +01:00
Julian Molina c7055ecf5b Merge pull request #307 from Superalgos/tutorials
Trading System Tutorials
2020-12-14 14:24:20 +01:00
Julian Molina 17888b7e17 Two new tutorials in the series 2020-12-14 14:17:48 +01:00
Luis Fernando Molina 4f0010b534 Name Fixes 2020-12-14 13:42:24 +01:00
Luis Fernando Molina 828a695242 Changes in code for Javascript Code 2020-12-14 12:56:32 +01:00
Luis Fernando Molina d0280a1378 Data Mines Changed for Javascript 2020-12-14 12:40:46 +01:00
Luis Fernando Molina 70e4ce7a3b Changes in App Schema Javascript Code 2020-12-14 12:28:19 +01:00
Luis Fernando Molina ed211ece0b Refactoring Formula for Property Formula working 2020-12-14 11:45:35 +01:00
Luis Fernando Molina c1588208a6 Update AppSchema.json 2020-12-14 10:57:33 +01:00
Luis Fernando Molina 7461289c19 Update DocsSpace.js 2020-12-14 09:56:25 +01:00
Luis Fernando Molina 9f637ba450 Formulas and Code Autogenerated 2020-12-14 09:51:40 +01:00
Julian Molina 05aee65637 Tutorial links 2020-12-13 22:05:14 +01:00
Julian Molina 33ee5f9b24 Steps on welcome, Chrome, and remote access 2020-12-13 20:49:05 +01:00
Luis Fernando Molina d4f86e65f8 Update DocsSpace.js 2020-12-13 20:04:29 +01:00
Luis Fernando Molina da7be21737 Update DocsSpace.js 2020-12-13 19:42:09 +01:00
Luis Fernando Molina 5bdfd4731c Update DocsSpace.js 2020-12-13 19:40:38 +01:00
Luis Fernando Molina b5f5349606 Update DocsSpace.js 2020-12-13 19:34:42 +01:00
Luis Fernando Molina 916e945877 Configuration Implemented 2020-12-13 19:31:41 +01:00
Julian Molina b88b4c6ac7 Tooltips fixes 2020-12-13 18:14:28 +01:00
Luis Fernando Molina 04de443e58 Table Style 2020-12-13 16:17:10 +01:00
Luis Fernando Molina 74b290ac0e References working 2020-12-13 16:06:07 +01:00
Luis Fernando Molina c64b344b41 Update DocsSpace.js 2020-12-13 15:47:00 +01:00
Luis Fernando Molina 1090e2433a Compatible Types Attaching Implemented 2020-12-13 15:17:10 +01:00
Luis Fernando Molina fee5559d5a Compatible Types 2020-12-13 15:01:35 +01:00
Luis Fernando Molina 48f2c623dd Refactoring and Tyding up 2020-12-13 14:50:34 +01:00
Luis Fernando Molina 504b4ca88c Merge branch 'develop' into in-app-documentation 2020-12-13 14:02:13 +01:00
Luis Fernando Molina 4407ecc8c4 Update DocsSpace.js 2020-12-13 14:01:48 +01:00
Luis Fernando Molina 2f20e79788 Merge branch 'in-app-documentation' of https://github.com/Superalgos/Superalgos into in-app-documentation 2020-12-13 13:56:15 +01:00
Luis Fernando Molina a9bc71c719 only link 2020-12-13 12:39:42 +01:00
Julian Molina 1baededac9 Update docs.css 2020-12-13 12:26:01 +01:00
Julian Molina adbbf9816b Update docs.css 2020-12-13 12:15:02 +01:00
Luis Fernando Molina 85548ea994 Children Nodes Properties umplemented 2020-12-13 10:31:38 +01:00
Luis Fernando Molina f345e88261 Children Nodes Properties 2020-12-13 10:16:09 +01:00
Luis Fernando Molina 4aa02711cf Refactoring Properties with childrenNodesProperties 2020-12-13 09:15:36 +01:00
Luis Fernando Molina e6f0cb1a78 Update DocsSpace.js 2020-12-13 08:14:53 +01:00
Luis Fernando Molina 5eb53c4862 Menu Items Icons Implemented 2020-12-12 20:13:48 +01:00
Luis Fernando Molina feec68a2eb Images loading improved 2020-12-12 18:48:02 +01:00
Luis Fernando Molina 840bca9e48 Update DocsSpace.js 2020-12-12 18:35:53 +01:00
Julian Molina c1502ca4ad Trading systems tutorials WIP 2020-12-12 18:28:10 +01:00
Luis Fernando Molina eaf67412f6 Highlights updated 2020-12-12 17:41:01 +01:00
Luis Fernando Molina 583144b2f4 Collapsible functionality implemented 2020-12-12 16:30:19 +01:00
Luis Fernando Molina 1fc049eb25 Update DocsSpace.js 2020-12-12 15:10:47 +01:00
Luis Fernando Molina 0ed4c49c6a Auto Generating Menu in Progress 2020-12-12 13:41:13 +01:00
Luis Fernando Molina df23843548 Tyding for non editable paragraphs 2020-12-12 12:12:46 +01:00
Luis Fernando Molina 7b89cb0e5f Navigating throuh nodes and concepts working 2020-12-12 10:57:35 +01:00
Luis Fernando Molina 62274f2de8 Controlling the scrolling within the docs page div 2020-12-12 10:18:01 +01:00
Luis Fernando Molina b05a196b3a No bold 2020-12-11 20:02:17 +01:00
Luis Fernando Molina 4515fa35e4 Bold implemented 2020-12-11 19:43:52 +01:00
Luis Fernando Molina 5812a36207 Merge branch 'in-app-documentation' of https://github.com/Superalgos/Superalgos into in-app-documentation 2020-12-11 18:23:25 +01:00
Luis Fernando Molina 1658a4689b Docs Schema Splitted in Files 2020-12-11 18:23:20 +01:00
Julian Molina eca7088524 Footer styles 2020-12-11 18:04:50 +01:00
Luis Fernando Molina f8d2a19d28 Italics based on Menu Labels working 2020-12-11 15:52:47 +01:00
Luis Fernando Molina 6a3850fbaa Bug Fixed 2020-12-11 13:45:48 +01:00
Luis Fernando Molina dfa8c8db6b Update DocsSpace.js 2020-12-11 13:22:02 +01:00
Luis Fernando Molina 3fffab8644 code highlighting working 2020-12-11 13:13:44 +01:00
Luis Fernando Molina a408fff269 Bug fixed 2020-12-11 12:40:45 +01:00
Luis Fernando Molina 870c5fbc28 Open Stage Optional 2020-12-11 11:49:46 +01:00
Luis Fernando Molina b4a4af89da Prism added 2020-12-11 11:41:54 +01:00
Luis Fernando Molina 12fe12f839 Update docs.css 2020-12-11 08:45:14 +01:00
Luis Fernando Molina 29cd74efd7 Project Icon 2020-12-11 08:41:54 +01:00
Luis Fernando Molina 33f4e4afd7 Delete Paragraph implemented 2020-12-10 20:22:54 +01:00
Luis Fernando Molina b3ee1f71d7 Adding Paragraphs implemented 2020-12-10 19:12:32 +01:00
Luis Fernando Molina 9809dc3bf2 subtitle fix 2020-12-10 18:20:30 +01:00
Luis Fernando Molina 5f1b8b7a6f Last changes 2020-12-10 16:47:13 +01:00
Luis Fernando Molina 0404aa110f Titles and Subtitles 2020-12-10 16:41:27 +01:00
Luis Fernando Molina 603c872b37 List Style 2020-12-10 14:58:33 +01:00
Luis Fernando Molina f03d1d6541 Footer somehow 2020-12-10 13:36:20 +01:00
Luis Fernando Molina 3f91936c57 Editing other paragraph styles 2020-12-10 12:25:34 +01:00
Luis Fernando Molina bf32d6aae6 Update DocsSpace.js 2020-12-09 20:49:20 +01:00
Luis Fernando Molina 498a993006 Editing while there are tooltips working well 2020-12-09 19:54:03 +01:00
Luis Fernando Molina a222b19ec1 Persistence of Changes in Definition an Paragraphs 2020-12-09 18:55:23 +01:00
Luis Fernando Molina f8f58ba96e Editing Definition done 2020-12-09 18:02:55 +01:00
Luis Fernando Molina 6d73591b9a function changes 2020-12-09 14:00:15 +01:00
Luis Fernando Molina 5ce5affb93 Paragraph Editor Working 2020-12-09 13:45:31 +01:00
Luis Fernando Molina 47de9e174d height problme solved 2020-12-09 12:18:46 +01:00
Luis Fernando Molina 3e3cde7540 Update DocsSpace.js 2020-12-09 10:48:25 +01:00
Luis Fernando Molina 33ed9a939a context menu implemented 2020-12-09 09:53:27 +01:00
Julian Molina e7f1e109f7 CSS Styles 2020-12-08 21:58:59 +01:00
Julian Molina 14b4507eda CSS Styles 2020-12-08 20:55:10 +01:00
Luis Fernando Molina ab82b35153 scroll bar working 2020-12-08 18:23:23 +01:00
Luis Fernando Molina 957aac38dd Update DocsSpace.js 2020-12-08 18:04:16 +01:00
Luis Fernando Molina 12c457975f Showing Content 2020-12-08 17:38:56 +01:00
Luis Fernando Molina 57f3c07880 Align Working 2020-12-08 16:31:55 +01:00
Luis Fernando Molina fe441e1072 Concepts included on toolTips 2020-12-08 14:35:30 +01:00
Luis Fernando Molina 2b4466cdd8 Tooltips multi project 2020-12-08 14:27:02 +01:00
Luis Fernando Molina 6bd508378d Delete test.html 2020-12-08 13:55:16 +01:00
Luis Fernando Molina 4592a58779 Definition Image 2020-12-08 13:54:49 +01:00
Luis Fernando Molina 2316bf7b1f Definition with tooltips working 2020-12-08 13:13:40 +01:00
Luis Fernando Molina d22cc42712 Update httpInterface.js 2020-12-08 10:26:45 +01:00
Luis Fernando Molina 41ce975872 Hello World Ready 2020-12-07 20:43:20 +01:00
Luis Fernando Molina ad8ba4015c Docs with s 2020-12-07 20:22:33 +01:00
Luis Fernando Molina 096230923d tyding 2020-12-07 20:17:40 +01:00
Luis Fernando Molina 15f35b7add css adjustments 2020-12-07 20:08:53 +01:00
Luis Fernando Molina 1f79028f0c new css 2020-12-07 20:00:09 +01:00
Luis Fernando Molina d71a008c9f iFrame Removed 2020-12-07 19:41:15 +01:00
Luis Fernando Molina d230582628 Update DocSchema.json 2020-12-07 19:22:17 +01:00
Luis Fernando Molina 8ea687bf3e Update index.html 2020-12-06 18:24:59 +01:00
Luis Fernando Molina 7059d1c4e3 Code Polishing 2020-12-06 17:39:44 +01:00
Luis Fernando Molina 2e2d124659 Code polishing 2020-12-06 17:03:18 +01:00
Luis Fernando Molina b73c8e4a64 Standarizing 2020-12-06 16:50:40 +01:00
Luis Fernando Molina ee2d863b0b Code Polishing 2020-12-06 16:48:30 +01:00
Luis Fernando Molina 6fe4f908a4 Code Polishing 2020-12-06 15:24:33 +01:00
Luis Fernando Molina 65d35f7734 Polishing Indicator Bot modules 2020-12-06 13:38:51 +01:00
Luis Fernando Molina 5c9afee90d Webhooks Cleaned 2020-12-06 12:40:03 +01:00
Luis Fernando Molina e99f3abd0c Update HistoricOHLCVs.js 2020-12-06 12:21:03 +01:00
Luis Fernando Molina 88acaea425 More cleaning 2020-12-06 11:39:27 +01:00
Luis Fernando Molina a6faf2d800 ONE_DAY_IN_MILISECONDS 2020-12-06 11:31:04 +01:00
Luis Fernando Molina 1a37ab8df6 Polishing 2020-12-06 11:18:03 +01:00
Luis Fernando Molina 04c1b95a35 Final removal of all globals 2020-12-06 10:56:50 +01:00
Luis Fernando Molina 8e113a6545 FATAL ERROR MESSAGE 2020-12-06 10:44:26 +01:00
Luis Fernando Molina 753a08051c Refactoring Name 2020-12-06 10:12:10 +01:00
Luis Fernando Molina 353d6b66d9 File Path Root and Validations moved 2020-12-06 10:05:36 +01:00
Luis Fernando Molina 3439c015fc Bug Fixes on the Optional Stages Feature 2020-12-04 17:18:23 +01:00
Luis Fernando Molina e87d3bf3ce Trading Engine Module migrated 2020-12-04 15:14:15 +01:00
Luis Fernando Molina 89a8864486 New File for Modules 2020-12-04 15:01:01 +01:00
Luis Fernando Molina cfaa22a6ea Merge branch 'master' into develop 2020-12-04 12:52:29 +01:00
Luis Fernando Molina cd5c261ec4 Update README.md 2020-12-04 12:41:58 +01:00
Luis Fernando Molina f47c58e99d Update README.md 2020-12-04 12:41:16 +01:00
Luis Fernando Molina 94475c2ae4 Update README.md 2020-12-04 12:39:21 +01:00
Luis Fernando Molina 87553d61a0 Bug Fixed with Optional Stages 2020-12-04 12:26:57 +01:00
Luis Fernando Molina 5280777a6c Manage and Close Stages now Optional 2020-12-04 10:43:55 +01:00
Luis Fernando Molina 2fa93eab03 Bug Fixed: Trading System node could not be deleted. 2020-12-04 09:11:14 +01:00
Luis Fernando Molina 0eaf3255b3 process Config cleaned out 2020-12-03 19:39:24 +01:00
Luis Fernando Molina dec432c0fb Final touches 2020-12-03 17:11:25 +01:00
Luis Fernando Molina 8fed2fa7e7 Bollinger Bands Migrated 2020-12-03 16:54:09 +01:00
Luis Fernando Molina a244331777 Candles Volumes Migranted 2020-12-03 16:30:42 +01:00
Luis Fernando Molina e09cda3689 Delete package-lock.json 2020-12-03 15:58:51 +01:00
Luis Fernando Molina 31f315dcdf Delete Commons.js 2020-12-03 15:58:13 +01:00
Luis Fernando Molina a8c6468209 Webhooks Migrated 2020-12-03 15:56:04 +01:00
Luis Fernando Molina 0a40aad66f Bug Fixed, on project 2020-12-03 15:28:46 +01:00
Luis Fernando Molina b75e3bbd39 OHLCV process migrated 2020-12-03 15:19:38 +01:00
Luis Fernando Molina 5b5baf4951 Update ProcessInstance.js 2020-12-03 13:19:19 +01:00
Luis Fernando Molina a0e2f17524 Task Server independent of bot types 2020-12-03 13:10:46 +01:00
Luis Fernando Molina 5400ff5eef Cleaning 2020-12-03 12:33:29 +01:00
Luis Fernando Molina b533bb3bb6 CCXT reinstalled 2020-12-03 12:08:44 +01:00
Luis Fernando Molina 21be1616ee Orders Simulation Calculations 2020-12-03 11:41:02 +01:00
Luis Fernando Molina 61451ddd92 Trading Orders Exchange API 2020-12-03 11:31:40 +01:00
Luis Fernando Molina bac5525b68 Update TradingStages.js 2020-12-03 11:21:46 +01:00
Luis Fernando Molina a27e8e0a92 Announcements Snapshots 2020-12-03 11:14:35 +01:00
Luis Fernando Molina 35b0c8be34 Update TradingStages.js 2020-12-03 11:02:19 +01:00
Luis Fernando Molina f4cb640837 Strategy Position Execution 2020-12-03 10:58:37 +01:00
Luis Fernando Molina 4395d467d3 Trading Stage 2020-12-03 10:48:23 +01:00
Luis Fernando Molina f3478e5227 Trading System Records Episode 2020-12-03 10:37:14 +01:00
Luis Fernando Molina 230c6c6099 Trading Simulation 2020-12-03 10:24:47 +01:00
Luis Fernando Molina 01f18b07ba Trading Output 2020-12-03 10:18:33 +01:00
Luis Fernando Molina 8f4b9848c7 Trading Engine 2020-12-03 10:08:35 +01:00
Luis Fernando Molina fa6569299c trading process 2020-12-03 09:34:09 +01:00
Luis Fernando Molina e4aa988cb2 Telegram Bot 2020-12-03 09:16:49 +01:00
Luis Fernando Molina aea7e62b0c Social Bots 2020-12-03 09:09:52 +01:00
Luis Fernando Molina b7cd2597ea Trading Session 2020-12-03 09:04:00 +01:00
Luis Fernando Molina 47e8ea2079 Trading Bot 2020-12-03 08:46:25 +01:00
Luis Fernando Molina 2acb4648c3 Indicators Fully Migrated 2020-12-02 17:17:29 +01:00
Luis Fernando Molina b58ac9017f COMMONS done 2020-12-02 15:54:43 +01:00
Luis Fernando Molina 8effa522b1 Indicator Output 2020-12-02 15:44:42 +01:00
Luis Fernando Molina 19b5fda48d Indicator part 1 2020-12-02 15:31:47 +01:00
Luis Fernando Molina 384b107461 CCXT installed 2020-12-02 14:24:48 +01:00
Luis Fernando Molina 182882495d Sensor bot moved 2020-12-02 14:11:54 +01:00
Luis Fernando Molina 48e5438fb6 DEBUG LOG Moved 2020-12-02 13:56:07 +01:00
Luis Fernando Molina aef97236e6 Sensor Bot moved 2020-12-02 13:38:20 +01:00
Luis Fernando Molina eababbb26b Bug Fix 2020-12-02 12:16:19 +01:00
Luis Fernando Molina 9ba720aafb not needed globals 2020-12-02 12:09:39 +01:00
Luis Fernando Molina 196d1fdc33 EVENT SERVER CLIENT INSTANCE 2020-12-02 12:01:26 +01:00
Luis Fernando Molina 0ba86fce64 PROJECT SCHEMA 2020-12-02 11:52:00 +01:00
Luis Fernando Molina 4ecdaaa7ac Update FileStorage.js 2020-12-02 11:15:20 +01:00
Luis Fernando Molina 185f1b8f13 FILE STORAGE done 2020-12-02 10:54:50 +01:00
Luis Fernando Molina 7515fd910e Event Server Client done 2020-12-02 10:39:27 +01:00
Luis Fernando Molina e0bc1cf3b3 Update MultiProject.js 2020-12-02 10:13:08 +01:00
Luis Fernando Molina 66940cb527 Instantiation done 2020-12-02 09:41:38 +01:00
Luis Fernando Molina 3a55b41885 PROCESS_OUTPUT 2020-12-02 09:36:16 +01:00
Luis Fernando Molina 53ce74ecf1 PROCESS_EXECUTION_EVENTS 2020-12-02 09:34:52 +01:00
Luis Fernando Molina 592f98c9ca DATA SET 2020-12-02 09:33:06 +01:00
Luis Fernando Molina 965e0076bf DATA SET 2020-12-02 09:32:40 +01:00
Luis Fernando Molina 4c530099b2 DATA DEPENDENCIES 2020-12-02 09:17:34 +01:00
Luis Fernando Molina 804f3eb831 SATUS DEPENDENCIES cleaned 2020-12-02 09:16:47 +01:00
Luis Fernando Molina 1cf922aa24 STATUS REPORT cleaned 2020-12-02 09:15:19 +01:00
Luis Fernando Molina 4cc74c1cbc Files Moved 2020-12-02 09:11:02 +01:00
Luis Fernando Molina 5221d68b42 Renaming ok 2020-12-02 09:02:34 +01:00
Luis Fernando Molina c89aac6c35 BUG FIX: Close Stage Event was not working. 2020-12-01 20:18:05 +01:00
Luis Fernando Molina 61fe2fb22d fix 2020-12-01 17:33:35 +01:00
Luis Fernando Molina 31923483a0 Cloud Utilities retired 2020-12-01 16:31:39 +01:00
Luis Fernando Molina c74ea51db5 not used code 2020-12-01 16:14:27 +01:00
Luis Fernando Molina 503a7d9283 Code not used anymore 2020-12-01 16:08:53 +01:00
Luis Fernando Molina 53006f707b moved to logger variables 2020-12-01 15:43:39 +01:00
Luis Fernando Molina 2e6c6f9644 Bug fixed 2020-12-01 13:55:14 +01:00
Luis Fernando Molina 8ac733d93b Bug Fixed 2020-12-01 13:50:44 +01:00
Luis Fernando Molina 84a18c7e77 FILE_STORAGE.newFileStorage(processIndex, 2020-12-01 13:33:46 +01:00
Luis Fernando Molina 1dafffd1af (logger) 2020-12-01 13:14:54 +01:00
Luis Fernando Molina 7a3e7948e6 logger, 2020-12-01 13:13:37 +01:00
Luis Fernando Molina 8ecb9152bf , logger 2020-12-01 13:09:31 +01:00
Luis Fernando Molina 12b8abb1f3 logger, 2020-12-01 13:07:27 +01:00
Luis Fernando Molina e2e3a87ea8 file storage ok 2020-12-01 13:03:28 +01:00
Luis Fernando Molina f69d2b69ec Fisrt step 2020-12-01 12:59:04 +01:00
Luis Fernando Molina 103e4d0cce PROCESS INSTANCE LOGGER cleaned 2020-12-01 12:08:19 +01:00
Luis Fernando Molina 28f4c56d56 bot parameter removed from all files 2020-11-30 19:39:38 +01:00
Luis Fernando Molina 042241de0f Last uses of bot 2020-11-30 18:32:12 +01:00
Luis Fernando Molina c52f2b4a0f FILE_PATH_ROOT 2020-11-30 18:19:40 +01:00
Luis Fernando Molina 0b11d14559 More cleaning 2020-11-30 17:49:57 +01:00
Luis Fernando Molina 33ed646549 Daily Files Process DateTime 2020-11-30 17:24:42 +01:00
Luis Fernando Molina 5bfd5f5493 Process Date Time 2020-11-30 16:57:04 +01:00
Luis Fernando Molina ec5ec9ba33 Update LearningProcess.js 2020-11-30 16:36:37 +01:00
Luis Fernando Molina dc8ef4d010 Cleaning Learning 2020-11-30 16:00:04 +01:00
Luis Fernando Molina 0bb9208d66 Session Heart Beat 2020-11-30 15:57:27 +01:00
Luis Fernando Molina a69b44b907 Process HeartBeat 2020-11-30 14:50:18 +01:00
Luis Fernando Molina 15aed117e2 Simulation State 2020-11-30 14:33:06 +01:00
Luis Fernando Molina 583ef49f1d Session resume and first loop 2020-11-30 14:19:19 +01:00
Luis Fernando Molina 53973e5491 Dependecy Filter 2020-11-30 14:09:48 +01:00
Luis Fernando Molina aaf8f43899 bot.codeName and Session node 2020-11-30 14:04:31 +01:00
Luis Fernando Molina 6b24b14286 SESSION NODE implemented 2020-11-30 13:00:25 +01:00
Luis Fernando Molina fd90543063 session stop function 2020-11-30 12:40:07 +01:00
Luis Fernando Molina 772b106325 Process Constants 2020-11-30 12:06:29 +01:00
Luis Fernando Molina 789b97bc20 Folder Name finished 2020-11-30 10:38:20 +01:00
Luis Fernando Molina 6889e7b130 Session Folder Name migrated 2020-11-30 10:05:29 +01:00
Luis Fernando Molina 0ca8e63f1e Merge branch 'master' into develop 2020-11-29 20:49:31 +01:00
Luis Fernando Molina f220dd8d6f Update README.md 2020-11-29 20:48:26 +01:00
Luis Fernando Molina 3c1a13cabf dotenv removed from the system 2020-11-29 20:41:40 +01:00
Luis Fernando Molina eb04de1781 Bug Fixed and ,ENV removed 2020-11-29 20:26:45 +01:00
Luis Fernando Molina b344f1fed9 Delete .env 2020-11-29 19:31:09 +01:00
Luis Fernando Molina fab4a800dc Key and Secret handling cleanned, plus .env removed 2020-11-29 18:23:08 +01:00
Luis Fernando Molina 0d3ed4e76a Delete config.json 2020-11-29 15:33:19 +01:00
Luis Fernando Molina 217347c655 Data Mines Mantainance - Removed unused config from each process definition 2020-11-29 10:47:36 +01:00
Luis Fernando Molina fb28e7e450 Removing the concept of start mode 2020-11-29 09:47:58 +01:00
Luis Fernando Molina ef2d65b5e0 Time Frames Filter 2020-11-29 09:33:34 +01:00
Luis Fernando Molina 6c89747746 Update ProcessInstance.js 2020-11-29 08:57:23 +01:00
Luis Fernando Molina c6af446399 Key for events 2020-11-29 08:53:08 +01:00
Luis Fernando Molina 4c13aa2eba Merge branch 'master' into develop 2020-11-28 19:58:33 +01:00
Luis Fernando Molina b2acbdfcfe More Debug Log Improvements 2020-11-28 19:40:34 +01:00
Luis Fernando Molina 04b82bfd09 debug log improvements 2020-11-28 19:28:59 +01:00
Luis Fernando Molina 99d9a5e026 repo removed from config 2020-11-28 19:00:06 +01:00
Luis Fernando Molina 3d6e808383 LOOP COUNTER 2020-11-28 17:36:28 +01:00
Julian Molina 4390030a48 Create BB-Top-Bounce.json 2020-11-28 17:36:25 +01:00
Luis Fernando Molina 529226dfdc Process Instance Variables 2020-11-28 17:18:16 +01:00
Luis Fernando Molina 8620b24f17 bot.processNode cleaned 2020-11-28 15:47:40 +01:00
Luis Fernando Molina 513fb00abb bot.process 2020-11-28 15:17:32 +01:00
Luis Fernando Molina 05dacbabb6 cleaninig 2020-11-28 15:10:07 +01:00
Luis Fernando Molina e9044d880b uiStartDate 2020-11-28 15:05:34 +01:00
Luis Fernando Molina db9b9dd867 bot.market cleaned 2020-11-28 15:01:28 +01:00
Luis Fernando Molina 06dbf3408b bot exchange solved 2020-11-28 14:09:29 +01:00
Luis Fernando Molina 482f421e88 Project name solved 2020-11-28 13:44:58 +01:00
Luis Fernando Molina 0fc929c07d mine type 2020-11-28 13:02:26 +01:00
Luis Fernando Molina 7d379a119e Update ProcessInstance.js 2020-11-28 12:40:48 +01:00
Luis Fernando Molina 934f196765 bot.dataMine 2020-11-28 12:37:30 +01:00
Luis Fernando Molina 562225b3af typo 2020-11-28 12:31:30 +01:00
Luis Fernando Molina e10465b049 processIndex everywhere 2020-11-28 12:30:06 +01:00
Luis Fernando Molina 72a79ec5cf Update Task.js 2020-11-28 11:46:15 +01:00
Luis Fernando Molina 10edb97c78 Update Task.js 2020-11-28 11:29:36 +01:00
Luis Fernando Molina 784a2aaec4 global.APP_SCHEMA_MAP 2020-11-28 11:21:41 +01:00
Luis Fernando Molina 4ab7724039 Task Constants 2020-11-28 11:16:24 +01:00
Luis Fernando Molina 7d6bd30e01 Tyding up 2020-11-28 10:28:15 +01:00
Luis Fernando Molina fbe3b19aef Globals Module finally migrated to multi project 2020-11-28 10:19:01 +01:00
Luis Fernando Molina 4b97755328 Fixing finalizing of loggers 2020-11-28 10:08:08 +01:00
Luis Fernando Molina a57374783a TASK_IS_STOPPING 2020-11-28 09:43:14 +01:00
Luis Fernando Molina 58c58b706d Date 2020-11-27 21:01:33 +01:00
Luis Fernando Molina 92686f87e8 NodeJSContants 2020-11-27 20:51:50 +01:00
Luis Fernando Molina d3d66e6ada Process Variables 2020-11-27 20:43:49 +01:00
Luis Fernando Molina 5732f0dd3a Cleaning 2020-11-27 20:23:49 +01:00
Luis Fernando Molina cf5e137c0f Cleaning feature not needed 2020-11-27 20:19:39 +01:00
Luis Fernando Molina ddde43d7d7 Update NodeJsProcess.js 2020-11-27 20:16:18 +01:00
Luis Fernando Molina 7fa7cb91d4 NodeJsFunctions 2020-11-27 20:09:55 +01:00
Luis Fernando Molina ac182a905d MultiProject 2020-11-27 18:02:28 +01:00
Luis Fernando Molina e40a394e6f More utility functions 2020-11-27 17:54:02 +01:00
Luis Fernando Molina 23903024d1 date time utilitiy functions 2020-11-27 17:38:57 +01:00
Luis Fernando Molina 9427ebeb53 More Function Libraries 2020-11-27 17:22:32 +01:00
Luis Fernando Molina b454eea2a6 Node Utilites migrated 2020-11-27 16:58:29 +01:00
Luis Fernando Molina 4c84cebf65 Missing Functions 2020-11-27 15:10:45 +01:00
Luis Fernando Molina 09f043fb51 time constants implemented as global file 2020-11-27 14:54:52 +01:00
Luis Fernando Molina 658dc4714a Process Functions 2020-11-27 13:36:25 +01:00
Luis Fernando Molina da5e50bf85 Standard Responses to Globals 2020-11-27 13:17:12 +01:00
Luis Fernando Molina 2ded6a45b1 Time Frames from global framework 2020-11-27 12:53:21 +01:00
Luis Fernando Molina 4b5c2abf3e Update Task.js 2020-11-27 12:32:39 +01:00
Luis Fernando Molina 31573c1354 Update Task.js 2020-11-27 12:21:55 +01:00
Luis Fernando Molina a1f1739b69 TS framework implemented at Task Server 2020-11-27 11:57:11 +01:00
Luis Fernando Molina ac429d769c moving to UI folder 2020-11-27 10:46:39 +01:00
Luis Fernando Molina 495864b5b6 Send the projects schema to the Task Server 2020-11-27 09:46:43 +01:00
Luis Fernando Molina ea6fe25e10 UI CL TS convepts born at project schema 2020-11-27 09:31:56 +01:00
Luis Fernando Molina 268e68cd61 Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2020-11-26 19:59:07 +01:00
Julian Molina a7a8e1765e Update Weak-Hands-Buster v2.json 2020-11-26 19:36:39 +01:00
Luis Fernando Molina cab9f4a8d0 Update ProcessInstance.js 2020-11-26 19:13:35 +01:00
Julian Molina 2833d952ca Update Trading-System-Design-Tutorials.json 2020-11-26 18:31:29 +01:00
Julian Molina 8a5d0cc50b Update Getting-Started.json 2020-11-26 18:11:56 +01:00
Luis Fernando Molina 27ea879b24 Update ProcessInstance.js 2020-11-26 17:58:36 +01:00
Luis Fernando Molina 72e248d1eb Code Cleaning 2020-11-26 17:55:15 +01:00
Luis Fernando Molina 9553d72ec8 Update ProcessInstance.js 2020-11-26 17:22:11 +01:00
Luis Fernando Molina 8578e99bef Code Cleaning 2020-11-26 17:15:23 +01:00
Luis Fernando Molina 9b3832abe8 Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2020-11-26 16:53:59 +01:00
Luis Fernando Molina 0542e54dc2 Trading working again 2020-11-26 15:48:09 +01:00
Luis Fernando Molina febaff6860 Data Mining working again 2020-11-26 15:32:07 +01:00
Julian Molina d79874e834 Update Getting-Started.json 2020-11-26 14:59:52 +01:00
Luis Fernando Molina b4a49d1d76 Multiple Schemas at Task Server 2020-11-26 14:27:45 +01:00
Luis Fernando Molina e683d86c0f Getting Started Plug in upgraded to SP1 2020-11-26 12:35:39 +01:00
Julian Molina 41cdd71535 Update Getting-Started.json 2020-11-26 11:18:25 +01:00
Luis Fernando Molina cfe1da4d2a Update Exchange-Keys-Tests.json 2020-11-26 10:45:45 +01:00
Luis Fernando Molina 41c2c9be9c Plugins Markets Reinstalled 2020-11-26 10:20:39 +01:00
Luis Fernando Molina 9ff330005d Update run.js 2020-11-26 09:58:53 +01:00
Luis Fernando Molina b11b5b7eea Update run.js 2020-11-26 09:57:36 +01:00
Luis Fernando Molina a42b694d4d Merge branch 'master' into task-server-multi-project 2020-11-26 09:54:22 +01:00
Luis Fernando Molina 64fc09a6ef Update run.js 2020-11-26 09:52:50 +01:00
Julian Molina 30df744dd5 New tutorial steps 2020-11-25 22:25:29 +01:00
Luis Fernando Molina 14f2058730 More reorganizing 2020-11-25 17:02:33 +01:00
Luis Fernando Molina 93d9cd403e Standarizing 2020-11-25 16:52:07 +01:00
Luis Fernando Molina 8bb14854b7 More reorganizing 2020-11-25 16:29:50 +01:00
Luis Fernando Molina 56b4c7dfae Refactoring 2020-11-25 16:20:21 +01:00
Luis Fernando Molina e3c1156a43 Node Js Process Module 2020-11-25 16:10:59 +01:00
Luis Fernando Molina cb61d888e1 More to Globals 2020-11-25 16:06:59 +01:00
Luis Fernando Molina 5d73304b6d Globals Module 2020-11-25 15:55:11 +01:00
Luis Fernando Molina aef0a0c132 Files not needed 2020-11-25 15:08:21 +01:00
Luis Fernando Molina 432f70c3ca Data Mining without legacy config file 2020-11-25 15:00:37 +01:00
Luis Fernando Molina f15f833840 Config not needed 2020-11-25 14:36:48 +01:00
Luis Fernando Molina 396a1ff1aa Update this.bot.config.json 2020-11-25 14:24:35 +01:00
Luis Fernando Molina 93631af7c2 Cleaning 2020-11-25 14:17:20 +01:00
Luis Fernando Molina 4da95d0686 Bug Fixed 2020-11-25 13:49:17 +01:00
Luis Fernando Molina 905b455038 Conditional Logging Cleaned 2020-11-25 13:36:35 +01:00
Luis Fernando Molina 4e74e74d80 Removing Conditiona Logs part 3 2020-11-25 13:26:01 +01:00
Luis Fernando Molina c691740882 Cleaning Conditional Logs part 2 2020-11-25 13:14:24 +01:00
Luis Fernando Molina cf0529ae3c Removing Conditional Logs part 1 2020-11-25 13:07:11 +01:00
Luis Fernando Molina 30c0bfcf3f Icons improved 2020-11-25 12:58:19 +01:00
Luis Fernando Molina 87f98b06a5 Ethereum Data Mine and Blockchain Scanner Bot Definition 2020-11-25 11:38:07 +01:00
Luis Fernando Molina f9dc64d5c8 Version update 2020-11-25 10:40:06 +01:00
Luis Fernando Molina d0c4f7c931 Missing way to add Plugins 2020-11-25 09:11:53 +01:00
Luis Fernando Molina a339b808f5 Charting Space done 2020-11-25 08:31:33 +01:00
Luis Fernando Molina 6a17f4e869 Bifurcation of project at network level 2020-11-25 08:09:23 +01:00
Luis Fernando Molina 1efeb72ec7 Data Mining Fixed 2020-11-24 19:42:19 +01:00
Luis Fernando Molina 479b62cbcb Charts Fixed 2020-11-24 19:09:50 +01:00
Luis Fernando Molina d60985f9e2 Update ChartingSpace.js 2020-11-24 18:54:23 +01:00
Luis Fernando Molina 2907529694 Update CryptoEcosystemFunctions.js 2020-11-24 13:21:50 +01:00
Luis Fernando Molina c933b63f4c Install and Uninstall Market finished 2020-11-24 13:16:38 +01:00
Luis Fernando Molina 100cfae5ee Update CryptoEcosystemFunctions.js 2020-11-24 12:50:40 +01:00
Luis Fernando Molina 84de3f52a4 Installing Market at Charting Space 2020-11-24 12:25:27 +01:00
Luis Fernando Molina 9e15f17be6 Project Dashboards Implemented 2020-11-24 11:49:07 +01:00
Luis Fernando Molina d109210b5a Install Market Multi Project 2020-11-24 10:51:40 +01:00
Luis Fernando Molina 24468ac957 Update CryptoEcosystemFunctions.js 2020-11-24 08:14:22 +01:00
Luis Fernando Molina c1c036b37c Fixing status report and task functions. 2020-11-23 18:30:31 +01:00
Luis Fernando Molina de2713a775 Add Missing Projects Implemented 2020-11-23 17:41:54 +01:00
Luis Fernando Molina 49648240ef Project Learning Products 2020-11-23 16:19:37 +01:00
Luis Fernando Molina e88cd732f8 Project Trading Products Implemented 2020-11-23 16:14:12 +01:00
Luis Fernando Molina f252811b34 Project Data Products 2020-11-23 16:07:14 +01:00
Luis Fernando Molina f136f9952f Project Trading Tasks implemented 2020-11-23 14:57:59 +01:00
Luis Fernando Molina 9f0ebf44ab Update AppSchema.json 2020-11-23 14:48:59 +01:00
Luis Fernando Molina 7bfc9ff191 Production and Testing Environment refactoring 2020-11-23 14:37:29 +01:00
Luis Fernando Molina 528312eae6 Learning Mining to Learning Tasks refactoring 2020-11-23 14:29:39 +01:00
Luis Fernando Molina 4369d407fe Data Mining to Data Tasks refactoring 2020-11-23 14:24:10 +01:00
Luis Fernando Molina a0dedd57d1 Project Data Task Node implemented 2020-11-23 12:55:35 +01:00
Luis Fernando Molina fb92eb4a7b Enabling a node to have children defined in another project 2020-11-23 12:19:31 +01:00
Luis Fernando Molina ff4ce84240 Bugs Fixed deleting node from workspace and adding hirierchies 2020-11-23 11:46:22 +01:00
Julian Molina 48ad0047e1 Fix name of plugin 2020-11-22 17:33:24 +01:00
Julian Molina f800b6a321 Merge branch 'develop' of https://github.com/Superalgos/Superalgos into develop 2020-11-22 17:29:58 +01:00
Julian Molina f83d1ba0d1 BBTB Plugin Files 2020-11-22 17:18:39 +01:00
Luis Fernando Molina 30e968f4cc Update README.md 2020-11-22 10:52:14 +01:00
Julian Molina e8db80478c Revert "Adjusted workspaces"
This reverts commit 6072fd1c8c.
2020-11-15 20:32:36 +01:00
Julian Molina 6072fd1c8c Adjusted workspaces
Includes proper codeName for the Superalgos project plugins
2020-11-15 20:25:11 +01:00
7112 changed files with 198711 additions and 1024745 deletions

No files matched your search

+15
View File
@@ -0,0 +1,15 @@
Data-Storage
Log-Files
My-Workspaces
debug.log
*.db
.git*
.vscode
README.md
LICENSE
CONTRIBUITING.md
CODE_OF_CONDUCT.md
./**/.vscode
Dockerfile
-33
View File
@@ -1,33 +0,0 @@
#PORT NUMBERS: If any of these ports are already in use by a different app, please pick a new number between 1 and 50000.
HTTP_INTERFACE_PORT=34248
WEB_SOCKETS_INTERFACE_PORT=18041
# TASK MANAGER VARIABLES:
TASK_SERVER_PATH=./TaskServer
# TASK SERVER VARIABLES:
STORAGE_PATH=./Data-Storage
WRITE_LOGS_TO_FILES=true
LOG_PATH=./Log-Files
WEB_SERVER_URL=localhost
# WEB SERVER VARIABLES:
#Log options
CONSOLE_LOG=false
CONSOLE_ERROR_LOG=true
LOG_FILE_CONTENT=false
PROJECTS_PATH=./Projects
PATH_TO_UI=./UI
PATH_TO_DATA_FILES=./UI/Data-Files/src
PATH_TO_CLIENT=./Client/
DEFAULT_WORKSPACE_PATH=./Projects/Superalgos/Plugins/Workspaces
MY_WORKSPACES_PATH=./My-Workspaces
PATH_TO_FONTS=./Client/WebServer/Fonts
+41
View File
@@ -0,0 +1,41 @@
name: Publish Docker image
on:
push:
branches: [master, develop]
jobs:
publish:
name: Publish Image
runs-on: ubuntu-latest
steps:
- id: repository
uses: ASzc/change-string-case-action@v1
with:
string: "${{ github.repository }}"
- uses: actions/checkout@v2
- name: Preparation
id: prep
run: |
REGISTRY="ghcr.io"
IMAGE="${REGISTRY}/${{ steps.repository.outputs.lowercase }}"
TAGS="${IMAGE}:${{ github.sha }}"
if [[ $GITHUB_REF == refs/heads/master ]]; then
TAGS="${TAGS},${IMAGE}:latest"
fi
if [[ $GITHUB_REF == refs/heads/develop ]]; then
TAGS="${TAGS},${IMAGE}:develop"
fi
echo ::set-output name=tags::${TAGS}
- name: Login in to registry
uses: docker/login-action@v1
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ github.token }}
- name: Push to registry
uses: docker/build-push-action@v2
with:
push: true
file: ./Docker/Dockerfile
tags: ${{ steps.prep.outputs.tags }}
+11 -1
View File
@@ -1,3 +1,13 @@
Data-Storage
Log-Files
My-Workspaces
My-Workspaces
debug.log
.DS_Store
*.db
Projects/Superalgos/Icons/Thumbs.db
*.bat
!launch-windows.bat
!create-shortcut-windows.bat
!uninstall-shortcut-windows.bat
*.exe
node_modules
-11
View File
@@ -1,11 +0,0 @@
INTER_PROCESS_FILES_PATH=../Inter-Process-Files
STORAGE_PATH=../Data-Storage
USE_KEYVAULT=false
WRITE_LOGS_TO_FILES=true
LOG_PATH=../Log-Files
WEB_SOCKETS_INTERFACE_PORT=18041
WEB_SERVER_PORT=34248
WEB_SERVER_URL=localhost
Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.2 KiB

+58
View File
@@ -0,0 +1,58 @@
#menu {
display: table;
background-color: rgba(255, 255, 255);
padding: 5px;
border-radius: 5px;
box-shadow: 2px 2px 30px lightgrey;
position: absolute;
transform-origin: center;
z-index: 2;
opacity: 0;
transform: scale(0);
transition: transform 0.1s, opacity 0.1s;
border-collapse: separate;
border-spacing: 8px;
background-color: white;
}
#menu.show {
opacity: 1;
transform: scale(1);
transform-origin: top left;
}
.menu-item {
display: table-cell;
padding: 10px;
margin: 5px;
transition: 0.1s;
border: 1px solid #ddd;
border-radius: 5px;
background-color: white;
}
.menu-item:hover {
border: 1px solid #0295aa;
background-color: #eff;
cursor: pointer;
}
#out-click {
height: 100vh;
width: 100vw;
position: fixed;
top: 0;
left: 0;
z-index: 1;
display: none;
}
.menu-row{
display: table-row;
}
.menu-img {
width: 40px;
height: 40px;
}
+26
View File
@@ -0,0 +1,26 @@
.credits {
width: 100%;
margin: auto;
margin-bottom: 25;
text-align: center;
position:absolute;
bottom:0;
}
.credits p {
font-family: 'Saira Condensed';
font-size: 140%;
color: whitesmoke;
padding: 0 100;
}
.credits-red {
color: #e3493c;
font-weight: 700;
}
.credits-yellow {
color: #dfbe00fb;
font-weight: 700;
}
File diff suppressed because it is too large. Load diff
File renamed without changes.
+34
View File
@@ -0,0 +1,34 @@
/* latin */
@font-face {
font-family: 'Saira';
font-style: normal;
font-weight: 300;
src: local('Saira Light'), local('Saira-Light'), url(Fonts/Saira.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin */
@font-face {
font-family: 'Saira Condensed';
font-style: normal;
font-weight: 300;
src: local('Saira Condensed Light'), local('SairaCondensed-Light'), url(Fonts/Saira-Condensed.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
font-family: segoeui;
src: url(Fonts/segoeui.woff) format('woff');
font-weight: normal;
font-style: normal;
}
kbd {
padding: 2px 8px;
font-size: 125%;
font-weight: 500;
color: #000;
background-color: #bcd643;
border-radius: 5px;
border-style: outset;
border-width: 1px;
}
+147
View File
@@ -0,0 +1,147 @@
/* PrismJS 1.22.0
https://prismjs.com/download.html#themes=prism&languages=markup+clike+javascript+json+json5+jsonp */
/**
* prism.js default theme for JavaScript, CSS and HTML
* Based on dabblet (http://dabblet.com)
* @author Lea Verou
*/
code[class*="language-"],
pre[class*="language-"] {
color: black;
background: none;
text-shadow: 0 1px white;
font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
font-size: 1em;
text-align: left;
white-space: pre;
word-spacing: normal;
word-break: normal;
word-wrap: normal;
line-height: 1.5;
-moz-tab-size: 4;
-o-tab-size: 4;
tab-size: 4;
-webkit-hyphens: none;
-moz-hyphens: none;
-ms-hyphens: none;
hyphens: none;
}
pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection,
code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection {
text-shadow: none;
background: #b3d4fc;
}
pre[class*="language-"]::selection, pre[class*="language-"] ::selection,
code[class*="language-"]::selection, code[class*="language-"] ::selection {
text-shadow: none;
background: #b3d4fc;
}
@media print {
code[class*="language-"],
pre[class*="language-"] {
text-shadow: none;
}
}
/* Code blocks */
pre[class*="language-"] {
padding: 1em;
margin: .5em 0;
overflow: auto;
}
/* This is the main block affecting the container of code blocks in Superalgos */
:not(pre) > code[class*="language-"],
pre[class*="language-"] {
background-color: #e6eaea;
border: 1px solid #cdd4d5;
border-radius: 5px;
padding: 15px;
}
/* Inline code */
:not(pre) > code[class*="language-"] {
padding: .1em;
border-radius: .3em;
white-space: normal;
}
.token.comment,
.token.prolog,
.token.doctype,
.token.cdata {
color: slategray;
}
.token.punctuation {
color: #999;
}
.token.namespace {
opacity: .7;
}
.token.property,
.token.tag,
.token.boolean,
.token.number,
.token.constant,
.token.symbol,
.token.deleted {
color: #905;
}
.token.selector,
.token.attr-name,
.token.string,
.token.char,
.token.builtin,
.token.inserted {
color: #690;
}
.token.operator,
.token.entity,
.token.url,
.language-css .token.string,
.style .token.string {
color: #3c763d;
/* This background color was intended by the author of this theme.
background: hsla(0, 0%, 100%, .5);*/
}
.token.atrule,
.token.attr-value,
.token.keyword {
color: #07a;
}
.token.function,
.token.class-name {
color: #DD4A68;
}
.token.regex,
.token.important,
.token.variable {
color: #e90;
}
.token.important,
.token.bold {
font-weight: bold;
}
.token.italic {
font-style: italic;
}
.token.entity {
cursor: help;
}
+304
View File
@@ -0,0 +1,304 @@
.tutorial-step {
padding: 15px;
margin-bottom: 20px;
border: 2px solid;
border-color: #1b998b;
border-radius: 8px;
background-color: #fdfdfd;
-webkit-transition-duration: 1s;
transition-duration: 1s;
caret-color: transparent;
}
.tutorial-summary {
font-size:120%;
color: #808080;
margin:20px 0px 20px 0px;
border-left: 5px solid #fd6a33;
padding-left: 10px;
}
.tutorial-summary:before {
content: "Summary: ";
font-weight: bold;
}
.tutorial-definitionTable {
background-color: #f3f3f3;
border-top-color: #a6e1ec;
padding: 14px;
margin: 18px 0;
border: solid 0px;
vertical-align: middle;
min-width: 100px;
width: 100%;
}
.tutorial-alert-info {
color: #31708f;
background-color: #d9edf7;
padding: 14px;
border: 1px solid rgba(49, 112, 143, .3);
border-radius: 4px;
margin: 18px 0;
width: 100%;
box-sizing: border-box;
}
.tutorial-alert-success {
color: #3c763d;
background-color: #dff0d8;
padding: 14px;
border: 1px solid rgba(60, 118, 61, .3);
border-radius: 4px;
margin: 18px 0;
width: 100%;
box-sizing: border-box;
}
.tutorial-alert-important {
color: #5e3e07;
background-color: #fcf8e3;
padding: 14px;
border: 1px solid rgba(138, 109, 59, .3);
border-radius: 4px;
margin: 18px 0;
width: 100%;
box-sizing: border-box;
}
.tutorial-alert-warning {
color: #a94442;
background-color: #f2dede;
padding: 14px;
border: 1px solid rgba(169, 68, 66, .3);
border-radius: 4px;
margin: 18px 0;
width: 100%;
box-sizing: border-box;
}
.tutorial-callout {
padding: 18px;
margin: 18px 0;
border: 1px solid #eee;
border-left-width: 5px;
border-radius: 3px;
border-left-color: #bcd643;
font-weight: 500;
width: 90%;
}
.tutorial-info-circle:before {
content:"\f05a"
}
.tutorial-check-square-o:before {
content:"\f046"
}
.tutorial-exclamation-circle:before {
content:"\f06a"
}
.tutorial-warning:before,.fa-exclamation-triangle:before {
content:"\f06a"
}
.tutorial-fa {
font:normal normal normal 14px/1 FontAwesome;
font-size:inherit;
text-rendering:auto;
-webkit-font-smoothing:antialiased;
-moz-osx-font-smoothing:grayscale
}
.tutorial-font-small {
font:normal normal normal 14px/1 "segoeui";
font-size:inherit;
text-rendering:auto;
-webkit-font-smoothing:antialiased;
-moz-osx-font-smoothing:grayscale;
line-height: 150%;
}
.tutorial-list {
margin: -8 0 -8 -15px;
font:normal normal normal 16px/1 "segoeui";
line-height: 150%
}
ul > .tutorial-list {
list-style-position: outside;
}
/* DELETE candidate
div.tutorial-font-small {
margin-bottom:7px;
}
*/
.tutorial-font-medium {
font:normal normal normal 32px/1 "segoeui";
text-rendering:auto;
-webkit-font-smoothing:antialiased;
-moz-osx-font-smoothing:grayscale;
line-height: 100%
}
.tutorial-font-large {
font:bold normal normal 40px/1 "segoeui";
text-rendering:auto;
-webkit-font-smoothing:antialiased;
-moz-osx-font-smoothing:grayscale;
line-height: 100%
}
.tutorial-font-bold-small {
font:bold normal normal 14px/1 "segoeui";
font-size:inherit;
text-rendering:auto;
-webkit-font-smoothing:antialiased;
-moz-osx-font-smoothing:grayscale;
line-height: 150%
}
.tutorial-stop-button {
color: #a94442;
background-color: #f2dede;
border-color: #ebccd1;
padding: 12px;
border: 1px solid transparent;
border-radius: 4px;
margin: 20px 0;
border-top-color: #e4b9c0;
min-width: 100px;
}
.tutorial-skip-button {
color: #8a6d3b;
background-color: #fcf8e3;
border-color: #faebcc;
padding: 12px;
border: 1px solid transparent;
border-radius: 4px;
margin: 20px 0;
border-top-color: #f7e1b5;
min-width: 100px;
}
.tutorial-previous-button {
color: #31708f;
background-color: #d9edf7;
border-color: #bce8f1;
padding: 12px;
border: 1px solid transparent;
border-radius: 4px;
margin: 20px 0;
border-top-color: #c9e2b3;
min-width: 100px;
}
.tutorial-next-button {
color: #3c763d;
background-color: #dff0d8;
border-color: #d6e9c6;
padding: 12px;
border: 1px solid transparent;
border-radius: 4px;
margin: 20px 0;
border-top-color: #c9e2b3;
min-width: 100px;
}
.tutorial-form {
padding: 5px;
border: solid 0px;
margin-left: auto;
margin-right: auto;
margin-bottom: 20px;
width: 100%;
-webkit-transition-duration: 1s;
transition-duration: 1s;
caret-color: transparent;
}
.tutorial-buttonsTable {
border-top-color: #a6e1ec;
border: solid 0px;
vertical-align: middle;
min-width: 100px;
width: 95%;
margin-left: auto;
margin-right: auto;
}
.tutorial-image-container {
padding: 5px 15px 5px 5px;
border: solid 0px;
margin-left: auto;
margin-right: auto;
width: 100%;
}
/* Tooltip container */
.tutorial-tooltip {
position: relative;
display: inline-block;
border-bottom: 1px dotted black; /* If you want dots under the hoverable text */
}
/* Tooltip text */
.tutorial-tooltip .tutorial-tooltiptext {
visibility: hidden;
width: 240px;
background-color: #0295aa;
color: #fff;
font-weight: normal;
font-size: 92%;
line-height: 130%;
text-align: center;
padding: 15px;
border-radius: 6px;
/* Position the tutorial-tooltip text */
position: absolute;
z-index: 1;
bottom: 125%;
left: 50%;
margin-left: -120px;
/* Fade in tutorial-tooltip */
opacity: 0;
transition: opacity 0.3s;
}
/* Tooltip arrow */
.tutorial-tooltip .tutorial-tooltiptext::after {
content: "";
position: absolute;
top: 100%;
left: 50%;
margin-left: -5px;
border-width: 5px;
border-style: solid;
border-color: #0295aa transparent transparent transparent;
}
/* Show the tooltip text when you mouse over the tooltip container */
.tutorial-tooltip:hover .tutorial-tooltiptext {
visibility: visible;
opacity: 1;
}
.tutorial-external-link {
text-decoration: underline;
color: #31708f;
}
File diff suppressed because it is too large. Load diff
+114 -13
View File
@@ -5,11 +5,17 @@
<title>Superalgos</title>
<meta name="description" content="Free and Open Source Crypto Trading Tools">
<link rel="stylesheet" href="main.css" type="text/css" charset="utf-8" />
<link rel="stylesheet" href="credits.css" type="text/css" charset="utf-8" />
<link rel="stylesheet" href="tutorial.css" type="text/css" charset="utf-8" />
<link rel="stylesheet" href="docs.css" type="text/css" charset="utf-8" />
<link rel="stylesheet" href="context-menu.css" type="text/css" charset="utf-8" />
<link rel="stylesheet" href="font-awasome.css" type="text/css" />
<link rel="stylesheet" href="prism.css" type="text/css" />
<link rel="shortcut icon" type="image/png/ico" href="Images/favicon.ico" />
<script type="text/javascript" src="WebServer/require.js"></script>
<script type="text/javascript" src="AppPreLoader.js"></script>
<script src="externalScripts/CCapture.all.min.js"></script>
<script src="externalScripts/prism.js"></script>
<!-- Documentation Style Sheets -->
<!-- -->
@@ -49,18 +55,14 @@
style="overflow:hidden; background: url(Images/superalgos-platform.jpg); background-size: cover;"
onresize="onResize()">
<div id="contributors" class="credits">
<p>Superalgos is <span class="red">free</span> and <span class="red">open-source</span>, and is <span class="red">constantly improving</span> thanks to the involvement of contributors:</p>
<p>Luis Fernando Molina, Julian Molina, Andreja Cobeljic, Matías Benitez, Ira Miller, Eduardo Remis,
Jeff Braun, rico4dev, 9808us, Barry Low, Nikola Bjelogrlic, Hirajin Koizuko, Francisco J. Santillán, Viktoria B., Guillermo V., Daniel J.,
Javier A., Gustavo J., Romina GS, Pedro P., Thais M., Andrey M., Loui M., Natalia M., Bashar A., Carlos V., Diego M.,
Sebastian E., Bogdan P., Marko V., Igor S., Niksa K., Rodrigo M., Nicanor M., Alejandro P., Mateo H., Lan T., Leon A., Uroš R., Filip M., Vladimir J. and Pavle B.</p>
<p><span class="red">You too can help grow and improve Superalgos. Become a contributor!</span></p>
<p style="font-size: 120%;">Superalgos is <span class="credits-red">open source</span>, <span class="credits-red">forever free</span> for <span class="credits-red">everyone</span>, and is <span class="credits-red">constantly improving</span> thanks to the involvement of contributors:</p>
<p style="font-size: 100%;">Luis Fernando Molina, Julian Molina, Andreja Cobeljic, Ira Miller, matbenitez, bearcanrun, nikolabjelo, 9808us, pmmax, suttridge, Basalt09, Mhnramin, 0xperez, infin1t3, benitezme, whtv, cozed-gh, Eduardo678-dotcom, Smidy13, teehanming, 64bittuning, joenij, apronotti, Noeljarillo, ssplatt, rico4dev, DougJCook, mane, Cordo-van-Saviour, CarnivalBen, Sil3ntLight, pisukesoramame, Edodi, harrellbm, CaptainJeff, Jeff Braun, Francisco J. Santillán, Norman, Viktoria B., Guillermo V., Daniel J., Javier A., Gustavo J., Romina GS, Pedro P., Thais M., Andrey M., Loui M., Natalia M., Bashar A., Carlos V., Diego M., Sebastian E., Bogdan P., Marko V., Igor S., Niksa K., Rodrigo M., Nicanor M., Mateo H., Lan T., Leon A., Uroš R., Filip M., Vladimir J. and Pavle B.</p>
<p style="font-size: 120%;">Please, <span class="credits-red">give a star to the Superalgos repo at GitHub.com...</span> It helps other devs find the project!</p>
<p id="credits-page-status-paragraph" class="credits-yellow">The UI is loading...</p>
</div>
<div id="masterApp"></div>
<div id="canvasApp"></div>
<div id="docApp" style="position:fixed; top:100000px; left:100000px">
<iframe id="docIFrame" style="border:none; " height="2000" width="900"></iframe>
</div>
<div id="docs-space-div" class="docs-page" style="position:fixed; top:100000px; left:100000px"><div id="docs-content-div"></div></div>
<div id="chatApp" style="position:fixed; top:100000px; left:100000px">
<iframe id="chatIFrame" style="border:none; " height="2000" width="900"></iframe>
</div>
@@ -74,11 +76,13 @@
<table class="tutorial-buttonsTable">
<tr>
<td align="center">
<label class="tutorial-font-small tutorial-stop-button" onclick="UI.projects.superalgos.spaces.tutorialSpace.stop()"
<label class="tutorial-font-small tutorial-stop-button"
onclick="UI.projects.superalgos.spaces.tutorialSpace.stop()"
value="">&nbsp;&nbsp;Stop&nbsp;&nbsp;&nbsp;</label>
</td>
<td align="center">
<label class="tutorial-font-small tutorial-skip-button" onclick="UI.projects.superalgos.spaces.tutorialSpace.skip()"
<label class="tutorial-font-small tutorial-skip-button"
onclick="UI.projects.superalgos.spaces.tutorialSpace.skip()"
value="">&nbsp;&nbsp;Skip&nbsp;&nbsp;&nbsp;</label>
</td>
<td align="center">
@@ -86,13 +90,110 @@
onclick="UI.projects.superalgos.spaces.tutorialSpace.previous()" value="">Previous</label>
</td>
<td align="center">
<label class="tutorial-font-small tutorial-next-button" onclick="UI.projects.superalgos.spaces.tutorialSpace.next()"
<label class="tutorial-font-small tutorial-next-button"
onclick="UI.projects.superalgos.spaces.tutorialSpace.next()"
value="">&nbsp;&nbsp;Next&nbsp;&nbsp;&nbsp;</label>
</td>
</tr>
</table>
</form>
</div>
<div id="menu" class="docs-menu-table">
<div class="menu-row">
<div class="menu-item" onClick="window.contextMenu.editParagraph()">
<img src="Icons/Superalgos/docs-action-edit-paragraph.png" class="menu-img" title="Edit">
</div>
<div class="menu-item" onClick="window.contextMenu.toTitle()">
<img src="Icons/Superalgos/docs-title-style.png" class="menu-img" title="Title">
</div>
<div class="menu-item" onClick="window.contextMenu.toSubtitle()">
<img src="Icons/Superalgos/docs-subtitle-style.png" class="menu-img" title="Subtitle">
</div>
<div class="menu-item" onClick="window.contextMenu.toNote()">
<img src="Icons/Superalgos/docs-note-style.png" class="menu-img" title="Note">
</div>
<div class="menu-item" onClick="window.contextMenu.toJavascript()">
<img src="Icons/Superalgos/docs-js-code-style.png" class="menu-img" title="Javascript">
</div>
<div class="menu-item" onClick="window.contextMenu.toYouTubeVideo()">
<img src="Icons/Superalgos/docs-youtube-video-style.png" class="menu-img" title="Youtube">
</div>
<div class="menu-item" onClick="window.contextMenu.toBlock()">
<img src="Icons/Superalgos/docs-block-style.png" class="menu-img" title="Block">
</div>
</div>
<div class="menu-row">
<div class="menu-item" onClick="window.contextMenu.copyLink()">
<img src="Icons/Superalgos/docs-action-copy-to-clipboard.png" class="menu-img" title="Copy">
</div>
<div class="menu-item" onClick="window.contextMenu.toText()">
<img src="Icons/Superalgos/docs-text-style.png" class="menu-img" title="Text">
</div>
<div class="menu-item" onClick="window.contextMenu.toList()">
<img src="Icons/Superalgos/docs-list-style.png" class="menu-img" title="List">
</div>
<div class="menu-item" onClick="window.contextMenu.toSuccess()">
<img src="Icons/Superalgos/docs-success-style.png" class="menu-img" title="Success">
</div>
<div class="menu-item" onClick="window.contextMenu.toJson()">
<img src="Icons/Superalgos/docs-json-code-style.png" class="menu-img" title="Json">
</div>
<div class="menu-item" onClick="window.contextMenu.toGif()">
<img src="Icons/Superalgos/docs-gif-style.png" class="menu-img" title="Gif">
</div>
<div class="menu-item" onClick="window.contextMenu.toInclude()">
<img src="Icons/Superalgos/docs-include-style.png" class="menu-img" title="Include">
</div>
</div>
<div class="menu-row">
<div class="menu-item" onClick="window.contextMenu.toPlaceholder()">
<img src="Icons/Superalgos/docs-placeholder-style.png" class="menu-img" title="Placeholder">
</div>
<div class="menu-item" onClick="window.contextMenu.toSummary()">
<img src="Icons/Superalgos/docs-summary-style.png" class="menu-img" title="Summary">
</div>
<div class="menu-item" onClick="window.contextMenu.toCallout()">
<img src="Icons/Superalgos/docs-callout-style.png" class="menu-img" title="Callout">
</div>
<div class="menu-item" onClick="window.contextMenu.toImportant()">
<img src="Icons/Superalgos/docs-important-style.png" class="menu-img" title="Important">
</div>
<div class="menu-item" onClick="window.contextMenu.toTable()">
<img src="Icons/Superalgos/docs-table-style.png" class="menu-img" title="Table">
</div>
<div class="menu-item" onClick="window.contextMenu.toPng()">
<img src="Icons/Superalgos/docs-png-style.png" class="menu-img" title="Png">
</div>
<div class="menu-item" onClick="window.contextMenu.toSection()">
<img src="Icons/Superalgos/docs-section-style.png" class="menu-img" title="Section">
</div>
</div>
<div class="menu-row">
<div class="menu-item" onClick="window.contextMenu.deleteParagraph()">
<img src="Icons/Superalgos/docs-action-delete-paragraph.png" class="menu-img" title="Delete">
</div>
<div class="menu-item" onClick="window.contextMenu.toWebPageLink()">
<img src="Icons/Superalgos/docs-web-page-link-style.png" class="menu-img" title="Link">
</div>
<div class="menu-item" onClick="window.contextMenu.toAnchor()">
<img src="Icons/Superalgos/docs-anchor-style.png" class="menu-img" title="Anchor">
</div>
<div class="menu-item" onClick="window.contextMenu.toWarning()">
<img src="Icons/Superalgos/docs-warning-style.png" class="menu-img" title="Warning">
</div>
<div class="menu-item" onClick="window.contextMenu.toHierarchy()">
<img src="Icons/Superalgos/docs-hierarchy-style.png" class="menu-img" title="Hierarchy">
</div>
<div class="menu-item" onClick="window.contextMenu.toError()">
<img src="Icons/Superalgos/docs-error-style.png" class="menu-img" title="Error">
</div>
<div class="menu-item" onClick="window.contextMenu.toChapter()">
<img src="Icons/Superalgos/docs-chapter-style.png" class="menu-img" title="Chapter">
</div>
</div>
</div>
</body>
</html>
</html>
-346
View File
@@ -1,346 +0,0 @@
/* latin */
@font-face {
font-family: 'Saira';
font-style: normal;
font-weight: 300;
src: local('Saira Light'), local('Saira-Light'), url(Fonts/Saira.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin */
@font-face {
font-family: 'Saira Condensed';
font-style: normal;
font-weight: 300;
src: local('Saira Condensed Light'), local('SairaCondensed-Light'), url(Fonts/Saira-Condensed.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
font-family: segoeui;
src: url(Fonts/segoeui.woff) format('woff');
font-weight: normal;
font-style: normal;
}
.credits {
width: 100%;
margin: auto;
margin-bottom: 50;
text-align: center;
position:absolute;
bottom:0;
}
.credits p {
font-family: 'Saira Condensed';
font-size: 140%;
color: whitesmoke;
padding: 0 100;
}
.red {
color: #e3493c;
font-weight: 700;
}
.tutorial-step {
padding: 15px;
margin-bottom: 20px;
border: 2px solid;
border-color: #1b998b;
border-radius: 8px;
background-color: #fdfdfd;
}
.tutorial-summary {
font-size:120%;
color: #808080;
margin:20px 0px 20px 0px;
border-left: 5px solid #fd6a33;
padding-left: 10px;
}
.tutorial-summary:before {
content: "Summary: ";
font-weight: bold;
}
.tutorial-definitionTable {
background-color: #f3f3f3;
border-top-color: #a6e1ec;
padding: 15px;
margin: 20px 0;
border: solid 0px;
vertical-align: middle;
min-width: 100px;
width: 100%;
}
.tutorial-alert-info {
color: #31708f;
background-color: #d9edf7;
border-color: #bce8f1;
padding: 15px;
border: 1px solid transparent;
border-radius: 4px;
margin: 20px 0;
border-top-color: #a6e1ec;
width: 90%;
}
.tutorial-alert-success {
color: #3c763d;
background-color: #dff0d8;
border-color: #d6e9c6;
padding: 15px;
border: 1px solid transparent;
border-radius: 4px;
margin: 20px 0;
border-top-color: #c9e2b3;
width: 90%;
}
.tutorial-alert-important {
color: #8a6d3b;
background-color: #fcf8e3;
border-color: #faebcc;
padding: 15px;
border: 1px solid transparent;
border-radius: 4px;
margin: 20px 0;
border-top-color: #f7e1b5;
width: 90%;
}
.tutorial-alert-warning {
color: #a94442;
background-color: #f2dede;
border-color: #ebccd1;
padding: 15px;
border: 1px solid transparent;
border-radius: 4px;
margin: 20px 0;
border-top-color: #e4b9c0;
width: 90%;
}
.tutorial-callout {
padding: 20px;
margin: 20px 0;
border: 1px solid #eee;
border-left-width: 5px;
border-radius: 3px;
border-left-color: #bcd643;
font-weight: 500;
width: 90%;
}
.tutorial-info-circle:before {
content:"\f05a"
}
.tutorial-check-square-o:before {
content:"\f046"
}
.tutorial-exclamation-circle:before {
content:"\f06a"
}
.tutorial-warning:before,.fa-exclamation-triangle:before {
content:"\f06a"
}
.tutorial-fa {
font:normal normal normal 14px/1 FontAwesome;
font-size:inherit;
text-rendering:auto;
-webkit-font-smoothing:antialiased;
-moz-osx-font-smoothing:grayscale
}
.tutorial-font-small {
font:normal normal normal 14px/1 "segoeui";
font-size:inherit;
text-rendering:auto;
-webkit-font-smoothing:antialiased;
-moz-osx-font-smoothing:grayscale;
line-height: 150%
}
li > .tutorial-font-small {
margin-bottom:7px;
}
div.tutorial-font-small {
margin-bottom:7px;
}
.tutorial-font-medium {
font:normal normal normal 32px/1 "segoeui";
text-rendering:auto;
-webkit-font-smoothing:antialiased;
-moz-osx-font-smoothing:grayscale;
line-height: 150%
}
.tutorial-font-large {
font:bold normal normal 40px/1 "segoeui";
text-rendering:auto;
-webkit-font-smoothing:antialiased;
-moz-osx-font-smoothing:grayscale;
line-height: 150%
}
.tutorial-font-bold-small {
font:bold normal normal 14px/1 "segoeui";
font-size:inherit;
text-rendering:auto;
-webkit-font-smoothing:antialiased;
-moz-osx-font-smoothing:grayscale;
line-height: 150%
}
.tutorial-stop-button {
color: #a94442;
background-color: #f2dede;
border-color: #ebccd1;
padding: 12px;
border: 1px solid transparent;
border-radius: 4px;
margin: 20px 0;
border-top-color: #e4b9c0;
min-width: 100px;
}
.tutorial-skip-button {
color: #8a6d3b;
background-color: #fcf8e3;
border-color: #faebcc;
padding: 12px;
border: 1px solid transparent;
border-radius: 4px;
margin: 20px 0;
border-top-color: #f7e1b5;
min-width: 100px;
}
.tutorial-previous-button {
color: #31708f;
background-color: #d9edf7;
border-color: #bce8f1;
padding: 12px;
border: 1px solid transparent;
border-radius: 4px;
margin: 20px 0;
border-top-color: #c9e2b3;
min-width: 100px;
}
.tutorial-next-button {
color: #3c763d;
background-color: #dff0d8;
border-color: #d6e9c6;
padding: 12px;
border: 1px solid transparent;
border-radius: 4px;
margin: 20px 0;
border-top-color: #c9e2b3;
min-width: 100px;
}
.tutorial-form {
padding: 5px;
border: solid 0px;
margin-left: auto;
margin-right: auto;
margin-bottom: 20px;
width: 100%;
}
.tutorial-buttonsTable {
border-top-color: #a6e1ec;
border: solid 0px;
vertical-align: middle;
min-width: 100px;
width: 95%;
margin-left: auto;
margin-right: auto;
}
.tutorial-image-container {
padding: 5px 15px 5px 5px;
border: solid 0px;
margin-left: auto;
margin-right: auto;
width: 100%;
}
/* Tooltip container */
.tooltip {
position: relative;
display: inline-block;
border-bottom: 1px dotted black; /* If you want dots under the hoverable text */
}
/* Tooltip text */
.tooltip .tooltiptext {
visibility: hidden;
width: 240px;
background-color: #0295aa;
color: #fff;
font-weight: normal;
font-size: 92%;
line-height: 130%;
text-align: center;
padding: 15px;
border-radius: 6px;
/* Position the tooltip text */
position: absolute;
z-index: 1;
bottom: 125%;
left: 50%;
margin-left: -120px;
/* Fade in tooltip */
opacity: 0;
transition: opacity 0.3s;
}
/* Tooltip arrow */
.tooltip .tooltiptext::after {
content: "";
position: absolute;
top: 100%;
left: 50%;
margin-left: -5px;
border-width: 5px;
border-style: solid;
border-color: #0295aa transparent transparent transparent;
}
/* Show the tooltip text when you mouse over the tooltip container */
.tooltip:hover .tooltiptext {
visibility: visible;
opacity: 1;
}
kbd {
padding: 2px 8px;
font-size: 125%;
font-weight: 500;
color: #000;
background-color: #bcd643;
border-radius: 5px;
border-style: outset;
border-width: 1px;
}
+28 -16
View File
@@ -1,11 +1,17 @@
/* Load Environment Variables */
let ENVIRONMENT = require('../Environment.js');
let ENVIRONMENT_MODULE = ENVIRONMENT.newEnvironment()
global.env = ENVIRONMENT_MODULE
process.on('uncaughtException', function (err) {
if (err.message.indexOf("EADDRINUSE") > 0) {
if (err.message && err.message.indexOf("EADDRINUSE") > 0) {
console.log("A Superalgos Client cannot be started. Reason: the port " + port + " is already in use by another application.")
return
}
console.log('[ERROR] Client -> client-> uncaughtException -> err.message = ' + err.message)
console.log('[ERROR] Client -> client-> uncaughtException -> err.stack = ' + err.stack)
console.log('[ERROR] Client -> client-> uncaughtException -> err = ' + err)
process.exit(1)
})
@@ -64,47 +70,47 @@ try {
WEB_SERVER = WEB_SERVER.newWebServer()
WEB_SERVER.initialize()
WEB_SERVER.run()
console.log('Web Server ......................... Started')
console.log('Web Server .................................................. Started')
UI_FILE_SERVER = UI_FILE_SERVER.newUIFileServer()
UI_FILE_SERVER.initialize()
UI_FILE_SERVER.run()
console.log('UI File Server ..................... Started')
console.log('UI File Server .............................................. Started')
PROJECT_FILE_SERVER = PROJECT_FILE_SERVER.newProjectFileServer()
PROJECT_FILE_SERVER.initialize()
PROJECT_FILE_SERVER.run()
console.log('Project File Server ................ Started')
console.log('Project File Server ......................................... Started')
PLUGIN_SERVER = PLUGIN_SERVER.newPluginServer()
PLUGIN_SERVER.initialize()
PLUGIN_SERVER.run()
console.log('Plugin Server ...................... Started')
console.log('Plugin Server ............................................... Started')
DATA_FILE_SERVER = DATA_FILE_SERVER.newDataFileServer()
DATA_FILE_SERVER.initialize()
DATA_FILE_SERVER.run()
console.log('Data File Server ................... Started')
console.log('Data File Server ............................................ Started')
EVENT_SERVER = EVENT_SERVER.newEventServer()
EVENT_SERVER.initialize()
EVENT_SERVER.run()
console.log('Events Server ...................... Started')
console.log('Events Server ............................................... Started')
TASK_MANAGER_SERVER = TASK_MANAGER_SERVER.newTaskManagerServer(WEB_SOCKETS_INTERFACE, EVENT_SERVER)
TASK_MANAGER_SERVER.initialize()
TASK_MANAGER_SERVER.run()
console.log('Task Manager Server ................ Started')
console.log('Task Manager Server ......................................... Started')
CCXT_SERVER = CCXT_SERVER.newCCXTServer()
CCXT_SERVER.initialize()
CCXT_SERVER.run()
console.log('CCXT Server ........................ Started')
console.log('CCXT Server ................................................. Started')
WEB3_SERVER = WEB3_SERVER.newWeb3Server()
WEB3_SERVER.initialize()
WEB3_SERVER.run()
console.log('WEB3 Server ........................ Started')
console.log('WEB3 Server ................................................. Started')
console.log('')
console.log('CLIENT INTERFACES:')
@@ -113,24 +119,30 @@ try {
WEB_SOCKETS_INTERFACE = WEB_SOCKETS_INTERFACE.newWebSocketsInterface(EVENT_SERVER)
WEB_SOCKETS_INTERFACE.initialize()
WEB_SOCKETS_INTERFACE.run()
console.log('Web Sockets Interface .............. Listening at port ' + process.env.WEB_SOCKETS_INTERFACE_PORT)
console.log('Web Sockets Interface ....................................... Listening at port ' + global.env.WEB_SOCKETS_INTERFACE_PORT)
HTTP_INTERFACE = HTTP_INTERFACE.newHttpInterface(WEB_SERVER, DATA_FILE_SERVER, PROJECT_FILE_SERVER, UI_FILE_SERVER, PLUGIN_SERVER, CCXT_SERVER, WEB3_SERVER)
HTTP_INTERFACE.initialize()
HTTP_INTERFACE.run()
console.log('Http Interface ..................... Listening at port ' + process.env.HTTP_INTERFACE_PORT)
console.log('Http Interface .............................................. Listening at port ' + global.env.HTTP_INTERFACE_PORT)
console.log('')
console.log("You are running Superalgos Beta 7")
console.log("You are running Superalgos Beta 10")
console.log('')
console.log("What's new? The following was implemented here:")
console.log('')
console.log('Multi-Project Infrastructure ....... This allow us to integrate crypto projects into Superalgos. Note that with this upgrade you will need to download and calculate market data again.')
console.log('Market Data Structure ....................................... This allows any strategy to use data from markets different from the one it is running at.')
console.log('Exchange Data Structure ..................................... This allows any strategy to use data from exchanges and markets different from the one it is running at.')
console.log('Tensor Flow Integration ..................................... This allows the creation and training of ML models that later can be used for predictions.')
console.log('SA Token .................................................... This allows the project to compensate contributors that add value to it.')
console.log('')
console.log("What's next? At the development pipeline we have:")
console.log('')
console.log('Ethereum Integration ............... This will allow mining data from an Ethereum network node, create indicators with it, an use it on strategies.')
console.log('Machine Learning Infrastructure .... This will enable a new kind of Bot that can learn from data mined. Later that knowledge can be used at trading strategies.')
console.log('Contribution Management ..................................... This will allow us to manage contributions at scale, and distribute the SA token more efficiently at each release.')
console.log('Infraestructure to sensor any API .......................... This will allow us to fetch data from any API, turn it into indicators and plot it.')
console.log('Usage of ML Predictions at Trading Systems .................. This will enable a new kind of Bot that can learn from data mined. Later that knowledge can be used at trading strategies.')
console.log('Ethereum Integration ........................................ This will allow mining data from an Ethereum network node, create indicators with it, an use it on strategies.')
console.log('')
} catch (err) {
+797 -114
View File
File diff suppressed because it is too large. Load diff
-1
View File
@@ -1 +0,0 @@
export const version = "abi/5.0.0-beta.153";
-91
View File
@@ -1,91 +0,0 @@
"use strict";
// See: https://github.com/ethereum/wiki/wiki/Ethereum-Contract-ABI
import { arrayify } from "@ethersproject/bytes";
import { defineReadOnly } from "@ethersproject/properties";
import { Logger } from "@ethersproject/logger";
import { version } from "./_version";
const logger = new Logger(version);
import { Reader, Writer } from "./coders/abstract-coder";
import { AddressCoder } from "./coders/address";
import { ArrayCoder } from "./coders/array";
import { BooleanCoder } from "./coders/boolean";
import { BytesCoder } from "./coders/bytes";
import { FixedBytesCoder } from "./coders/fixed-bytes";
import { NullCoder } from "./coders/null";
import { NumberCoder } from "./coders/number";
import { StringCoder } from "./coders/string";
import { TupleCoder } from "./coders/tuple";
import { ParamType } from "./fragments";
const paramTypeBytes = new RegExp(/^bytes([0-9]*)$/);
const paramTypeNumber = new RegExp(/^(u?int)([0-9]*)$/);
export class AbiCoder {
constructor(coerceFunc) {
logger.checkNew(new.target, AbiCoder);
defineReadOnly(this, "coerceFunc", coerceFunc || null);
}
_getCoder(param) {
switch (param.baseType) {
case "address":
return new AddressCoder(param.name);
case "bool":
return new BooleanCoder(param.name);
case "string":
return new StringCoder(param.name);
case "bytes":
return new BytesCoder(param.name);
case "array":
return new ArrayCoder(this._getCoder(param.arrayChildren), param.arrayLength, param.name);
case "tuple":
return new TupleCoder((param.components || []).map((component) => {
return this._getCoder(component);
}), param.name);
case "":
return new NullCoder(param.name);
}
// u?int[0-9]*
let match = param.type.match(paramTypeNumber);
if (match) {
let size = parseInt(match[2] || "256");
if (size === 0 || size > 256 || (size % 8) !== 0) {
logger.throwArgumentError("invalid " + match[1] + " bit length", "param", param);
}
return new NumberCoder(size / 8, (match[1] === "int"), param.name);
}
// bytes[0-9]+
match = param.type.match(paramTypeBytes);
if (match) {
let size = parseInt(match[1]);
if (size === 0 || size > 32) {
logger.throwArgumentError("invalid bytes length", "param", param);
}
return new FixedBytesCoder(size, param.name);
}
return logger.throwArgumentError("invalid type", "type", param.type);
}
_getWordSize() { return 32; }
_getReader(data) {
return new Reader(data, this._getWordSize(), this.coerceFunc);
}
_getWriter() {
return new Writer(this._getWordSize());
}
encode(types, values) {
if (types.length !== values.length) {
logger.throwError("types/values length mismatch", Logger.errors.INVALID_ARGUMENT, {
count: { types: types.length, values: values.length },
value: { types: types, values: values }
});
}
const coders = types.map((type) => this._getCoder(ParamType.from(type)));
const coder = (new TupleCoder(coders, "_"));
const writer = this._getWriter();
coder.encode(writer, values);
return writer.data;
}
decode(types, data) {
const coders = types.map((type) => this._getCoder(ParamType.from(type)));
const coder = new TupleCoder(coders, "_");
return coder.decode(this._getReader(arrayify(data)));
}
}
export const defaultAbiCoder = new AbiCoder();
-131
View File
@@ -1,131 +0,0 @@
"use strict";
import { arrayify, concat, hexlify } from "@ethersproject/bytes";
import { BigNumber } from "@ethersproject/bignumber";
import { defineReadOnly } from "@ethersproject/properties";
import { Logger } from "@ethersproject/logger";
import { version } from "../_version";
const logger = new Logger(version);
export function checkResultErrors(result) {
// Find the first error (if any)
const errors = [];
const checkErrors = function (path, object) {
if (!Array.isArray(object)) {
return;
}
for (let key in object) {
const childPath = path.slice();
childPath.push(key);
try {
checkErrors(childPath, object[key]);
}
catch (error) {
errors.push({ path: childPath, error: error });
}
}
};
checkErrors([], result);
return errors;
}
export class Coder {
constructor(name, type, localName, dynamic) {
// @TODO: defineReadOnly these
this.name = name;
this.type = type;
this.localName = localName;
this.dynamic = dynamic;
}
_throwError(message, value) {
logger.throwArgumentError(message, this.localName, value);
}
}
export class Writer {
constructor(wordSize) {
defineReadOnly(this, "wordSize", wordSize || 32);
this._data = arrayify([]);
this._padding = new Uint8Array(wordSize);
}
get data() { return hexlify(this._data); }
get length() { return this._data.length; }
_writeData(data) {
this._data = concat([this._data, data]);
return data.length;
}
// Arrayish items; padded on the right to wordSize
writeBytes(value) {
let bytes = arrayify(value);
if (bytes.length % this.wordSize) {
bytes = concat([bytes, this._padding.slice(bytes.length % this.wordSize)]);
}
return this._writeData(bytes);
}
_getValue(value) {
let bytes = arrayify(BigNumber.from(value));
if (bytes.length > this.wordSize) {
logger.throwError("value out-of-bounds", Logger.errors.BUFFER_OVERRUN, {
length: this.wordSize,
offset: bytes.length
});
}
if (bytes.length % this.wordSize) {
bytes = concat([this._padding.slice(bytes.length % this.wordSize), bytes]);
}
return bytes;
}
// BigNumberish items; padded on the left to wordSize
writeValue(value) {
return this._writeData(this._getValue(value));
}
writeUpdatableValue() {
let offset = this.length;
this.writeValue(0);
return (value) => {
this._data.set(this._getValue(value), offset);
};
}
}
export class Reader {
constructor(data, wordSize, coerceFunc) {
defineReadOnly(this, "_data", arrayify(data));
defineReadOnly(this, "wordSize", wordSize || 32);
defineReadOnly(this, "_coerceFunc", coerceFunc);
this._offset = 0;
}
get data() { return hexlify(this._data); }
get consumed() { return this._offset; }
// The default Coerce function
static coerce(name, value) {
let match = name.match("^u?int([0-9]+)$");
if (match && parseInt(match[1]) <= 48) {
value = value.toNumber();
}
return value;
}
coerce(name, value) {
if (this._coerceFunc) {
return this._coerceFunc(name, value);
}
return Reader.coerce(name, value);
}
_peekBytes(offset, length) {
let alignedLength = Math.ceil(length / this.wordSize) * this.wordSize;
if (this._offset + alignedLength > this._data.length) {
logger.throwError("data out-of-bounds", Logger.errors.BUFFER_OVERRUN, {
length: this._data.length,
offset: this._offset + alignedLength
});
}
return this._data.slice(this._offset, this._offset + alignedLength);
}
subReader(offset) {
return new Reader(this._data.slice(this._offset + offset), this.wordSize, this._coerceFunc);
}
readBytes(length) {
let bytes = this._peekBytes(0, length);
this._offset += bytes.length;
// @TODO: Make sure the length..end bytes are all 0?
return bytes.slice(0, length);
}
readValue() {
return BigNumber.from(this.readBytes(this.wordSize));
}
}
-21
View File
@@ -1,21 +0,0 @@
"use strict";
import { getAddress } from "@ethersproject/address";
import { hexZeroPad } from "@ethersproject/bytes";
import { Coder } from "./abstract-coder";
export class AddressCoder extends Coder {
constructor(localName) {
super("address", "address", localName, false);
}
encode(writer, value) {
try {
getAddress(value);
}
catch (error) {
this._throwError(error.message, value);
}
return writer.writeValue(value);
}
decode(reader) {
return getAddress(hexZeroPad(reader.readValue().toHexString(), 20));
}
}
-15
View File
@@ -1,15 +0,0 @@
"use strict";
import { Coder } from "./abstract-coder";
// Clones the functionality of an existing Coder, but without a localName
export class AnonymousCoder extends Coder {
constructor(coder) {
super(coder.name, coder.type, undefined, coder.dynamic);
this.coder = coder;
}
encode(writer, value) {
return this.coder.encode(writer, value);
}
decode(reader) {
return this.coder.decode(reader);
}
}
-165
View File
@@ -1,165 +0,0 @@
"use strict";
import { Logger } from "@ethersproject/logger";
import { version } from "../_version";
const logger = new Logger(version);
import { Coder, Writer } from "./abstract-coder";
import { AnonymousCoder } from "./anonymous";
export function pack(writer, coders, values) {
if (Array.isArray(values)) {
// do nothing
}
else if (values && typeof (values) === "object") {
let arrayValues = [];
coders.forEach(function (coder) {
arrayValues.push(values[coder.localName]);
});
values = arrayValues;
}
else {
logger.throwArgumentError("invalid tuple value", "tuple", values);
}
if (coders.length !== values.length) {
logger.throwArgumentError("types/value length mismatch", "tuple", values);
}
let staticWriter = new Writer(writer.wordSize);
let dynamicWriter = new Writer(writer.wordSize);
let updateFuncs = [];
coders.forEach((coder, index) => {
let value = values[index];
if (coder.dynamic) {
// Get current dynamic offset (for the future pointer)
let dynamicOffset = dynamicWriter.length;
// Encode the dynamic value into the dynamicWriter
coder.encode(dynamicWriter, value);
// Prepare to populate the correct offset once we are done
let updateFunc = staticWriter.writeUpdatableValue();
updateFuncs.push((baseOffset) => {
updateFunc(baseOffset + dynamicOffset);
});
}
else {
coder.encode(staticWriter, value);
}
});
// Backfill all the dynamic offsets, now that we know the static length
updateFuncs.forEach((func) => { func(staticWriter.length); });
let length = writer.writeBytes(staticWriter.data);
length += writer.writeBytes(dynamicWriter.data);
return length;
}
export function unpack(reader, coders) {
let values = [];
// A reader anchored to this base
let baseReader = reader.subReader(0);
// The amount of dynamic data read; to consume later to synchronize
let dynamicLength = 0;
coders.forEach((coder) => {
let value = null;
if (coder.dynamic) {
let offset = reader.readValue();
let offsetReader = baseReader.subReader(offset.toNumber());
try {
value = coder.decode(offsetReader);
}
catch (error) {
// Cannot recover from this
if (error.code === Logger.errors.BUFFER_OVERRUN) {
throw error;
}
value = error;
value.baseType = coder.name;
value.name = coder.localName;
value.type = coder.type;
}
dynamicLength += offsetReader.consumed;
}
else {
try {
value = coder.decode(reader);
}
catch (error) {
// Cannot recover from this
if (error.code === Logger.errors.BUFFER_OVERRUN) {
throw error;
}
value = error;
value.baseType = coder.name;
value.name = coder.localName;
value.type = coder.type;
}
}
if (value != undefined) {
values.push(value);
}
});
// @TODO: get rid of this an see if it still works?
// Consume the dynamic components in the main reader
reader.readBytes(dynamicLength);
// Add any named parameters (i.e. tuples)
coders.forEach((coder, index) => {
let name = coder.localName;
if (!name) {
return;
}
if (name === "length") {
name = "_length";
}
if (values[name] != null) {
return;
}
const value = values[index];
if (value instanceof Error) {
Object.defineProperty(values, name, {
get: () => { throw value; }
});
}
else {
values[name] = value;
}
});
for (let i = 0; i < values.length; i++) {
const value = values[i];
if (value instanceof Error) {
Object.defineProperty(values, i, {
get: () => { throw value; }
});
}
}
return Object.freeze(values);
}
export class ArrayCoder extends Coder {
constructor(coder, length, localName) {
const type = (coder.type + "[" + (length >= 0 ? length : "") + "]");
const dynamic = (length === -1 || coder.dynamic);
super("array", type, localName, dynamic);
this.coder = coder;
this.length = length;
}
encode(writer, value) {
if (!Array.isArray(value)) {
this._throwError("expected array value", value);
}
let count = this.length;
if (count === -1) {
count = value.length;
writer.writeValue(value.length);
}
logger.checkArgumentCount(count, value.length, "coder array" + (this.localName ? (" " + this.localName) : ""));
let coders = [];
for (let i = 0; i < value.length; i++) {
coders.push(this.coder);
}
return pack(writer, coders, value);
}
decode(reader) {
let count = this.length;
if (count === -1) {
count = reader.readValue().toNumber();
}
let coders = [];
for (let i = 0; i < count; i++) {
coders.push(new AnonymousCoder(this.coder));
}
return reader.coerce(this.name, unpack(reader, coders));
}
}
-13
View File
@@ -1,13 +0,0 @@
"use strict";
import { Coder } from "./abstract-coder";
export class BooleanCoder extends Coder {
constructor(localName) {
super("bool", "bool", localName, false);
}
encode(writer, value) {
return writer.writeValue(value ? 1 : 0);
}
decode(reader) {
return reader.coerce(this.type, !reader.readValue().isZero());
}
}
-25
View File
@@ -1,25 +0,0 @@
"use strict";
import { arrayify, hexlify } from "@ethersproject/bytes";
import { Coder } from "./abstract-coder";
export class DynamicBytesCoder extends Coder {
constructor(type, localName) {
super(type, type, localName, true);
}
encode(writer, value) {
value = arrayify(value);
let length = writer.writeValue(value.length);
length += writer.writeBytes(value);
return length;
}
decode(reader) {
return reader.readBytes(reader.readValue().toNumber());
}
}
export class BytesCoder extends DynamicBytesCoder {
constructor(localName) {
super("bytes", localName);
}
decode(reader) {
return reader.coerce(this.name, hexlify(super.decode(reader)));
}
}
-21
View File
@@ -1,21 +0,0 @@
"use strict";
import { arrayify, hexlify } from "@ethersproject/bytes";
import { Coder } from "./abstract-coder";
// @TODO: Merge this with bytes
export class FixedBytesCoder extends Coder {
constructor(size, localName) {
let name = "bytes" + String(size);
super(name, name, localName, false);
this.size = size;
}
encode(writer, value) {
let data = arrayify(value);
if (data.length !== this.size) {
this._throwError("incorrect data length", value);
}
return writer.writeBytes(data);
}
decode(reader) {
return reader.coerce(this.name, hexlify(reader.readBytes(this.size)));
}
}
-17
View File
@@ -1,17 +0,0 @@
"use strict";
import { Coder } from "./abstract-coder";
export class NullCoder extends Coder {
constructor(localName) {
super("null", "", localName, false);
}
encode(writer, value) {
if (value != null) {
this._throwError("not null", value);
}
return writer.writeBytes([]);
}
decode(reader) {
reader.readBytes(0);
return reader.coerce(this.name, null);
}
}
-38
View File
@@ -1,38 +0,0 @@
"use strict";
import { BigNumber } from "@ethersproject/bignumber";
import { MaxUint256, NegativeOne, One, Zero } from "@ethersproject/constants";
import { Coder } from "./abstract-coder";
export class NumberCoder extends Coder {
constructor(size, signed, localName) {
const name = ((signed ? "int" : "uint") + (size * 8));
super(name, name, localName, false);
this.size = size;
this.signed = signed;
}
encode(writer, value) {
let v = BigNumber.from(value);
// Check bounds are safe for encoding
let maxUintValue = MaxUint256.mask(writer.wordSize * 8);
if (this.signed) {
let bounds = maxUintValue.mask(this.size * 8 - 1);
if (v.gt(bounds) || v.lt(bounds.add(One).mul(NegativeOne))) {
this._throwError("value out-of-bounds", value);
}
}
else if (v.lt(Zero) || v.gt(maxUintValue.mask(this.size * 8))) {
this._throwError("value out-of-bounds", value);
}
v = v.toTwos(this.size * 8).mask(this.size * 8);
if (this.signed) {
v = v.fromTwos(this.size * 8).toTwos(8 * writer.wordSize);
}
return writer.writeValue(v);
}
decode(reader) {
let value = reader.readValue().mask(this.size * 8);
if (this.signed) {
value = value.fromTwos(this.size * 8);
}
return reader.coerce(this.name, value);
}
}
-14
View File
@@ -1,14 +0,0 @@
"use strict";
import { toUtf8Bytes, toUtf8String } from "@ethersproject/strings";
import { DynamicBytesCoder } from "./bytes";
export class StringCoder extends DynamicBytesCoder {
constructor(localName) {
super("string", localName);
}
encode(writer, value) {
return super.encode(writer, toUtf8Bytes(value));
}
decode(reader) {
return toUtf8String(super.decode(reader));
}
}
-24
View File
@@ -1,24 +0,0 @@
"use strict";
import { Coder } from "./abstract-coder";
import { pack, unpack } from "./array";
export class TupleCoder extends Coder {
constructor(coders, localName) {
let dynamic = false;
const types = [];
coders.forEach((coder) => {
if (coder.dynamic) {
dynamic = true;
}
types.push(coder.type);
});
const type = ("tuple(" + types.join(",") + ")");
super("tuple", type, localName, dynamic);
this.coders = coders;
}
encode(writer, value) {
return pack(writer, this.coders, value);
}
decode(reader) {
return reader.coerce(this.name, unpack(reader, this.coders));
}
}
-780
View File
@@ -1,780 +0,0 @@
"use strict";
import { BigNumber } from "@ethersproject/bignumber";
import { defineReadOnly } from "@ethersproject/properties";
import { Logger } from "@ethersproject/logger";
import { version } from "./_version";
const logger = new Logger(version);
;
const _constructorGuard = {};
let ModifiersBytes = { calldata: true, memory: true, storage: true };
let ModifiersNest = { calldata: true, memory: true };
function checkModifier(type, name) {
if (type === "bytes" || type === "string") {
if (ModifiersBytes[name]) {
return true;
}
}
else if (type === "address") {
if (name === "payable") {
return true;
}
}
else if (type.indexOf("[") >= 0 || type === "tuple") {
if (ModifiersNest[name]) {
return true;
}
}
if (ModifiersBytes[name] || name === "payable") {
logger.throwArgumentError("invalid modifier", "name", name);
}
return false;
}
// @TODO: Make sure that children of an indexed tuple are marked with a null indexed
function parseParamType(param, allowIndexed) {
let originalParam = param;
function throwError(i) {
logger.throwArgumentError(`unexpected character at position ${i}`, "param", param);
}
param = param.replace(/\s/g, " ");
function newNode(parent) {
let node = { type: "", name: "", parent: parent, state: { allowType: true } };
if (allowIndexed) {
node.indexed = false;
}
return node;
}
let parent = { type: "", name: "", state: { allowType: true } };
let node = parent;
for (let i = 0; i < param.length; i++) {
let c = param[i];
switch (c) {
case "(":
if (node.state.allowType && node.type === "") {
node.type = "tuple";
}
else if (!node.state.allowParams) {
throwError(i);
}
node.state.allowType = false;
node.type = verifyType(node.type);
node.components = [newNode(node)];
node = node.components[0];
break;
case ")":
delete node.state;
if (node.name === "indexed") {
if (!allowIndexed) {
throwError(i);
}
node.indexed = true;
node.name = "";
}
if (checkModifier(node.type, node.name)) {
node.name = "";
}
node.type = verifyType(node.type);
let child = node;
node = node.parent;
if (!node) {
throwError(i);
}
delete child.parent;
node.state.allowParams = false;
node.state.allowName = true;
node.state.allowArray = true;
break;
case ",":
delete node.state;
if (node.name === "indexed") {
if (!allowIndexed) {
throwError(i);
}
node.indexed = true;
node.name = "";
}
if (checkModifier(node.type, node.name)) {
node.name = "";
}
node.type = verifyType(node.type);
let sibling = newNode(node.parent);
//{ type: "", name: "", parent: node.parent, state: { allowType: true } };
node.parent.components.push(sibling);
delete node.parent;
node = sibling;
break;
// Hit a space...
case " ":
// If reading type, the type is done and may read a param or name
if (node.state.allowType) {
if (node.type !== "") {
node.type = verifyType(node.type);
delete node.state.allowType;
node.state.allowName = true;
node.state.allowParams = true;
}
}
// If reading name, the name is done
if (node.state.allowName) {
if (node.name !== "") {
if (node.name === "indexed") {
if (!allowIndexed) {
throwError(i);
}
if (node.indexed) {
throwError(i);
}
node.indexed = true;
node.name = "";
}
else if (checkModifier(node.type, node.name)) {
node.name = "";
}
else {
node.state.allowName = false;
}
}
}
break;
case "[":
if (!node.state.allowArray) {
throwError(i);
}
node.type += c;
node.state.allowArray = false;
node.state.allowName = false;
node.state.readArray = true;
break;
case "]":
if (!node.state.readArray) {
throwError(i);
}
node.type += c;
node.state.readArray = false;
node.state.allowArray = true;
node.state.allowName = true;
break;
default:
if (node.state.allowType) {
node.type += c;
node.state.allowParams = true;
node.state.allowArray = true;
}
else if (node.state.allowName) {
node.name += c;
delete node.state.allowArray;
}
else if (node.state.readArray) {
node.type += c;
}
else {
throwError(i);
}
}
}
if (node.parent) {
logger.throwArgumentError("unexpected eof", "param", param);
}
delete parent.state;
if (node.name === "indexed") {
if (!allowIndexed) {
throwError(originalParam.length - 7);
}
if (node.indexed) {
throwError(originalParam.length - 7);
}
node.indexed = true;
node.name = "";
}
else if (checkModifier(node.type, node.name)) {
node.name = "";
}
parent.type = verifyType(parent.type);
return parent;
}
function populate(object, params) {
for (let key in params) {
defineReadOnly(object, key, params[key]);
}
}
export const FormatTypes = Object.freeze({
// Bare formatting, as is needed for computing a sighash of an event or function
sighash: "sighash",
// Human-Readable with Minimal spacing and without names (compact human-readable)
minimal: "minimal",
// Human-Readble with nice spacing, including all names
full: "full",
// JSON-format a la Solidity
json: "json"
});
const paramTypeArray = new RegExp(/^(.*)\[([0-9]*)\]$/);
export class ParamType {
constructor(constructorGuard, params) {
if (constructorGuard !== _constructorGuard) {
logger.throwError("use fromString", Logger.errors.UNSUPPORTED_OPERATION, {
operation: "new ParamType()"
});
}
populate(this, params);
let match = this.type.match(paramTypeArray);
if (match) {
populate(this, {
arrayLength: parseInt(match[2] || "-1"),
arrayChildren: ParamType.fromObject({
type: match[1],
components: this.components
}),
baseType: "array"
});
}
else {
populate(this, {
arrayLength: null,
arrayChildren: null,
baseType: ((this.components != null) ? "tuple" : this.type)
});
}
this._isParamType = true;
Object.freeze(this);
}
// Format the parameter fragment
// - sighash: "(uint256,address)"
// - minimal: "tuple(uint256,address) indexed"
// - full: "tuple(uint256 foo, addres bar) indexed baz"
format(format) {
if (!format) {
format = FormatTypes.sighash;
}
if (!FormatTypes[format]) {
logger.throwArgumentError("invalid format type", "format", format);
}
if (format === FormatTypes.json) {
let result = {
type: ((this.baseType === "tuple") ? "tuple" : this.type),
name: (this.name || undefined)
};
if (typeof (this.indexed) === "boolean") {
result.indexed = this.indexed;
}
if (this.components) {
result.components = this.components.map((comp) => JSON.parse(comp.format(format)));
}
return JSON.stringify(result);
}
let result = "";
// Array
if (this.baseType === "array") {
result += this.arrayChildren.format(format);
result += "[" + (this.arrayLength < 0 ? "" : String(this.arrayLength)) + "]";
}
else {
if (this.baseType === "tuple") {
if (format !== FormatTypes.sighash) {
result += this.type;
}
result += "(" + this.components.map((comp) => comp.format(format)).join((format === FormatTypes.full) ? ", " : ",") + ")";
}
else {
result += this.type;
}
}
if (format !== FormatTypes.sighash) {
if (this.indexed === true) {
result += " indexed";
}
if (format === FormatTypes.full && this.name) {
result += " " + this.name;
}
}
return result;
}
static from(value, allowIndexed) {
if (typeof (value) === "string") {
return ParamType.fromString(value, allowIndexed);
}
return ParamType.fromObject(value);
}
static fromObject(value) {
if (ParamType.isParamType(value)) {
return value;
}
return new ParamType(_constructorGuard, {
name: (value.name || null),
type: verifyType(value.type),
indexed: ((value.indexed == null) ? null : !!value.indexed),
components: (value.components ? value.components.map(ParamType.fromObject) : null)
});
}
static fromString(value, allowIndexed) {
function ParamTypify(node) {
return ParamType.fromObject({
name: node.name,
type: node.type,
indexed: node.indexed,
components: node.components
});
}
return ParamTypify(parseParamType(value, !!allowIndexed));
}
static isParamType(value) {
return !!(value != null && value._isParamType);
}
}
;
function parseParams(value, allowIndex) {
return splitNesting(value).map((param) => ParamType.fromString(param, allowIndex));
}
export class Fragment {
constructor(constructorGuard, params) {
if (constructorGuard !== _constructorGuard) {
logger.throwError("use a static from method", Logger.errors.UNSUPPORTED_OPERATION, {
operation: "new Fragment()"
});
}
populate(this, params);
this._isFragment = true;
Object.freeze(this);
}
static from(value) {
if (Fragment.isFragment(value)) {
return value;
}
if (typeof (value) === "string") {
return Fragment.fromString(value);
}
return Fragment.fromObject(value);
}
static fromObject(value) {
if (Fragment.isFragment(value)) {
return value;
}
switch (value.type) {
case "function":
return FunctionFragment.fromObject(value);
case "event":
return EventFragment.fromObject(value);
case "constructor":
return ConstructorFragment.fromObject(value);
case "fallback":
case "receive":
// @TODO: Something? Maybe return a FunctionFragment? A custom DefaultFunctionFragment?
return null;
}
return logger.throwArgumentError("invalid fragment object", "value", value);
}
static fromString(value) {
// Make sure the "returns" is surrounded by a space and all whitespace is exactly one space
value = value.replace(/\s/g, " ");
value = value.replace(/\(/g, " (").replace(/\)/g, ") ").replace(/\s+/g, " ");
value = value.trim();
if (value.split(" ")[0] === "event") {
return EventFragment.fromString(value.substring(5).trim());
}
else if (value.split(" ")[0] === "function") {
return FunctionFragment.fromString(value.substring(8).trim());
}
else if (value.split("(")[0].trim() === "constructor") {
return ConstructorFragment.fromString(value.trim());
}
return logger.throwArgumentError("unsupported fragment", "value", value);
}
static isFragment(value) {
return !!(value && value._isFragment);
}
}
export class EventFragment extends Fragment {
format(format) {
if (!format) {
format = FormatTypes.sighash;
}
if (!FormatTypes[format]) {
logger.throwArgumentError("invalid format type", "format", format);
}
if (format === FormatTypes.json) {
return JSON.stringify({
type: "event",
anonymous: this.anonymous,
name: this.name,
inputs: this.inputs.map((input) => JSON.parse(input.format(format)))
});
}
let result = "";
if (format !== FormatTypes.sighash) {
result += "event ";
}
result += this.name + "(" + this.inputs.map((input) => input.format(format)).join((format === FormatTypes.full) ? ", " : ",") + ") ";
if (format !== FormatTypes.sighash) {
if (this.anonymous) {
result += "anonymous ";
}
}
return result.trim();
}
static from(value) {
if (typeof (value) === "string") {
return EventFragment.fromString(value);
}
return EventFragment.fromObject(value);
}
static fromObject(value) {
if (EventFragment.isEventFragment(value)) {
return value;
}
if (value.type !== "event") {
logger.throwArgumentError("invalid event object", "value", value);
}
const params = {
name: verifyIdentifier(value.name),
anonymous: value.anonymous,
inputs: (value.inputs ? value.inputs.map(ParamType.fromObject) : []),
type: "event"
};
return new EventFragment(_constructorGuard, params);
}
static fromString(value) {
let match = value.match(regexParen);
if (!match) {
logger.throwArgumentError("invalid event string", "value", value);
}
let anonymous = false;
match[3].split(" ").forEach((modifier) => {
switch (modifier.trim()) {
case "anonymous":
anonymous = true;
break;
case "":
break;
default:
logger.warn("unknown modifier: " + modifier);
}
});
return EventFragment.fromObject({
name: match[1].trim(),
anonymous: anonymous,
inputs: parseParams(match[2], true),
type: "event"
});
}
static isEventFragment(value) {
return (value && value._isFragment && value.type === "event");
}
}
function parseGas(value, params) {
params.gas = null;
let comps = value.split("@");
if (comps.length !== 1) {
if (comps.length > 2) {
logger.throwArgumentError("invalid human-readable ABI signature", "value", value);
}
if (!comps[1].match(/^[0-9]+$/)) {
logger.throwArgumentError("invalid human-readable ABI signature gas", "value", value);
}
params.gas = BigNumber.from(comps[1]);
return comps[0];
}
return value;
}
function parseModifiers(value, params) {
params.constant = false;
params.payable = false;
params.stateMutability = "nonpayable";
value.split(" ").forEach((modifier) => {
switch (modifier.trim()) {
case "constant":
params.constant = true;
break;
case "payable":
params.payable = true;
params.stateMutability = "payable";
break;
case "pure":
params.constant = true;
params.stateMutability = "pure";
break;
case "view":
params.constant = true;
params.stateMutability = "view";
break;
case "external":
case "public":
case "":
break;
default:
console.log("unknown modifier: " + modifier);
}
});
}
function verifyState(value) {
let result = {
constant: false,
payable: true,
stateMutability: "payable"
};
if (value.stateMutability != null) {
result.stateMutability = value.stateMutability;
// Set (and check things are consistent) the constant property
result.constant = (result.stateMutability === "view" || result.stateMutability === "pure");
if (value.constant != null) {
if ((!!value.constant) !== result.constant) {
logger.throwArgumentError("cannot have constant function with mutability " + result.stateMutability, "value", value);
}
}
// Set (and check things are consistent) the payable property
result.payable = (result.stateMutability === "payable");
if (value.payable != null) {
if ((!!value.payable) !== result.payable) {
logger.throwArgumentError("cannot have payable function with mutability " + result.stateMutability, "value", value);
}
}
}
else if (value.payable != null) {
result.payable = !!value.payable;
// If payable we can assume non-constant; otherwise we can't assume
if (value.constant == null && !result.payable && value.type !== "constructor") {
logger.throwArgumentError("unable to determine stateMutability", "value", value);
}
result.constant = !!value.constant;
if (result.constant) {
result.stateMutability = "view";
}
else {
result.stateMutability = (result.payable ? "payable" : "nonpayable");
}
if (result.payable && result.constant) {
logger.throwArgumentError("cannot have constant payable function", "value", value);
}
}
else if (value.constant != null) {
result.constant = !!value.constant;
result.payable = !result.constant;
result.stateMutability = (result.constant ? "view" : "payable");
}
else if (value.type !== "constructor") {
logger.throwArgumentError("unable to determine stateMutability", "value", value);
}
return result;
}
export class ConstructorFragment extends Fragment {
format(format) {
if (!format) {
format = FormatTypes.sighash;
}
if (!FormatTypes[format]) {
logger.throwArgumentError("invalid format type", "format", format);
}
if (format === FormatTypes.json) {
return JSON.stringify({
type: "constructor",
stateMutability: ((this.stateMutability !== "nonpayable") ? this.stateMutability : undefined),
payble: this.payable,
gas: (this.gas ? this.gas.toNumber() : undefined),
inputs: this.inputs.map((input) => JSON.parse(input.format(format)))
});
}
if (format === FormatTypes.sighash) {
logger.throwError("cannot format a constructor for sighash", Logger.errors.UNSUPPORTED_OPERATION, {
operation: "format(sighash)"
});
}
let result = "constructor(" + this.inputs.map((input) => input.format(format)).join((format === FormatTypes.full) ? ", " : ",") + ") ";
if (this.stateMutability && this.stateMutability !== "nonpayable") {
result += this.stateMutability + " ";
}
return result.trim();
}
static from(value) {
if (typeof (value) === "string") {
return ConstructorFragment.fromString(value);
}
return ConstructorFragment.fromObject(value);
}
static fromObject(value) {
if (ConstructorFragment.isConstructorFragment(value)) {
return value;
}
if (value.type !== "constructor") {
logger.throwArgumentError("invalid constructor object", "value", value);
}
let state = verifyState(value);
if (state.constant) {
logger.throwArgumentError("constructor cannot be constant", "value", value);
}
const params = {
name: null,
type: value.type,
inputs: (value.inputs ? value.inputs.map(ParamType.fromObject) : []),
payable: state.payable,
stateMutability: state.stateMutability,
gas: (value.gas ? BigNumber.from(value.gas) : null)
};
return new ConstructorFragment(_constructorGuard, params);
}
static fromString(value) {
let params = { type: "constructor" };
value = parseGas(value, params);
let parens = value.match(regexParen);
if (!parens || parens[1].trim() !== "constructor") {
logger.throwArgumentError("invalid constructor string", "value", value);
}
params.inputs = parseParams(parens[2].trim(), false);
parseModifiers(parens[3].trim(), params);
return ConstructorFragment.fromObject(params);
}
static isConstructorFragment(value) {
return (value && value._isFragment && value.type === "constructor");
}
}
export class FunctionFragment extends ConstructorFragment {
format(format) {
if (!format) {
format = FormatTypes.sighash;
}
if (!FormatTypes[format]) {
logger.throwArgumentError("invalid format type", "format", format);
}
if (format === FormatTypes.json) {
return JSON.stringify({
type: "function",
name: this.name,
constant: this.constant,
stateMutability: ((this.stateMutability !== "nonpayable") ? this.stateMutability : undefined),
payble: this.payable,
gas: (this.gas ? this.gas.toNumber() : undefined),
inputs: this.inputs.map((input) => JSON.parse(input.format(format))),
ouputs: this.outputs.map((output) => JSON.parse(output.format(format))),
});
}
let result = "";
if (format !== FormatTypes.sighash) {
result += "function ";
}
result += this.name + "(" + this.inputs.map((input) => input.format(format)).join((format === FormatTypes.full) ? ", " : ",") + ") ";
if (format !== FormatTypes.sighash) {
if (this.stateMutability) {
if (this.stateMutability !== "nonpayable") {
result += (this.stateMutability + " ");
}
}
else if (this.constant) {
result += "view ";
}
if (this.outputs && this.outputs.length) {
result += "returns (" + this.outputs.map((output) => output.format(format)).join(", ") + ") ";
}
if (this.gas != null) {
result += "@" + this.gas.toString() + " ";
}
}
return result.trim();
}
static from(value) {
if (typeof (value) === "string") {
return FunctionFragment.fromString(value);
}
return FunctionFragment.fromObject(value);
}
static fromObject(value) {
if (FunctionFragment.isFunctionFragment(value)) {
return value;
}
if (value.type !== "function") {
logger.throwArgumentError("invalid function object", "value", value);
}
let state = verifyState(value);
const params = {
type: value.type,
name: verifyIdentifier(value.name),
constant: state.constant,
inputs: (value.inputs ? value.inputs.map(ParamType.fromObject) : []),
outputs: (value.outputs ? value.outputs.map(ParamType.fromObject) : []),
payable: state.payable,
stateMutability: state.stateMutability,
gas: (value.gas ? BigNumber.from(value.gas) : null)
};
return new FunctionFragment(_constructorGuard, params);
}
static fromString(value) {
let params = { type: "function" };
value = parseGas(value, params);
let comps = value.split(" returns ");
if (comps.length > 2) {
logger.throwArgumentError("invalid function string", "value", value);
}
let parens = comps[0].match(regexParen);
if (!parens) {
logger.throwArgumentError("invalid function signature", "value", value);
}
params.name = parens[1].trim();
if (params.name) {
verifyIdentifier(params.name);
}
params.inputs = parseParams(parens[2], false);
parseModifiers(parens[3].trim(), params);
// We have outputs
if (comps.length > 1) {
let returns = comps[1].match(regexParen);
if (returns[1].trim() != "" || returns[3].trim() != "") {
logger.throwArgumentError("unexpected tokens", "value", value);
}
params.outputs = parseParams(returns[2], false);
}
else {
params.outputs = [];
}
return FunctionFragment.fromObject(params);
}
static isFunctionFragment(value) {
return (value && value._isFragment && value.type === "function");
}
}
//export class ErrorFragment extends Fragment {
//}
//export class StructFragment extends Fragment {
//}
function verifyType(type) {
// These need to be transformed to their full description
if (type.match(/^uint($|[^1-9])/)) {
type = "uint256" + type.substring(4);
}
else if (type.match(/^int($|[^1-9])/)) {
type = "int256" + type.substring(3);
}
// @TODO: more verification
return type;
}
const regexIdentifier = new RegExp("^[A-Za-z_][A-Za-z0-9_]*$");
function verifyIdentifier(value) {
if (!value || !value.match(regexIdentifier)) {
logger.throwArgumentError(`invalid identifier "${value}"`, "value", value);
}
return value;
}
const regexParen = new RegExp("^([^)(]*)\\((.*)\\)([^)(]*)$");
function splitNesting(value) {
value = value.trim();
let result = [];
let accum = "";
let depth = 0;
for (let offset = 0; offset < value.length; offset++) {
let c = value[offset];
if (c === "," && depth === 0) {
result.push(accum);
accum = "";
}
else {
accum += c;
if (c === "(") {
depth++;
}
else if (c === ")") {
depth--;
if (depth === -1) {
logger.throwArgumentError("unbalanced parenthesis", "value", value);
}
}
}
}
if (accum) {
result.push(accum);
}
return result;
}
-5
View File
@@ -1,5 +0,0 @@
"use strict";
import { ConstructorFragment, EventFragment, FormatTypes, Fragment, FunctionFragment, ParamType } from "./fragments";
import { AbiCoder, defaultAbiCoder } from "./abi-coder";
import { checkResultErrors, Indexed, Interface, LogDescription, TransactionDescription } from "./interface";
export { ConstructorFragment, EventFragment, Fragment, FunctionFragment, ParamType, FormatTypes, AbiCoder, defaultAbiCoder, Interface, Indexed, checkResultErrors, LogDescription, TransactionDescription };
-492
View File
@@ -1,492 +0,0 @@
"use strict";
import { getAddress } from "@ethersproject/address";
import { BigNumber } from "@ethersproject/bignumber";
import { arrayify, concat, hexDataSlice, hexlify, hexZeroPad, isHexString } from "@ethersproject/bytes";
import { id } from "@ethersproject/hash";
import { keccak256 } from "@ethersproject/keccak256";
import { defineReadOnly, Description, getStatic } from "@ethersproject/properties";
import { defaultAbiCoder } from "./abi-coder";
import { checkResultErrors } from "./coders/abstract-coder";
import { ConstructorFragment, EventFragment, FormatTypes, Fragment, FunctionFragment, ParamType } from "./fragments";
import { Logger } from "@ethersproject/logger";
import { version } from "./_version";
const logger = new Logger(version);
export { checkResultErrors };
export class LogDescription extends Description {
}
export class TransactionDescription extends Description {
}
export class Indexed extends Description {
static isIndexed(value) {
return !!(value && value._isIndexed);
}
}
function wrapAccessError(property, error) {
const wrap = new Error(`deferred error during ABI decoding triggered accessing ${property}`);
wrap.error = error;
return wrap;
}
function checkNames(fragment, type, params) {
params.reduce((accum, param) => {
if (param.name) {
if (accum[param.name]) {
logger.throwArgumentError(`duplicate ${type} parameter ${JSON.stringify(param.name)} in ${fragment.format("full")}`, "fragment", fragment);
}
accum[param.name] = true;
}
return accum;
}, {});
}
export class Interface {
constructor(fragments) {
logger.checkNew(new.target, Interface);
let abi = [];
if (typeof (fragments) === "string") {
abi = JSON.parse(fragments);
}
else {
abi = fragments;
}
defineReadOnly(this, "fragments", abi.map((fragment) => {
return Fragment.from(fragment);
}).filter((fragment) => (fragment != null)));
defineReadOnly(this, "_abiCoder", getStatic((new.target), "getAbiCoder")());
defineReadOnly(this, "functions", {});
defineReadOnly(this, "errors", {});
defineReadOnly(this, "events", {});
defineReadOnly(this, "structs", {});
// Add all fragments by their signature
this.fragments.forEach((fragment) => {
let bucket = null;
switch (fragment.type) {
case "constructor":
if (this.deploy) {
logger.warn("duplicate definition - constructor");
return;
}
checkNames(fragment, "input", fragment.inputs);
defineReadOnly(this, "deploy", fragment);
return;
case "function":
checkNames(fragment, "input", fragment.inputs);
checkNames(fragment, "output", fragment.outputs);
bucket = this.functions;
break;
case "event":
checkNames(fragment, "input", fragment.inputs);
bucket = this.events;
break;
default:
return;
}
let signature = fragment.format();
if (bucket[signature]) {
logger.warn("duplicate definition - " + signature);
return;
}
bucket[signature] = fragment;
});
// If we do not have a constructor add a default
if (!this.deploy) {
defineReadOnly(this, "deploy", ConstructorFragment.from({
payable: false,
type: "constructor"
}));
}
defineReadOnly(this, "_isInterface", true);
}
format(format) {
if (!format) {
format = FormatTypes.full;
}
if (format === FormatTypes.sighash) {
logger.throwArgumentError("interface does not support formatting sighash", "format", format);
}
const abi = this.fragments.map((fragment) => fragment.format(format));
// We need to re-bundle the JSON fragments a bit
if (format === FormatTypes.json) {
return JSON.stringify(abi.map((j) => JSON.parse(j)));
}
return abi;
}
// Sub-classes can override these to handle other blockchains
static getAbiCoder() {
return defaultAbiCoder;
}
static getAddress(address) {
return getAddress(address);
}
static getSighash(functionFragment) {
return hexDataSlice(id(functionFragment.format()), 0, 4);
}
static getEventTopic(eventFragment) {
return id(eventFragment.format());
}
// Find a function definition by any means necessary (unless it is ambiguous)
getFunction(nameOrSignatureOrSighash) {
if (isHexString(nameOrSignatureOrSighash)) {
for (const name in this.functions) {
if (nameOrSignatureOrSighash === this.getSighash(name)) {
return this.functions[name];
}
}
logger.throwArgumentError("no matching function", "sighash", nameOrSignatureOrSighash);
}
// It is a bare name, look up the function (will return null if ambiguous)
if (nameOrSignatureOrSighash.indexOf("(") === -1) {
const name = nameOrSignatureOrSighash.trim();
const matching = Object.keys(this.functions).filter((f) => (f.split("(" /* fix:) */)[0] === name));
if (matching.length === 0) {
logger.throwArgumentError("no matching function", "name", name);
}
else if (matching.length > 1) {
logger.throwArgumentError("multiple matching functions", "name", name);
}
return this.functions[matching[0]];
}
// Normlize the signature and lookup the function
const result = this.functions[FunctionFragment.fromString(nameOrSignatureOrSighash).format()];
if (!result) {
logger.throwArgumentError("no matching function", "signature", nameOrSignatureOrSighash);
}
return result;
}
// Find an event definition by any means necessary (unless it is ambiguous)
getEvent(nameOrSignatureOrTopic) {
if (isHexString(nameOrSignatureOrTopic)) {
const topichash = nameOrSignatureOrTopic.toLowerCase();
for (const name in this.events) {
if (topichash === this.getEventTopic(name)) {
return this.events[name];
}
}
logger.throwArgumentError("no matching event", "topichash", topichash);
}
// It is a bare name, look up the function (will return null if ambiguous)
if (nameOrSignatureOrTopic.indexOf("(") === -1) {
const name = nameOrSignatureOrTopic.trim();
const matching = Object.keys(this.events).filter((f) => (f.split("(" /* fix:) */)[0] === name));
if (matching.length === 0) {
logger.throwArgumentError("no matching event", "name", name);
}
else if (matching.length > 1) {
logger.throwArgumentError("multiple matching events", "name", name);
}
return this.events[matching[0]];
}
// Normlize the signature and lookup the function
const result = this.events[EventFragment.fromString(nameOrSignatureOrTopic).format()];
if (!result) {
logger.throwArgumentError("no matching event", "signature", nameOrSignatureOrTopic);
}
return result;
}
// Get the sighash (the bytes4 selector) used by Solidity to identify a function
getSighash(functionFragment) {
if (typeof (functionFragment) === "string") {
functionFragment = this.getFunction(functionFragment);
}
return getStatic(this.constructor, "getSighash")(functionFragment);
}
// Get the topic (the bytes32 hash) used by Solidity to identify an event
getEventTopic(eventFragment) {
if (typeof (eventFragment) === "string") {
eventFragment = this.getEvent(eventFragment);
}
return getStatic(this.constructor, "getEventTopic")(eventFragment);
}
_decodeParams(params, data) {
return this._abiCoder.decode(params, data);
}
_encodeParams(params, values) {
return this._abiCoder.encode(params, values);
}
encodeDeploy(values) {
return this._encodeParams(this.deploy.inputs, values || []);
}
// Decode the data for a function call (e.g. tx.data)
decodeFunctionData(functionFragment, data) {
if (typeof (functionFragment) === "string") {
functionFragment = this.getFunction(functionFragment);
}
const bytes = arrayify(data);
if (hexlify(bytes.slice(0, 4)) !== this.getSighash(functionFragment)) {
logger.throwArgumentError(`data signature does not match function ${functionFragment.name}.`, "data", hexlify(bytes));
}
return this._decodeParams(functionFragment.inputs, bytes.slice(4));
}
// Encode the data for a function call (e.g. tx.data)
encodeFunctionData(functionFragment, values) {
if (typeof (functionFragment) === "string") {
functionFragment = this.getFunction(functionFragment);
}
return hexlify(concat([
this.getSighash(functionFragment),
this._encodeParams(functionFragment.inputs, values || [])
]));
}
// Decode the result from a function call (e.g. from eth_call)
decodeFunctionResult(functionFragment, data) {
if (typeof (functionFragment) === "string") {
functionFragment = this.getFunction(functionFragment);
}
let bytes = arrayify(data);
let reason = null;
let errorSignature = null;
switch (bytes.length % this._abiCoder._getWordSize()) {
case 0:
try {
return this._abiCoder.decode(functionFragment.outputs, bytes);
}
catch (error) { }
break;
case 4:
if (hexlify(bytes.slice(0, 4)) === "0x08c379a0") {
errorSignature = "Error(string)";
reason = this._abiCoder.decode(["string"], bytes.slice(4))[0];
}
break;
}
return logger.throwError("call revert exception", Logger.errors.CALL_EXCEPTION, {
method: functionFragment.format(),
errorSignature: errorSignature,
errorArgs: [reason],
reason: reason
});
}
// Encode the result for a function call (e.g. for eth_call)
encodeFunctionResult(functionFragment, values) {
if (typeof (functionFragment) === "string") {
functionFragment = this.getFunction(functionFragment);
}
return hexlify(this._abiCoder.encode(functionFragment.outputs, values || []));
}
// Create the filter for the event with search criteria (e.g. for eth_filterLog)
encodeFilterTopics(eventFragment, values) {
if (typeof (eventFragment) === "string") {
eventFragment = this.getEvent(eventFragment);
}
if (values.length > eventFragment.inputs.length) {
logger.throwError("too many arguments for " + eventFragment.format(), Logger.errors.UNEXPECTED_ARGUMENT, {
argument: "values",
value: values
});
}
let topics = [];
if (!eventFragment.anonymous) {
topics.push(this.getEventTopic(eventFragment));
}
const encodeTopic = (param, value) => {
if (param.type === "string") {
return id(value);
}
else if (param.type === "bytes") {
return keccak256(hexlify(value));
}
// Check addresses are valid
if (param.type === "address") {
this._abiCoder.encode(["address"], [value]);
}
return hexZeroPad(hexlify(value), 32);
};
values.forEach((value, index) => {
let param = eventFragment.inputs[index];
if (!param.indexed) {
if (value != null) {
logger.throwArgumentError("cannot filter non-indexed parameters; must be null", ("contract." + param.name), value);
}
return;
}
if (value == null) {
topics.push(null);
}
else if (param.baseType === "array" || param.baseType === "tuple") {
logger.throwArgumentError("filtering with tuples or arrays not supported", ("contract." + param.name), value);
}
else if (Array.isArray(value)) {
topics.push(value.map((value) => encodeTopic(param, value)));
}
else {
topics.push(encodeTopic(param, value));
}
});
// Trim off trailing nulls
while (topics.length && topics[topics.length - 1] === null) {
topics.pop();
}
return topics;
}
encodeEventLog(eventFragment, values) {
if (typeof (eventFragment) === "string") {
eventFragment = this.getEvent(eventFragment);
}
const topics = [];
const dataTypes = [];
const dataValues = [];
if (!eventFragment.anonymous) {
topics.push(this.getEventTopic(eventFragment));
}
if (values.length !== eventFragment.inputs.length) {
logger.throwArgumentError("event arguments/values mismatch", "values", values);
}
eventFragment.inputs.forEach((param, index) => {
const value = values[index];
if (param.indexed) {
if (param.type === "string") {
topics.push(id(value));
}
else if (param.type === "bytes") {
topics.push(keccak256(value));
}
else if (param.baseType === "tuple" || param.baseType === "array") {
// @TOOD
throw new Error("not implemented");
}
else {
topics.push(this._abiCoder.encode([param.type], [value]));
}
}
else {
dataTypes.push(param);
dataValues.push(value);
}
});
return {
data: this._abiCoder.encode(dataTypes, dataValues),
topics: topics
};
}
// Decode a filter for the event and the search criteria
decodeEventLog(eventFragment, data, topics) {
if (typeof (eventFragment) === "string") {
eventFragment = this.getEvent(eventFragment);
}
if (topics != null && !eventFragment.anonymous) {
let topicHash = this.getEventTopic(eventFragment);
if (!isHexString(topics[0], 32) || topics[0].toLowerCase() !== topicHash) {
logger.throwError("fragment/topic mismatch", Logger.errors.INVALID_ARGUMENT, { argument: "topics[0]", expected: topicHash, value: topics[0] });
}
topics = topics.slice(1);
}
let indexed = [];
let nonIndexed = [];
let dynamic = [];
eventFragment.inputs.forEach((param, index) => {
if (param.indexed) {
if (param.type === "string" || param.type === "bytes" || param.baseType === "tuple" || param.baseType === "array") {
indexed.push(ParamType.fromObject({ type: "bytes32", name: param.name }));
dynamic.push(true);
}
else {
indexed.push(param);
dynamic.push(false);
}
}
else {
nonIndexed.push(param);
dynamic.push(false);
}
});
let resultIndexed = (topics != null) ? this._abiCoder.decode(indexed, concat(topics)) : null;
let resultNonIndexed = this._abiCoder.decode(nonIndexed, data);
let result = [];
let nonIndexedIndex = 0, indexedIndex = 0;
eventFragment.inputs.forEach((param, index) => {
if (param.indexed) {
if (resultIndexed == null) {
result[index] = new Indexed({ _isIndexed: true, hash: null });
}
else if (dynamic[index]) {
result[index] = new Indexed({ _isIndexed: true, hash: resultIndexed[indexedIndex++] });
}
else {
try {
result[index] = resultIndexed[indexedIndex++];
}
catch (error) {
result[index] = error;
}
}
}
else {
try {
result[index] = resultNonIndexed[nonIndexedIndex++];
}
catch (error) {
result[index] = error;
}
}
// Add the keyword argument if named and safe
if (param.name && result[param.name] == null) {
const value = result[index];
// Make error named values throw on access
if (value instanceof Error) {
Object.defineProperty(result, param.name, {
get: () => { throw wrapAccessError(`property ${JSON.stringify(param.name)}`, value); }
});
}
else {
result[param.name] = value;
}
}
});
// Make all error indexed values throw on access
for (let i = 0; i < result.length; i++) {
const value = result[i];
if (value instanceof Error) {
Object.defineProperty(result, i, {
get: () => { throw wrapAccessError(`index ${i}`, value); }
});
}
}
return Object.freeze(result);
}
// Given a transaction, find the matching function fragment (if any) and
// determine all its properties and call parameters
parseTransaction(tx) {
let fragment = this.getFunction(tx.data.substring(0, 10).toLowerCase());
if (!fragment) {
return null;
}
return new TransactionDescription({
args: this._abiCoder.decode(fragment.inputs, "0x" + tx.data.substring(10)),
functionFragment: fragment,
name: fragment.name,
signature: fragment.format(),
sighash: this.getSighash(fragment),
value: BigNumber.from(tx.value || "0"),
});
}
// Given an event log, find the matching event fragment (if any) and
// determine all its properties and values
parseLog(log) {
let fragment = this.getEvent(log.topics[0]);
if (!fragment || fragment.anonymous) {
return null;
}
// @TODO: If anonymous, and the only method, and the input count matches, should we parse?
// Probably not, because just because it is the only event in the ABI does
// not mean we have the full ABI; maybe jsut a fragment?
return new LogDescription({
eventFragment: fragment,
name: fragment.name,
signature: fragment.format(),
topic: this.getEventTopic(fragment),
args: this.decodeEventLog(fragment, log.data, log.topics)
});
}
/*
static from(value: Array<Fragment | string | JsonAbi> | string | Interface) {
if (Interface.isInterface(value)) {
return value;
}
if (typeof(value) === "string") {
return new Interface(JSON.parse(value));
}
return new Interface(value);
}
*/
static isInterface(value) {
return !!(value && value._isInterface);
}
}
-3
View File
@@ -1,3 +0,0 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.version = "abi/5.0.0-beta.153";
-98
View File
@@ -1,98 +0,0 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
// See: https://github.com/ethereum/wiki/wiki/Ethereum-Contract-ABI
var bytes_1 = require("@ethersproject/bytes");
var properties_1 = require("@ethersproject/properties");
var logger_1 = require("@ethersproject/logger");
var _version_1 = require("./_version");
var logger = new logger_1.Logger(_version_1.version);
var abstract_coder_1 = require("./coders/abstract-coder");
var address_1 = require("./coders/address");
var array_1 = require("./coders/array");
var boolean_1 = require("./coders/boolean");
var bytes_2 = require("./coders/bytes");
var fixed_bytes_1 = require("./coders/fixed-bytes");
var null_1 = require("./coders/null");
var number_1 = require("./coders/number");
var string_1 = require("./coders/string");
var tuple_1 = require("./coders/tuple");
var fragments_1 = require("./fragments");
var paramTypeBytes = new RegExp(/^bytes([0-9]*)$/);
var paramTypeNumber = new RegExp(/^(u?int)([0-9]*)$/);
var AbiCoder = /** @class */ (function () {
function AbiCoder(coerceFunc) {
var _newTarget = this.constructor;
logger.checkNew(_newTarget, AbiCoder);
properties_1.defineReadOnly(this, "coerceFunc", coerceFunc || null);
}
AbiCoder.prototype._getCoder = function (param) {
var _this = this;
switch (param.baseType) {
case "address":
return new address_1.AddressCoder(param.name);
case "bool":
return new boolean_1.BooleanCoder(param.name);
case "string":
return new string_1.StringCoder(param.name);
case "bytes":
return new bytes_2.BytesCoder(param.name);
case "array":
return new array_1.ArrayCoder(this._getCoder(param.arrayChildren), param.arrayLength, param.name);
case "tuple":
return new tuple_1.TupleCoder((param.components || []).map(function (component) {
return _this._getCoder(component);
}), param.name);
case "":
return new null_1.NullCoder(param.name);
}
// u?int[0-9]*
var match = param.type.match(paramTypeNumber);
if (match) {
var size = parseInt(match[2] || "256");
if (size === 0 || size > 256 || (size % 8) !== 0) {
logger.throwArgumentError("invalid " + match[1] + " bit length", "param", param);
}
return new number_1.NumberCoder(size / 8, (match[1] === "int"), param.name);
}
// bytes[0-9]+
match = param.type.match(paramTypeBytes);
if (match) {
var size = parseInt(match[1]);
if (size === 0 || size > 32) {
logger.throwArgumentError("invalid bytes length", "param", param);
}
return new fixed_bytes_1.FixedBytesCoder(size, param.name);
}
return logger.throwArgumentError("invalid type", "type", param.type);
};
AbiCoder.prototype._getWordSize = function () { return 32; };
AbiCoder.prototype._getReader = function (data) {
return new abstract_coder_1.Reader(data, this._getWordSize(), this.coerceFunc);
};
AbiCoder.prototype._getWriter = function () {
return new abstract_coder_1.Writer(this._getWordSize());
};
AbiCoder.prototype.encode = function (types, values) {
var _this = this;
if (types.length !== values.length) {
logger.throwError("types/values length mismatch", logger_1.Logger.errors.INVALID_ARGUMENT, {
count: { types: types.length, values: values.length },
value: { types: types, values: values }
});
}
var coders = types.map(function (type) { return _this._getCoder(fragments_1.ParamType.from(type)); });
var coder = (new tuple_1.TupleCoder(coders, "_"));
var writer = this._getWriter();
coder.encode(writer, values);
return writer.data;
};
AbiCoder.prototype.decode = function (types, data) {
var _this = this;
var coders = types.map(function (type) { return _this._getCoder(fragments_1.ParamType.from(type)); });
var coder = new tuple_1.TupleCoder(coders, "_");
return coder.decode(this._getReader(bytes_1.arrayify(data)));
};
return AbiCoder;
}());
exports.AbiCoder = AbiCoder;
exports.defaultAbiCoder = new AbiCoder();
-156
View File
@@ -1,156 +0,0 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var bytes_1 = require("@ethersproject/bytes");
var bignumber_1 = require("@ethersproject/bignumber");
var properties_1 = require("@ethersproject/properties");
var logger_1 = require("@ethersproject/logger");
var _version_1 = require("../_version");
var logger = new logger_1.Logger(_version_1.version);
function checkResultErrors(result) {
// Find the first error (if any)
var errors = [];
var checkErrors = function (path, object) {
if (!Array.isArray(object)) {
return;
}
for (var key in object) {
var childPath = path.slice();
childPath.push(key);
try {
checkErrors(childPath, object[key]);
}
catch (error) {
errors.push({ path: childPath, error: error });
}
}
};
checkErrors([], result);
return errors;
}
exports.checkResultErrors = checkResultErrors;
var Coder = /** @class */ (function () {
function Coder(name, type, localName, dynamic) {
// @TODO: defineReadOnly these
this.name = name;
this.type = type;
this.localName = localName;
this.dynamic = dynamic;
}
Coder.prototype._throwError = function (message, value) {
logger.throwArgumentError(message, this.localName, value);
};
return Coder;
}());
exports.Coder = Coder;
var Writer = /** @class */ (function () {
function Writer(wordSize) {
properties_1.defineReadOnly(this, "wordSize", wordSize || 32);
this._data = bytes_1.arrayify([]);
this._padding = new Uint8Array(wordSize);
}
Object.defineProperty(Writer.prototype, "data", {
get: function () { return bytes_1.hexlify(this._data); },
enumerable: true,
configurable: true
});
Object.defineProperty(Writer.prototype, "length", {
get: function () { return this._data.length; },
enumerable: true,
configurable: true
});
Writer.prototype._writeData = function (data) {
this._data = bytes_1.concat([this._data, data]);
return data.length;
};
// Arrayish items; padded on the right to wordSize
Writer.prototype.writeBytes = function (value) {
var bytes = bytes_1.arrayify(value);
if (bytes.length % this.wordSize) {
bytes = bytes_1.concat([bytes, this._padding.slice(bytes.length % this.wordSize)]);
}
return this._writeData(bytes);
};
Writer.prototype._getValue = function (value) {
var bytes = bytes_1.arrayify(bignumber_1.BigNumber.from(value));
if (bytes.length > this.wordSize) {
logger.throwError("value out-of-bounds", logger_1.Logger.errors.BUFFER_OVERRUN, {
length: this.wordSize,
offset: bytes.length
});
}
if (bytes.length % this.wordSize) {
bytes = bytes_1.concat([this._padding.slice(bytes.length % this.wordSize), bytes]);
}
return bytes;
};
// BigNumberish items; padded on the left to wordSize
Writer.prototype.writeValue = function (value) {
return this._writeData(this._getValue(value));
};
Writer.prototype.writeUpdatableValue = function () {
var _this = this;
var offset = this.length;
this.writeValue(0);
return function (value) {
_this._data.set(_this._getValue(value), offset);
};
};
return Writer;
}());
exports.Writer = Writer;
var Reader = /** @class */ (function () {
function Reader(data, wordSize, coerceFunc) {
properties_1.defineReadOnly(this, "_data", bytes_1.arrayify(data));
properties_1.defineReadOnly(this, "wordSize", wordSize || 32);
properties_1.defineReadOnly(this, "_coerceFunc", coerceFunc);
this._offset = 0;
}
Object.defineProperty(Reader.prototype, "data", {
get: function () { return bytes_1.hexlify(this._data); },
enumerable: true,
configurable: true
});
Object.defineProperty(Reader.prototype, "consumed", {
get: function () { return this._offset; },
enumerable: true,
configurable: true
});
// The default Coerce function
Reader.coerce = function (name, value) {
var match = name.match("^u?int([0-9]+)$");
if (match && parseInt(match[1]) <= 48) {
value = value.toNumber();
}
return value;
};
Reader.prototype.coerce = function (name, value) {
if (this._coerceFunc) {
return this._coerceFunc(name, value);
}
return Reader.coerce(name, value);
};
Reader.prototype._peekBytes = function (offset, length) {
var alignedLength = Math.ceil(length / this.wordSize) * this.wordSize;
if (this._offset + alignedLength > this._data.length) {
logger.throwError("data out-of-bounds", logger_1.Logger.errors.BUFFER_OVERRUN, {
length: this._data.length,
offset: this._offset + alignedLength
});
}
return this._data.slice(this._offset, this._offset + alignedLength);
};
Reader.prototype.subReader = function (offset) {
return new Reader(this._data.slice(this._offset + offset), this.wordSize, this._coerceFunc);
};
Reader.prototype.readBytes = function (length) {
var bytes = this._peekBytes(0, length);
this._offset += bytes.length;
// @TODO: Make sure the length..end bytes are all 0?
return bytes.slice(0, length);
};
Reader.prototype.readValue = function () {
return bignumber_1.BigNumber.from(this.readBytes(this.wordSize));
};
return Reader;
}());
exports.Reader = Reader;
-38
View File
@@ -1,38 +0,0 @@
"use strict";
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
Object.defineProperty(exports, "__esModule", { value: true });
var address_1 = require("@ethersproject/address");
var bytes_1 = require("@ethersproject/bytes");
var abstract_coder_1 = require("./abstract-coder");
var AddressCoder = /** @class */ (function (_super) {
__extends(AddressCoder, _super);
function AddressCoder(localName) {
return _super.call(this, "address", "address", localName, false) || this;
}
AddressCoder.prototype.encode = function (writer, value) {
try {
address_1.getAddress(value);
}
catch (error) {
this._throwError(error.message, value);
}
return writer.writeValue(value);
};
AddressCoder.prototype.decode = function (reader) {
return address_1.getAddress(bytes_1.hexZeroPad(reader.readValue().toHexString(), 20));
};
return AddressCoder;
}(abstract_coder_1.Coder));
exports.AddressCoder = AddressCoder;
-33
View File
@@ -1,33 +0,0 @@
"use strict";
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
Object.defineProperty(exports, "__esModule", { value: true });
var abstract_coder_1 = require("./abstract-coder");
// Clones the functionality of an existing Coder, but without a localName
var AnonymousCoder = /** @class */ (function (_super) {
__extends(AnonymousCoder, _super);
function AnonymousCoder(coder) {
var _this = _super.call(this, coder.name, coder.type, undefined, coder.dynamic) || this;
_this.coder = coder;
return _this;
}
AnonymousCoder.prototype.encode = function (writer, value) {
return this.coder.encode(writer, value);
};
AnonymousCoder.prototype.decode = function (reader) {
return this.coder.decode(reader);
};
return AnonymousCoder;
}(abstract_coder_1.Coder));
exports.AnonymousCoder = AnonymousCoder;
-189
View File
@@ -1,189 +0,0 @@
"use strict";
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
Object.defineProperty(exports, "__esModule", { value: true });
var logger_1 = require("@ethersproject/logger");
var _version_1 = require("../_version");
var logger = new logger_1.Logger(_version_1.version);
var abstract_coder_1 = require("./abstract-coder");
var anonymous_1 = require("./anonymous");
function pack(writer, coders, values) {
if (Array.isArray(values)) {
// do nothing
}
else if (values && typeof (values) === "object") {
var arrayValues_1 = [];
coders.forEach(function (coder) {
arrayValues_1.push(values[coder.localName]);
});
values = arrayValues_1;
}
else {
logger.throwArgumentError("invalid tuple value", "tuple", values);
}
if (coders.length !== values.length) {
logger.throwArgumentError("types/value length mismatch", "tuple", values);
}
var staticWriter = new abstract_coder_1.Writer(writer.wordSize);
var dynamicWriter = new abstract_coder_1.Writer(writer.wordSize);
var updateFuncs = [];
coders.forEach(function (coder, index) {
var value = values[index];
if (coder.dynamic) {
// Get current dynamic offset (for the future pointer)
var dynamicOffset_1 = dynamicWriter.length;
// Encode the dynamic value into the dynamicWriter
coder.encode(dynamicWriter, value);
// Prepare to populate the correct offset once we are done
var updateFunc_1 = staticWriter.writeUpdatableValue();
updateFuncs.push(function (baseOffset) {
updateFunc_1(baseOffset + dynamicOffset_1);
});
}
else {
coder.encode(staticWriter, value);
}
});
// Backfill all the dynamic offsets, now that we know the static length
updateFuncs.forEach(function (func) { func(staticWriter.length); });
var length = writer.writeBytes(staticWriter.data);
length += writer.writeBytes(dynamicWriter.data);
return length;
}
exports.pack = pack;
function unpack(reader, coders) {
var values = [];
// A reader anchored to this base
var baseReader = reader.subReader(0);
// The amount of dynamic data read; to consume later to synchronize
var dynamicLength = 0;
coders.forEach(function (coder) {
var value = null;
if (coder.dynamic) {
var offset = reader.readValue();
var offsetReader = baseReader.subReader(offset.toNumber());
try {
value = coder.decode(offsetReader);
}
catch (error) {
// Cannot recover from this
if (error.code === logger_1.Logger.errors.BUFFER_OVERRUN) {
throw error;
}
value = error;
value.baseType = coder.name;
value.name = coder.localName;
value.type = coder.type;
}
dynamicLength += offsetReader.consumed;
}
else {
try {
value = coder.decode(reader);
}
catch (error) {
// Cannot recover from this
if (error.code === logger_1.Logger.errors.BUFFER_OVERRUN) {
throw error;
}
value = error;
value.baseType = coder.name;
value.name = coder.localName;
value.type = coder.type;
}
}
if (value != undefined) {
values.push(value);
}
});
// @TODO: get rid of this an see if it still works?
// Consume the dynamic components in the main reader
reader.readBytes(dynamicLength);
// Add any named parameters (i.e. tuples)
coders.forEach(function (coder, index) {
var name = coder.localName;
if (!name) {
return;
}
if (name === "length") {
name = "_length";
}
if (values[name] != null) {
return;
}
var value = values[index];
if (value instanceof Error) {
Object.defineProperty(values, name, {
get: function () { throw value; }
});
}
else {
values[name] = value;
}
});
var _loop_1 = function (i) {
var value = values[i];
if (value instanceof Error) {
Object.defineProperty(values, i, {
get: function () { throw value; }
});
}
};
for (var i = 0; i < values.length; i++) {
_loop_1(i);
}
return Object.freeze(values);
}
exports.unpack = unpack;
var ArrayCoder = /** @class */ (function (_super) {
__extends(ArrayCoder, _super);
function ArrayCoder(coder, length, localName) {
var _this = this;
var type = (coder.type + "[" + (length >= 0 ? length : "") + "]");
var dynamic = (length === -1 || coder.dynamic);
_this = _super.call(this, "array", type, localName, dynamic) || this;
_this.coder = coder;
_this.length = length;
return _this;
}
ArrayCoder.prototype.encode = function (writer, value) {
if (!Array.isArray(value)) {
this._throwError("expected array value", value);
}
var count = this.length;
if (count === -1) {
count = value.length;
writer.writeValue(value.length);
}
logger.checkArgumentCount(count, value.length, "coder array" + (this.localName ? (" " + this.localName) : ""));
var coders = [];
for (var i = 0; i < value.length; i++) {
coders.push(this.coder);
}
return pack(writer, coders, value);
};
ArrayCoder.prototype.decode = function (reader) {
var count = this.length;
if (count === -1) {
count = reader.readValue().toNumber();
}
var coders = [];
for (var i = 0; i < count; i++) {
coders.push(new anonymous_1.AnonymousCoder(this.coder));
}
return reader.coerce(this.name, unpack(reader, coders));
};
return ArrayCoder;
}(abstract_coder_1.Coder));
exports.ArrayCoder = ArrayCoder;
-30
View File
@@ -1,30 +0,0 @@
"use strict";
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
Object.defineProperty(exports, "__esModule", { value: true });
var abstract_coder_1 = require("./abstract-coder");
var BooleanCoder = /** @class */ (function (_super) {
__extends(BooleanCoder, _super);
function BooleanCoder(localName) {
return _super.call(this, "bool", "bool", localName, false) || this;
}
BooleanCoder.prototype.encode = function (writer, value) {
return writer.writeValue(value ? 1 : 0);
};
BooleanCoder.prototype.decode = function (reader) {
return reader.coerce(this.type, !reader.readValue().isZero());
};
return BooleanCoder;
}(abstract_coder_1.Coder));
exports.BooleanCoder = BooleanCoder;
-45
View File
@@ -1,45 +0,0 @@
"use strict";
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
Object.defineProperty(exports, "__esModule", { value: true });
var bytes_1 = require("@ethersproject/bytes");
var abstract_coder_1 = require("./abstract-coder");
var DynamicBytesCoder = /** @class */ (function (_super) {
__extends(DynamicBytesCoder, _super);
function DynamicBytesCoder(type, localName) {
return _super.call(this, type, type, localName, true) || this;
}
DynamicBytesCoder.prototype.encode = function (writer, value) {
value = bytes_1.arrayify(value);
var length = writer.writeValue(value.length);
length += writer.writeBytes(value);
return length;
};
DynamicBytesCoder.prototype.decode = function (reader) {
return reader.readBytes(reader.readValue().toNumber());
};
return DynamicBytesCoder;
}(abstract_coder_1.Coder));
exports.DynamicBytesCoder = DynamicBytesCoder;
var BytesCoder = /** @class */ (function (_super) {
__extends(BytesCoder, _super);
function BytesCoder(localName) {
return _super.call(this, "bytes", localName) || this;
}
BytesCoder.prototype.decode = function (reader) {
return reader.coerce(this.name, bytes_1.hexlify(_super.prototype.decode.call(this, reader)));
};
return BytesCoder;
}(DynamicBytesCoder));
exports.BytesCoder = BytesCoder;
-40
View File
@@ -1,40 +0,0 @@
"use strict";
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
Object.defineProperty(exports, "__esModule", { value: true });
var bytes_1 = require("@ethersproject/bytes");
var abstract_coder_1 = require("./abstract-coder");
// @TODO: Merge this with bytes
var FixedBytesCoder = /** @class */ (function (_super) {
__extends(FixedBytesCoder, _super);
function FixedBytesCoder(size, localName) {
var _this = this;
var name = "bytes" + String(size);
_this = _super.call(this, name, name, localName, false) || this;
_this.size = size;
return _this;
}
FixedBytesCoder.prototype.encode = function (writer, value) {
var data = bytes_1.arrayify(value);
if (data.length !== this.size) {
this._throwError("incorrect data length", value);
}
return writer.writeBytes(data);
};
FixedBytesCoder.prototype.decode = function (reader) {
return reader.coerce(this.name, bytes_1.hexlify(reader.readBytes(this.size)));
};
return FixedBytesCoder;
}(abstract_coder_1.Coder));
exports.FixedBytesCoder = FixedBytesCoder;
-34
View File
@@ -1,34 +0,0 @@
"use strict";
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
Object.defineProperty(exports, "__esModule", { value: true });
var abstract_coder_1 = require("./abstract-coder");
var NullCoder = /** @class */ (function (_super) {
__extends(NullCoder, _super);
function NullCoder(localName) {
return _super.call(this, "null", "", localName, false) || this;
}
NullCoder.prototype.encode = function (writer, value) {
if (value != null) {
this._throwError("not null", value);
}
return writer.writeBytes([]);
};
NullCoder.prototype.decode = function (reader) {
reader.readBytes(0);
return reader.coerce(this.name, null);
};
return NullCoder;
}(abstract_coder_1.Coder));
exports.NullCoder = NullCoder;
-57
View File
@@ -1,57 +0,0 @@
"use strict";
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
Object.defineProperty(exports, "__esModule", { value: true });
var bignumber_1 = require("@ethersproject/bignumber");
var constants_1 = require("@ethersproject/constants");
var abstract_coder_1 = require("./abstract-coder");
var NumberCoder = /** @class */ (function (_super) {
__extends(NumberCoder, _super);
function NumberCoder(size, signed, localName) {
var _this = this;
var name = ((signed ? "int" : "uint") + (size * 8));
_this = _super.call(this, name, name, localName, false) || this;
_this.size = size;
_this.signed = signed;
return _this;
}
NumberCoder.prototype.encode = function (writer, value) {
var v = bignumber_1.BigNumber.from(value);
// Check bounds are safe for encoding
var maxUintValue = constants_1.MaxUint256.mask(writer.wordSize * 8);
if (this.signed) {
var bounds = maxUintValue.mask(this.size * 8 - 1);
if (v.gt(bounds) || v.lt(bounds.add(constants_1.One).mul(constants_1.NegativeOne))) {
this._throwError("value out-of-bounds", value);
}
}
else if (v.lt(constants_1.Zero) || v.gt(maxUintValue.mask(this.size * 8))) {
this._throwError("value out-of-bounds", value);
}
v = v.toTwos(this.size * 8).mask(this.size * 8);
if (this.signed) {
v = v.fromTwos(this.size * 8).toTwos(8 * writer.wordSize);
}
return writer.writeValue(v);
};
NumberCoder.prototype.decode = function (reader) {
var value = reader.readValue().mask(this.size * 8);
if (this.signed) {
value = value.fromTwos(this.size * 8);
}
return reader.coerce(this.name, value);
};
return NumberCoder;
}(abstract_coder_1.Coder));
exports.NumberCoder = NumberCoder;
-31
View File
@@ -1,31 +0,0 @@
"use strict";
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
Object.defineProperty(exports, "__esModule", { value: true });
var strings_1 = require("@ethersproject/strings");
var bytes_1 = require("./bytes");
var StringCoder = /** @class */ (function (_super) {
__extends(StringCoder, _super);
function StringCoder(localName) {
return _super.call(this, "string", localName) || this;
}
StringCoder.prototype.encode = function (writer, value) {
return _super.prototype.encode.call(this, writer, strings_1.toUtf8Bytes(value));
};
StringCoder.prototype.decode = function (reader) {
return strings_1.toUtf8String(_super.prototype.decode.call(this, reader));
};
return StringCoder;
}(bytes_1.DynamicBytesCoder));
exports.StringCoder = StringCoder;
-43
View File
@@ -1,43 +0,0 @@
"use strict";
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
Object.defineProperty(exports, "__esModule", { value: true });
var abstract_coder_1 = require("./abstract-coder");
var array_1 = require("./array");
var TupleCoder = /** @class */ (function (_super) {
__extends(TupleCoder, _super);
function TupleCoder(coders, localName) {
var _this = this;
var dynamic = false;
var types = [];
coders.forEach(function (coder) {
if (coder.dynamic) {
dynamic = true;
}
types.push(coder.type);
});
var type = ("tuple(" + types.join(",") + ")");
_this = _super.call(this, "tuple", type, localName, dynamic) || this;
_this.coders = coders;
return _this;
}
TupleCoder.prototype.encode = function (writer, value) {
return array_1.pack(writer, this.coders, value);
};
TupleCoder.prototype.decode = function (reader) {
return reader.coerce(this.name, array_1.unpack(reader, this.coders));
};
return TupleCoder;
}(abstract_coder_1.Coder));
exports.TupleCoder = TupleCoder;
-816
View File
@@ -1,816 +0,0 @@
"use strict";
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
Object.defineProperty(exports, "__esModule", { value: true });
var bignumber_1 = require("@ethersproject/bignumber");
var properties_1 = require("@ethersproject/properties");
var logger_1 = require("@ethersproject/logger");
var _version_1 = require("./_version");
var logger = new logger_1.Logger(_version_1.version);
;
var _constructorGuard = {};
var ModifiersBytes = { calldata: true, memory: true, storage: true };
var ModifiersNest = { calldata: true, memory: true };
function checkModifier(type, name) {
if (type === "bytes" || type === "string") {
if (ModifiersBytes[name]) {
return true;
}
}
else if (type === "address") {
if (name === "payable") {
return true;
}
}
else if (type.indexOf("[") >= 0 || type === "tuple") {
if (ModifiersNest[name]) {
return true;
}
}
if (ModifiersBytes[name] || name === "payable") {
logger.throwArgumentError("invalid modifier", "name", name);
}
return false;
}
// @TODO: Make sure that children of an indexed tuple are marked with a null indexed
function parseParamType(param, allowIndexed) {
var originalParam = param;
function throwError(i) {
logger.throwArgumentError("unexpected character at position " + i, "param", param);
}
param = param.replace(/\s/g, " ");
function newNode(parent) {
var node = { type: "", name: "", parent: parent, state: { allowType: true } };
if (allowIndexed) {
node.indexed = false;
}
return node;
}
var parent = { type: "", name: "", state: { allowType: true } };
var node = parent;
for (var i = 0; i < param.length; i++) {
var c = param[i];
switch (c) {
case "(":
if (node.state.allowType && node.type === "") {
node.type = "tuple";
}
else if (!node.state.allowParams) {
throwError(i);
}
node.state.allowType = false;
node.type = verifyType(node.type);
node.components = [newNode(node)];
node = node.components[0];
break;
case ")":
delete node.state;
if (node.name === "indexed") {
if (!allowIndexed) {
throwError(i);
}
node.indexed = true;
node.name = "";
}
if (checkModifier(node.type, node.name)) {
node.name = "";
}
node.type = verifyType(node.type);
var child = node;
node = node.parent;
if (!node) {
throwError(i);
}
delete child.parent;
node.state.allowParams = false;
node.state.allowName = true;
node.state.allowArray = true;
break;
case ",":
delete node.state;
if (node.name === "indexed") {
if (!allowIndexed) {
throwError(i);
}
node.indexed = true;
node.name = "";
}
if (checkModifier(node.type, node.name)) {
node.name = "";
}
node.type = verifyType(node.type);
var sibling = newNode(node.parent);
//{ type: "", name: "", parent: node.parent, state: { allowType: true } };
node.parent.components.push(sibling);
delete node.parent;
node = sibling;
break;
// Hit a space...
case " ":
// If reading type, the type is done and may read a param or name
if (node.state.allowType) {
if (node.type !== "") {
node.type = verifyType(node.type);
delete node.state.allowType;
node.state.allowName = true;
node.state.allowParams = true;
}
}
// If reading name, the name is done
if (node.state.allowName) {
if (node.name !== "") {
if (node.name === "indexed") {
if (!allowIndexed) {
throwError(i);
}
if (node.indexed) {
throwError(i);
}
node.indexed = true;
node.name = "";
}
else if (checkModifier(node.type, node.name)) {
node.name = "";
}
else {
node.state.allowName = false;
}
}
}
break;
case "[":
if (!node.state.allowArray) {
throwError(i);
}
node.type += c;
node.state.allowArray = false;
node.state.allowName = false;
node.state.readArray = true;
break;
case "]":
if (!node.state.readArray) {
throwError(i);
}
node.type += c;
node.state.readArray = false;
node.state.allowArray = true;
node.state.allowName = true;
break;
default:
if (node.state.allowType) {
node.type += c;
node.state.allowParams = true;
node.state.allowArray = true;
}
else if (node.state.allowName) {
node.name += c;
delete node.state.allowArray;
}
else if (node.state.readArray) {
node.type += c;
}
else {
throwError(i);
}
}
}
if (node.parent) {
logger.throwArgumentError("unexpected eof", "param", param);
}
delete parent.state;
if (node.name === "indexed") {
if (!allowIndexed) {
throwError(originalParam.length - 7);
}
if (node.indexed) {
throwError(originalParam.length - 7);
}
node.indexed = true;
node.name = "";
}
else if (checkModifier(node.type, node.name)) {
node.name = "";
}
parent.type = verifyType(parent.type);
return parent;
}
function populate(object, params) {
for (var key in params) {
properties_1.defineReadOnly(object, key, params[key]);
}
}
exports.FormatTypes = Object.freeze({
// Bare formatting, as is needed for computing a sighash of an event or function
sighash: "sighash",
// Human-Readable with Minimal spacing and without names (compact human-readable)
minimal: "minimal",
// Human-Readble with nice spacing, including all names
full: "full",
// JSON-format a la Solidity
json: "json"
});
var paramTypeArray = new RegExp(/^(.*)\[([0-9]*)\]$/);
var ParamType = /** @class */ (function () {
function ParamType(constructorGuard, params) {
if (constructorGuard !== _constructorGuard) {
logger.throwError("use fromString", logger_1.Logger.errors.UNSUPPORTED_OPERATION, {
operation: "new ParamType()"
});
}
populate(this, params);
var match = this.type.match(paramTypeArray);
if (match) {
populate(this, {
arrayLength: parseInt(match[2] || "-1"),
arrayChildren: ParamType.fromObject({
type: match[1],
components: this.components
}),
baseType: "array"
});
}
else {
populate(this, {
arrayLength: null,
arrayChildren: null,
baseType: ((this.components != null) ? "tuple" : this.type)
});
}
this._isParamType = true;
Object.freeze(this);
}
// Format the parameter fragment
// - sighash: "(uint256,address)"
// - minimal: "tuple(uint256,address) indexed"
// - full: "tuple(uint256 foo, addres bar) indexed baz"
ParamType.prototype.format = function (format) {
if (!format) {
format = exports.FormatTypes.sighash;
}
if (!exports.FormatTypes[format]) {
logger.throwArgumentError("invalid format type", "format", format);
}
if (format === exports.FormatTypes.json) {
var result_1 = {
type: ((this.baseType === "tuple") ? "tuple" : this.type),
name: (this.name || undefined)
};
if (typeof (this.indexed) === "boolean") {
result_1.indexed = this.indexed;
}
if (this.components) {
result_1.components = this.components.map(function (comp) { return JSON.parse(comp.format(format)); });
}
return JSON.stringify(result_1);
}
var result = "";
// Array
if (this.baseType === "array") {
result += this.arrayChildren.format(format);
result += "[" + (this.arrayLength < 0 ? "" : String(this.arrayLength)) + "]";
}
else {
if (this.baseType === "tuple") {
if (format !== exports.FormatTypes.sighash) {
result += this.type;
}
result += "(" + this.components.map(function (comp) { return comp.format(format); }).join((format === exports.FormatTypes.full) ? ", " : ",") + ")";
}
else {
result += this.type;
}
}
if (format !== exports.FormatTypes.sighash) {
if (this.indexed === true) {
result += " indexed";
}
if (format === exports.FormatTypes.full && this.name) {
result += " " + this.name;
}
}
return result;
};
ParamType.from = function (value, allowIndexed) {
if (typeof (value) === "string") {
return ParamType.fromString(value, allowIndexed);
}
return ParamType.fromObject(value);
};
ParamType.fromObject = function (value) {
if (ParamType.isParamType(value)) {
return value;
}
return new ParamType(_constructorGuard, {
name: (value.name || null),
type: verifyType(value.type),
indexed: ((value.indexed == null) ? null : !!value.indexed),
components: (value.components ? value.components.map(ParamType.fromObject) : null)
});
};
ParamType.fromString = function (value, allowIndexed) {
function ParamTypify(node) {
return ParamType.fromObject({
name: node.name,
type: node.type,
indexed: node.indexed,
components: node.components
});
}
return ParamTypify(parseParamType(value, !!allowIndexed));
};
ParamType.isParamType = function (value) {
return !!(value != null && value._isParamType);
};
return ParamType;
}());
exports.ParamType = ParamType;
;
function parseParams(value, allowIndex) {
return splitNesting(value).map(function (param) { return ParamType.fromString(param, allowIndex); });
}
var Fragment = /** @class */ (function () {
function Fragment(constructorGuard, params) {
if (constructorGuard !== _constructorGuard) {
logger.throwError("use a static from method", logger_1.Logger.errors.UNSUPPORTED_OPERATION, {
operation: "new Fragment()"
});
}
populate(this, params);
this._isFragment = true;
Object.freeze(this);
}
Fragment.from = function (value) {
if (Fragment.isFragment(value)) {
return value;
}
if (typeof (value) === "string") {
return Fragment.fromString(value);
}
return Fragment.fromObject(value);
};
Fragment.fromObject = function (value) {
if (Fragment.isFragment(value)) {
return value;
}
switch (value.type) {
case "function":
return FunctionFragment.fromObject(value);
case "event":
return EventFragment.fromObject(value);
case "constructor":
return ConstructorFragment.fromObject(value);
case "fallback":
case "receive":
// @TODO: Something? Maybe return a FunctionFragment? A custom DefaultFunctionFragment?
return null;
}
return logger.throwArgumentError("invalid fragment object", "value", value);
};
Fragment.fromString = function (value) {
// Make sure the "returns" is surrounded by a space and all whitespace is exactly one space
value = value.replace(/\s/g, " ");
value = value.replace(/\(/g, " (").replace(/\)/g, ") ").replace(/\s+/g, " ");
value = value.trim();
if (value.split(" ")[0] === "event") {
return EventFragment.fromString(value.substring(5).trim());
}
else if (value.split(" ")[0] === "function") {
return FunctionFragment.fromString(value.substring(8).trim());
}
else if (value.split("(")[0].trim() === "constructor") {
return ConstructorFragment.fromString(value.trim());
}
return logger.throwArgumentError("unsupported fragment", "value", value);
};
Fragment.isFragment = function (value) {
return !!(value && value._isFragment);
};
return Fragment;
}());
exports.Fragment = Fragment;
var EventFragment = /** @class */ (function (_super) {
__extends(EventFragment, _super);
function EventFragment() {
return _super !== null && _super.apply(this, arguments) || this;
}
EventFragment.prototype.format = function (format) {
if (!format) {
format = exports.FormatTypes.sighash;
}
if (!exports.FormatTypes[format]) {
logger.throwArgumentError("invalid format type", "format", format);
}
if (format === exports.FormatTypes.json) {
return JSON.stringify({
type: "event",
anonymous: this.anonymous,
name: this.name,
inputs: this.inputs.map(function (input) { return JSON.parse(input.format(format)); })
});
}
var result = "";
if (format !== exports.FormatTypes.sighash) {
result += "event ";
}
result += this.name + "(" + this.inputs.map(function (input) { return input.format(format); }).join((format === exports.FormatTypes.full) ? ", " : ",") + ") ";
if (format !== exports.FormatTypes.sighash) {
if (this.anonymous) {
result += "anonymous ";
}
}
return result.trim();
};
EventFragment.from = function (value) {
if (typeof (value) === "string") {
return EventFragment.fromString(value);
}
return EventFragment.fromObject(value);
};
EventFragment.fromObject = function (value) {
if (EventFragment.isEventFragment(value)) {
return value;
}
if (value.type !== "event") {
logger.throwArgumentError("invalid event object", "value", value);
}
var params = {
name: verifyIdentifier(value.name),
anonymous: value.anonymous,
inputs: (value.inputs ? value.inputs.map(ParamType.fromObject) : []),
type: "event"
};
return new EventFragment(_constructorGuard, params);
};
EventFragment.fromString = function (value) {
var match = value.match(regexParen);
if (!match) {
logger.throwArgumentError("invalid event string", "value", value);
}
var anonymous = false;
match[3].split(" ").forEach(function (modifier) {
switch (modifier.trim()) {
case "anonymous":
anonymous = true;
break;
case "":
break;
default:
logger.warn("unknown modifier: " + modifier);
}
});
return EventFragment.fromObject({
name: match[1].trim(),
anonymous: anonymous,
inputs: parseParams(match[2], true),
type: "event"
});
};
EventFragment.isEventFragment = function (value) {
return (value && value._isFragment && value.type === "event");
};
return EventFragment;
}(Fragment));
exports.EventFragment = EventFragment;
function parseGas(value, params) {
params.gas = null;
var comps = value.split("@");
if (comps.length !== 1) {
if (comps.length > 2) {
logger.throwArgumentError("invalid human-readable ABI signature", "value", value);
}
if (!comps[1].match(/^[0-9]+$/)) {
logger.throwArgumentError("invalid human-readable ABI signature gas", "value", value);
}
params.gas = bignumber_1.BigNumber.from(comps[1]);
return comps[0];
}
return value;
}
function parseModifiers(value, params) {
params.constant = false;
params.payable = false;
params.stateMutability = "nonpayable";
value.split(" ").forEach(function (modifier) {
switch (modifier.trim()) {
case "constant":
params.constant = true;
break;
case "payable":
params.payable = true;
params.stateMutability = "payable";
break;
case "pure":
params.constant = true;
params.stateMutability = "pure";
break;
case "view":
params.constant = true;
params.stateMutability = "view";
break;
case "external":
case "public":
case "":
break;
default:
console.log("unknown modifier: " + modifier);
}
});
}
function verifyState(value) {
var result = {
constant: false,
payable: true,
stateMutability: "payable"
};
if (value.stateMutability != null) {
result.stateMutability = value.stateMutability;
// Set (and check things are consistent) the constant property
result.constant = (result.stateMutability === "view" || result.stateMutability === "pure");
if (value.constant != null) {
if ((!!value.constant) !== result.constant) {
logger.throwArgumentError("cannot have constant function with mutability " + result.stateMutability, "value", value);
}
}
// Set (and check things are consistent) the payable property
result.payable = (result.stateMutability === "payable");
if (value.payable != null) {
if ((!!value.payable) !== result.payable) {
logger.throwArgumentError("cannot have payable function with mutability " + result.stateMutability, "value", value);
}
}
}
else if (value.payable != null) {
result.payable = !!value.payable;
// If payable we can assume non-constant; otherwise we can't assume
if (value.constant == null && !result.payable && value.type !== "constructor") {
logger.throwArgumentError("unable to determine stateMutability", "value", value);
}
result.constant = !!value.constant;
if (result.constant) {
result.stateMutability = "view";
}
else {
result.stateMutability = (result.payable ? "payable" : "nonpayable");
}
if (result.payable && result.constant) {
logger.throwArgumentError("cannot have constant payable function", "value", value);
}
}
else if (value.constant != null) {
result.constant = !!value.constant;
result.payable = !result.constant;
result.stateMutability = (result.constant ? "view" : "payable");
}
else if (value.type !== "constructor") {
logger.throwArgumentError("unable to determine stateMutability", "value", value);
}
return result;
}
var ConstructorFragment = /** @class */ (function (_super) {
__extends(ConstructorFragment, _super);
function ConstructorFragment() {
return _super !== null && _super.apply(this, arguments) || this;
}
ConstructorFragment.prototype.format = function (format) {
if (!format) {
format = exports.FormatTypes.sighash;
}
if (!exports.FormatTypes[format]) {
logger.throwArgumentError("invalid format type", "format", format);
}
if (format === exports.FormatTypes.json) {
return JSON.stringify({
type: "constructor",
stateMutability: ((this.stateMutability !== "nonpayable") ? this.stateMutability : undefined),
payble: this.payable,
gas: (this.gas ? this.gas.toNumber() : undefined),
inputs: this.inputs.map(function (input) { return JSON.parse(input.format(format)); })
});
}
if (format === exports.FormatTypes.sighash) {
logger.throwError("cannot format a constructor for sighash", logger_1.Logger.errors.UNSUPPORTED_OPERATION, {
operation: "format(sighash)"
});
}
var result = "constructor(" + this.inputs.map(function (input) { return input.format(format); }).join((format === exports.FormatTypes.full) ? ", " : ",") + ") ";
if (this.stateMutability && this.stateMutability !== "nonpayable") {
result += this.stateMutability + " ";
}
return result.trim();
};
ConstructorFragment.from = function (value) {
if (typeof (value) === "string") {
return ConstructorFragment.fromString(value);
}
return ConstructorFragment.fromObject(value);
};
ConstructorFragment.fromObject = function (value) {
if (ConstructorFragment.isConstructorFragment(value)) {
return value;
}
if (value.type !== "constructor") {
logger.throwArgumentError("invalid constructor object", "value", value);
}
var state = verifyState(value);
if (state.constant) {
logger.throwArgumentError("constructor cannot be constant", "value", value);
}
var params = {
name: null,
type: value.type,
inputs: (value.inputs ? value.inputs.map(ParamType.fromObject) : []),
payable: state.payable,
stateMutability: state.stateMutability,
gas: (value.gas ? bignumber_1.BigNumber.from(value.gas) : null)
};
return new ConstructorFragment(_constructorGuard, params);
};
ConstructorFragment.fromString = function (value) {
var params = { type: "constructor" };
value = parseGas(value, params);
var parens = value.match(regexParen);
if (!parens || parens[1].trim() !== "constructor") {
logger.throwArgumentError("invalid constructor string", "value", value);
}
params.inputs = parseParams(parens[2].trim(), false);
parseModifiers(parens[3].trim(), params);
return ConstructorFragment.fromObject(params);
};
ConstructorFragment.isConstructorFragment = function (value) {
return (value && value._isFragment && value.type === "constructor");
};
return ConstructorFragment;
}(Fragment));
exports.ConstructorFragment = ConstructorFragment;
var FunctionFragment = /** @class */ (function (_super) {
__extends(FunctionFragment, _super);
function FunctionFragment() {
return _super !== null && _super.apply(this, arguments) || this;
}
FunctionFragment.prototype.format = function (format) {
if (!format) {
format = exports.FormatTypes.sighash;
}
if (!exports.FormatTypes[format]) {
logger.throwArgumentError("invalid format type", "format", format);
}
if (format === exports.FormatTypes.json) {
return JSON.stringify({
type: "function",
name: this.name,
constant: this.constant,
stateMutability: ((this.stateMutability !== "nonpayable") ? this.stateMutability : undefined),
payble: this.payable,
gas: (this.gas ? this.gas.toNumber() : undefined),
inputs: this.inputs.map(function (input) { return JSON.parse(input.format(format)); }),
ouputs: this.outputs.map(function (output) { return JSON.parse(output.format(format)); }),
});
}
var result = "";
if (format !== exports.FormatTypes.sighash) {
result += "function ";
}
result += this.name + "(" + this.inputs.map(function (input) { return input.format(format); }).join((format === exports.FormatTypes.full) ? ", " : ",") + ") ";
if (format !== exports.FormatTypes.sighash) {
if (this.stateMutability) {
if (this.stateMutability !== "nonpayable") {
result += (this.stateMutability + " ");
}
}
else if (this.constant) {
result += "view ";
}
if (this.outputs && this.outputs.length) {
result += "returns (" + this.outputs.map(function (output) { return output.format(format); }).join(", ") + ") ";
}
if (this.gas != null) {
result += "@" + this.gas.toString() + " ";
}
}
return result.trim();
};
FunctionFragment.from = function (value) {
if (typeof (value) === "string") {
return FunctionFragment.fromString(value);
}
return FunctionFragment.fromObject(value);
};
FunctionFragment.fromObject = function (value) {
if (FunctionFragment.isFunctionFragment(value)) {
return value;
}
if (value.type !== "function") {
logger.throwArgumentError("invalid function object", "value", value);
}
var state = verifyState(value);
var params = {
type: value.type,
name: verifyIdentifier(value.name),
constant: state.constant,
inputs: (value.inputs ? value.inputs.map(ParamType.fromObject) : []),
outputs: (value.outputs ? value.outputs.map(ParamType.fromObject) : []),
payable: state.payable,
stateMutability: state.stateMutability,
gas: (value.gas ? bignumber_1.BigNumber.from(value.gas) : null)
};
return new FunctionFragment(_constructorGuard, params);
};
FunctionFragment.fromString = function (value) {
var params = { type: "function" };
value = parseGas(value, params);
var comps = value.split(" returns ");
if (comps.length > 2) {
logger.throwArgumentError("invalid function string", "value", value);
}
var parens = comps[0].match(regexParen);
if (!parens) {
logger.throwArgumentError("invalid function signature", "value", value);
}
params.name = parens[1].trim();
if (params.name) {
verifyIdentifier(params.name);
}
params.inputs = parseParams(parens[2], false);
parseModifiers(parens[3].trim(), params);
// We have outputs
if (comps.length > 1) {
var returns = comps[1].match(regexParen);
if (returns[1].trim() != "" || returns[3].trim() != "") {
logger.throwArgumentError("unexpected tokens", "value", value);
}
params.outputs = parseParams(returns[2], false);
}
else {
params.outputs = [];
}
return FunctionFragment.fromObject(params);
};
FunctionFragment.isFunctionFragment = function (value) {
return (value && value._isFragment && value.type === "function");
};
return FunctionFragment;
}(ConstructorFragment));
exports.FunctionFragment = FunctionFragment;
//export class ErrorFragment extends Fragment {
//}
//export class StructFragment extends Fragment {
//}
function verifyType(type) {
// These need to be transformed to their full description
if (type.match(/^uint($|[^1-9])/)) {
type = "uint256" + type.substring(4);
}
else if (type.match(/^int($|[^1-9])/)) {
type = "int256" + type.substring(3);
}
// @TODO: more verification
return type;
}
var regexIdentifier = new RegExp("^[A-Za-z_][A-Za-z0-9_]*$");
function verifyIdentifier(value) {
if (!value || !value.match(regexIdentifier)) {
logger.throwArgumentError("invalid identifier \"" + value + "\"", "value", value);
}
return value;
}
var regexParen = new RegExp("^([^)(]*)\\((.*)\\)([^)(]*)$");
function splitNesting(value) {
value = value.trim();
var result = [];
var accum = "";
var depth = 0;
for (var offset = 0; offset < value.length; offset++) {
var c = value[offset];
if (c === "," && depth === 0) {
result.push(accum);
accum = "";
}
else {
accum += c;
if (c === "(") {
depth++;
}
else if (c === ")") {
depth--;
if (depth === -1) {
logger.throwArgumentError("unbalanced parenthesis", "value", value);
}
}
}
}
if (accum) {
result.push(accum);
}
return result;
}
-18
View File
@@ -1,18 +0,0 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var fragments_1 = require("./fragments");
exports.ConstructorFragment = fragments_1.ConstructorFragment;
exports.EventFragment = fragments_1.EventFragment;
exports.FormatTypes = fragments_1.FormatTypes;
exports.Fragment = fragments_1.Fragment;
exports.FunctionFragment = fragments_1.FunctionFragment;
exports.ParamType = fragments_1.ParamType;
var abi_coder_1 = require("./abi-coder");
exports.AbiCoder = abi_coder_1.AbiCoder;
exports.defaultAbiCoder = abi_coder_1.defaultAbiCoder;
var interface_1 = require("./interface");
exports.checkResultErrors = interface_1.checkResultErrors;
exports.Indexed = interface_1.Indexed;
exports.Interface = interface_1.Interface;
exports.LogDescription = interface_1.LogDescription;
exports.TransactionDescription = interface_1.TransactionDescription;
-533
View File
@@ -1,533 +0,0 @@
"use strict";
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
Object.defineProperty(exports, "__esModule", { value: true });
var address_1 = require("@ethersproject/address");
var bignumber_1 = require("@ethersproject/bignumber");
var bytes_1 = require("@ethersproject/bytes");
var hash_1 = require("@ethersproject/hash");
var keccak256_1 = require("@ethersproject/keccak256");
var properties_1 = require("@ethersproject/properties");
var abi_coder_1 = require("./abi-coder");
var abstract_coder_1 = require("./coders/abstract-coder");
exports.checkResultErrors = abstract_coder_1.checkResultErrors;
var fragments_1 = require("./fragments");
var logger_1 = require("@ethersproject/logger");
var _version_1 = require("./_version");
var logger = new logger_1.Logger(_version_1.version);
var LogDescription = /** @class */ (function (_super) {
__extends(LogDescription, _super);
function LogDescription() {
return _super !== null && _super.apply(this, arguments) || this;
}
return LogDescription;
}(properties_1.Description));
exports.LogDescription = LogDescription;
var TransactionDescription = /** @class */ (function (_super) {
__extends(TransactionDescription, _super);
function TransactionDescription() {
return _super !== null && _super.apply(this, arguments) || this;
}
return TransactionDescription;
}(properties_1.Description));
exports.TransactionDescription = TransactionDescription;
var Indexed = /** @class */ (function (_super) {
__extends(Indexed, _super);
function Indexed() {
return _super !== null && _super.apply(this, arguments) || this;
}
Indexed.isIndexed = function (value) {
return !!(value && value._isIndexed);
};
return Indexed;
}(properties_1.Description));
exports.Indexed = Indexed;
function wrapAccessError(property, error) {
var wrap = new Error("deferred error during ABI decoding triggered accessing " + property);
wrap.error = error;
return wrap;
}
function checkNames(fragment, type, params) {
params.reduce(function (accum, param) {
if (param.name) {
if (accum[param.name]) {
logger.throwArgumentError("duplicate " + type + " parameter " + JSON.stringify(param.name) + " in " + fragment.format("full"), "fragment", fragment);
}
accum[param.name] = true;
}
return accum;
}, {});
}
var Interface = /** @class */ (function () {
function Interface(fragments) {
var _newTarget = this.constructor;
var _this = this;
logger.checkNew(_newTarget, Interface);
var abi = [];
if (typeof (fragments) === "string") {
abi = JSON.parse(fragments);
}
else {
abi = fragments;
}
properties_1.defineReadOnly(this, "fragments", abi.map(function (fragment) {
return fragments_1.Fragment.from(fragment);
}).filter(function (fragment) { return (fragment != null); }));
properties_1.defineReadOnly(this, "_abiCoder", properties_1.getStatic((_newTarget), "getAbiCoder")());
properties_1.defineReadOnly(this, "functions", {});
properties_1.defineReadOnly(this, "errors", {});
properties_1.defineReadOnly(this, "events", {});
properties_1.defineReadOnly(this, "structs", {});
// Add all fragments by their signature
this.fragments.forEach(function (fragment) {
var bucket = null;
switch (fragment.type) {
case "constructor":
if (_this.deploy) {
logger.warn("duplicate definition - constructor");
return;
}
checkNames(fragment, "input", fragment.inputs);
properties_1.defineReadOnly(_this, "deploy", fragment);
return;
case "function":
checkNames(fragment, "input", fragment.inputs);
checkNames(fragment, "output", fragment.outputs);
bucket = _this.functions;
break;
case "event":
checkNames(fragment, "input", fragment.inputs);
bucket = _this.events;
break;
default:
return;
}
var signature = fragment.format();
if (bucket[signature]) {
logger.warn("duplicate definition - " + signature);
return;
}
bucket[signature] = fragment;
});
// If we do not have a constructor add a default
if (!this.deploy) {
properties_1.defineReadOnly(this, "deploy", fragments_1.ConstructorFragment.from({
payable: false,
type: "constructor"
}));
}
properties_1.defineReadOnly(this, "_isInterface", true);
}
Interface.prototype.format = function (format) {
if (!format) {
format = fragments_1.FormatTypes.full;
}
if (format === fragments_1.FormatTypes.sighash) {
logger.throwArgumentError("interface does not support formatting sighash", "format", format);
}
var abi = this.fragments.map(function (fragment) { return fragment.format(format); });
// We need to re-bundle the JSON fragments a bit
if (format === fragments_1.FormatTypes.json) {
return JSON.stringify(abi.map(function (j) { return JSON.parse(j); }));
}
return abi;
};
// Sub-classes can override these to handle other blockchains
Interface.getAbiCoder = function () {
return abi_coder_1.defaultAbiCoder;
};
Interface.getAddress = function (address) {
return address_1.getAddress(address);
};
Interface.getSighash = function (functionFragment) {
return bytes_1.hexDataSlice(hash_1.id(functionFragment.format()), 0, 4);
};
Interface.getEventTopic = function (eventFragment) {
return hash_1.id(eventFragment.format());
};
// Find a function definition by any means necessary (unless it is ambiguous)
Interface.prototype.getFunction = function (nameOrSignatureOrSighash) {
if (bytes_1.isHexString(nameOrSignatureOrSighash)) {
for (var name_1 in this.functions) {
if (nameOrSignatureOrSighash === this.getSighash(name_1)) {
return this.functions[name_1];
}
}
logger.throwArgumentError("no matching function", "sighash", nameOrSignatureOrSighash);
}
// It is a bare name, look up the function (will return null if ambiguous)
if (nameOrSignatureOrSighash.indexOf("(") === -1) {
var name_2 = nameOrSignatureOrSighash.trim();
var matching = Object.keys(this.functions).filter(function (f) { return (f.split("(" /* fix:) */)[0] === name_2); });
if (matching.length === 0) {
logger.throwArgumentError("no matching function", "name", name_2);
}
else if (matching.length > 1) {
logger.throwArgumentError("multiple matching functions", "name", name_2);
}
return this.functions[matching[0]];
}
// Normlize the signature and lookup the function
var result = this.functions[fragments_1.FunctionFragment.fromString(nameOrSignatureOrSighash).format()];
if (!result) {
logger.throwArgumentError("no matching function", "signature", nameOrSignatureOrSighash);
}
return result;
};
// Find an event definition by any means necessary (unless it is ambiguous)
Interface.prototype.getEvent = function (nameOrSignatureOrTopic) {
if (bytes_1.isHexString(nameOrSignatureOrTopic)) {
var topichash = nameOrSignatureOrTopic.toLowerCase();
for (var name_3 in this.events) {
if (topichash === this.getEventTopic(name_3)) {
return this.events[name_3];
}
}
logger.throwArgumentError("no matching event", "topichash", topichash);
}
// It is a bare name, look up the function (will return null if ambiguous)
if (nameOrSignatureOrTopic.indexOf("(") === -1) {
var name_4 = nameOrSignatureOrTopic.trim();
var matching = Object.keys(this.events).filter(function (f) { return (f.split("(" /* fix:) */)[0] === name_4); });
if (matching.length === 0) {
logger.throwArgumentError("no matching event", "name", name_4);
}
else if (matching.length > 1) {
logger.throwArgumentError("multiple matching events", "name", name_4);
}
return this.events[matching[0]];
}
// Normlize the signature and lookup the function
var result = this.events[fragments_1.EventFragment.fromString(nameOrSignatureOrTopic).format()];
if (!result) {
logger.throwArgumentError("no matching event", "signature", nameOrSignatureOrTopic);
}
return result;
};
// Get the sighash (the bytes4 selector) used by Solidity to identify a function
Interface.prototype.getSighash = function (functionFragment) {
if (typeof (functionFragment) === "string") {
functionFragment = this.getFunction(functionFragment);
}
return properties_1.getStatic(this.constructor, "getSighash")(functionFragment);
};
// Get the topic (the bytes32 hash) used by Solidity to identify an event
Interface.prototype.getEventTopic = function (eventFragment) {
if (typeof (eventFragment) === "string") {
eventFragment = this.getEvent(eventFragment);
}
return properties_1.getStatic(this.constructor, "getEventTopic")(eventFragment);
};
Interface.prototype._decodeParams = function (params, data) {
return this._abiCoder.decode(params, data);
};
Interface.prototype._encodeParams = function (params, values) {
return this._abiCoder.encode(params, values);
};
Interface.prototype.encodeDeploy = function (values) {
return this._encodeParams(this.deploy.inputs, values || []);
};
// Decode the data for a function call (e.g. tx.data)
Interface.prototype.decodeFunctionData = function (functionFragment, data) {
if (typeof (functionFragment) === "string") {
functionFragment = this.getFunction(functionFragment);
}
var bytes = bytes_1.arrayify(data);
if (bytes_1.hexlify(bytes.slice(0, 4)) !== this.getSighash(functionFragment)) {
logger.throwArgumentError("data signature does not match function " + functionFragment.name + ".", "data", bytes_1.hexlify(bytes));
}
return this._decodeParams(functionFragment.inputs, bytes.slice(4));
};
// Encode the data for a function call (e.g. tx.data)
Interface.prototype.encodeFunctionData = function (functionFragment, values) {
if (typeof (functionFragment) === "string") {
functionFragment = this.getFunction(functionFragment);
}
return bytes_1.hexlify(bytes_1.concat([
this.getSighash(functionFragment),
this._encodeParams(functionFragment.inputs, values || [])
]));
};
// Decode the result from a function call (e.g. from eth_call)
Interface.prototype.decodeFunctionResult = function (functionFragment, data) {
if (typeof (functionFragment) === "string") {
functionFragment = this.getFunction(functionFragment);
}
var bytes = bytes_1.arrayify(data);
var reason = null;
var errorSignature = null;
switch (bytes.length % this._abiCoder._getWordSize()) {
case 0:
try {
return this._abiCoder.decode(functionFragment.outputs, bytes);
}
catch (error) { }
break;
case 4:
if (bytes_1.hexlify(bytes.slice(0, 4)) === "0x08c379a0") {
errorSignature = "Error(string)";
reason = this._abiCoder.decode(["string"], bytes.slice(4))[0];
}
break;
}
return logger.throwError("call revert exception", logger_1.Logger.errors.CALL_EXCEPTION, {
method: functionFragment.format(),
errorSignature: errorSignature,
errorArgs: [reason],
reason: reason
});
};
// Encode the result for a function call (e.g. for eth_call)
Interface.prototype.encodeFunctionResult = function (functionFragment, values) {
if (typeof (functionFragment) === "string") {
functionFragment = this.getFunction(functionFragment);
}
return bytes_1.hexlify(this._abiCoder.encode(functionFragment.outputs, values || []));
};
// Create the filter for the event with search criteria (e.g. for eth_filterLog)
Interface.prototype.encodeFilterTopics = function (eventFragment, values) {
var _this = this;
if (typeof (eventFragment) === "string") {
eventFragment = this.getEvent(eventFragment);
}
if (values.length > eventFragment.inputs.length) {
logger.throwError("too many arguments for " + eventFragment.format(), logger_1.Logger.errors.UNEXPECTED_ARGUMENT, {
argument: "values",
value: values
});
}
var topics = [];
if (!eventFragment.anonymous) {
topics.push(this.getEventTopic(eventFragment));
}
var encodeTopic = function (param, value) {
if (param.type === "string") {
return hash_1.id(value);
}
else if (param.type === "bytes") {
return keccak256_1.keccak256(bytes_1.hexlify(value));
}
// Check addresses are valid
if (param.type === "address") {
_this._abiCoder.encode(["address"], [value]);
}
return bytes_1.hexZeroPad(bytes_1.hexlify(value), 32);
};
values.forEach(function (value, index) {
var param = eventFragment.inputs[index];
if (!param.indexed) {
if (value != null) {
logger.throwArgumentError("cannot filter non-indexed parameters; must be null", ("contract." + param.name), value);
}
return;
}
if (value == null) {
topics.push(null);
}
else if (param.baseType === "array" || param.baseType === "tuple") {
logger.throwArgumentError("filtering with tuples or arrays not supported", ("contract." + param.name), value);
}
else if (Array.isArray(value)) {
topics.push(value.map(function (value) { return encodeTopic(param, value); }));
}
else {
topics.push(encodeTopic(param, value));
}
});
// Trim off trailing nulls
while (topics.length && topics[topics.length - 1] === null) {
topics.pop();
}
return topics;
};
Interface.prototype.encodeEventLog = function (eventFragment, values) {
var _this = this;
if (typeof (eventFragment) === "string") {
eventFragment = this.getEvent(eventFragment);
}
var topics = [];
var dataTypes = [];
var dataValues = [];
if (!eventFragment.anonymous) {
topics.push(this.getEventTopic(eventFragment));
}
if (values.length !== eventFragment.inputs.length) {
logger.throwArgumentError("event arguments/values mismatch", "values", values);
}
eventFragment.inputs.forEach(function (param, index) {
var value = values[index];
if (param.indexed) {
if (param.type === "string") {
topics.push(hash_1.id(value));
}
else if (param.type === "bytes") {
topics.push(keccak256_1.keccak256(value));
}
else if (param.baseType === "tuple" || param.baseType === "array") {
// @TOOD
throw new Error("not implemented");
}
else {
topics.push(_this._abiCoder.encode([param.type], [value]));
}
}
else {
dataTypes.push(param);
dataValues.push(value);
}
});
return {
data: this._abiCoder.encode(dataTypes, dataValues),
topics: topics
};
};
// Decode a filter for the event and the search criteria
Interface.prototype.decodeEventLog = function (eventFragment, data, topics) {
if (typeof (eventFragment) === "string") {
eventFragment = this.getEvent(eventFragment);
}
if (topics != null && !eventFragment.anonymous) {
var topicHash = this.getEventTopic(eventFragment);
if (!bytes_1.isHexString(topics[0], 32) || topics[0].toLowerCase() !== topicHash) {
logger.throwError("fragment/topic mismatch", logger_1.Logger.errors.INVALID_ARGUMENT, { argument: "topics[0]", expected: topicHash, value: topics[0] });
}
topics = topics.slice(1);
}
var indexed = [];
var nonIndexed = [];
var dynamic = [];
eventFragment.inputs.forEach(function (param, index) {
if (param.indexed) {
if (param.type === "string" || param.type === "bytes" || param.baseType === "tuple" || param.baseType === "array") {
indexed.push(fragments_1.ParamType.fromObject({ type: "bytes32", name: param.name }));
dynamic.push(true);
}
else {
indexed.push(param);
dynamic.push(false);
}
}
else {
nonIndexed.push(param);
dynamic.push(false);
}
});
var resultIndexed = (topics != null) ? this._abiCoder.decode(indexed, bytes_1.concat(topics)) : null;
var resultNonIndexed = this._abiCoder.decode(nonIndexed, data);
var result = [];
var nonIndexedIndex = 0, indexedIndex = 0;
eventFragment.inputs.forEach(function (param, index) {
if (param.indexed) {
if (resultIndexed == null) {
result[index] = new Indexed({ _isIndexed: true, hash: null });
}
else if (dynamic[index]) {
result[index] = new Indexed({ _isIndexed: true, hash: resultIndexed[indexedIndex++] });
}
else {
try {
result[index] = resultIndexed[indexedIndex++];
}
catch (error) {
result[index] = error;
}
}
}
else {
try {
result[index] = resultNonIndexed[nonIndexedIndex++];
}
catch (error) {
result[index] = error;
}
}
// Add the keyword argument if named and safe
if (param.name && result[param.name] == null) {
var value_1 = result[index];
// Make error named values throw on access
if (value_1 instanceof Error) {
Object.defineProperty(result, param.name, {
get: function () { throw wrapAccessError("property " + JSON.stringify(param.name), value_1); }
});
}
else {
result[param.name] = value_1;
}
}
});
var _loop_1 = function (i) {
var value = result[i];
if (value instanceof Error) {
Object.defineProperty(result, i, {
get: function () { throw wrapAccessError("index " + i, value); }
});
}
};
// Make all error indexed values throw on access
for (var i = 0; i < result.length; i++) {
_loop_1(i);
}
return Object.freeze(result);
};
// Given a transaction, find the matching function fragment (if any) and
// determine all its properties and call parameters
Interface.prototype.parseTransaction = function (tx) {
var fragment = this.getFunction(tx.data.substring(0, 10).toLowerCase());
if (!fragment) {
return null;
}
return new TransactionDescription({
args: this._abiCoder.decode(fragment.inputs, "0x" + tx.data.substring(10)),
functionFragment: fragment,
name: fragment.name,
signature: fragment.format(),
sighash: this.getSighash(fragment),
value: bignumber_1.BigNumber.from(tx.value || "0"),
});
};
// Given an event log, find the matching event fragment (if any) and
// determine all its properties and values
Interface.prototype.parseLog = function (log) {
var fragment = this.getEvent(log.topics[0]);
if (!fragment || fragment.anonymous) {
return null;
}
// @TODO: If anonymous, and the only method, and the input count matches, should we parse?
// Probably not, because just because it is the only event in the ABI does
// not mean we have the full ABI; maybe jsut a fragment?
return new LogDescription({
eventFragment: fragment,
name: fragment.name,
signature: fragment.format(),
topic: this.getEventTopic(fragment),
args: this.decodeEventLog(fragment, log.data, log.topics)
});
};
/*
static from(value: Array<Fragment | string | JsonAbi> | string | Interface) {
if (Interface.isInterface(value)) {
return value;
}
if (typeof(value) === "string") {
return new Interface(JSON.parse(value));
}
return new Interface(value);
}
*/
Interface.isInterface = function (value) {
return !!(value && value._isInterface);
};
return Interface;
}());
exports.Interface = Interface;
-41
View File
@@ -1,41 +0,0 @@
{
"author": "Richard Moore <me@ricmoo.com>",
"dependencies": {
"@ethersproject/address": ">=5.0.0-beta.128",
"@ethersproject/bignumber": ">=5.0.0-beta.130",
"@ethersproject/bytes": ">=5.0.0-beta.129",
"@ethersproject/constants": ">=5.0.0-beta.128",
"@ethersproject/hash": ">=5.0.0-beta.128",
"@ethersproject/keccak256": ">=5.0.0-beta.127",
"@ethersproject/logger": ">=5.0.0-beta.129",
"@ethersproject/properties": ">=5.0.0-beta.131",
"@ethersproject/strings": ">=5.0.0-beta.130"
},
"description": "Utilities and Classes for parsing, formatting and managing Ethereum ABIs.",
"ethereum": "donations.ethers.eth",
"keywords": [
"Ethereum",
"ethers"
],
"license": "MIT",
"main": "./lib/index.js",
"module": "./lib.esm/index.js",
"name": "@ethersproject/abi",
"publishConfig": {
"access": "public"
},
"repository": {
"type": "git",
"url": "git://github.com/ethers-io/ethers.js.git"
},
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"tarballHash": "0x7f866470aabd8bbe47af1ff527fedbd86445cbfcd3bbf340d34c96b38b8e8606",
"types": "./lib/index.d.ts",
"version": "5.0.0-beta.153"
,"_resolved": "https://registry.npmjs.org/@ethersproject/abi/-/abi-5.0.0-beta.153.tgz"
,"_integrity": "sha512-aXweZ1Z7vMNzJdLpR1CZUAIgnwjrZeUSvN9syCwlBaEBUFJmFY+HHnfuTI5vIhVs/mRkfJVrbEyl51JZQqyjAg=="
,"_from": "@ethersproject/abi@5.0.0-beta.153"
}
@@ -1,2 +0,0 @@
export const version = "abstract-provider/5.0.5";
//# sourceMappingURL=_version.js.map
-79
View File
@@ -1,79 +0,0 @@
"use strict";
import { isHexString } from "@ethersproject/bytes";
import { Description, defineReadOnly } from "@ethersproject/properties";
import { Logger } from "@ethersproject/logger";
import { version } from "./_version";
const logger = new Logger(version);
;
;
//export type CallTransactionable = {
// call(transaction: TransactionRequest): Promise<TransactionResponse>;
//};
export class ForkEvent extends Description {
static isForkEvent(value) {
return !!(value && value._isForkEvent);
}
}
export class BlockForkEvent extends ForkEvent {
constructor(blockHash, expiry) {
if (!isHexString(blockHash, 32)) {
logger.throwArgumentError("invalid blockHash", "blockHash", blockHash);
}
super({
_isForkEvent: true,
_isBlockForkEvent: true,
expiry: (expiry || 0),
blockHash: blockHash
});
}
}
export class TransactionForkEvent extends ForkEvent {
constructor(hash, expiry) {
if (!isHexString(hash, 32)) {
logger.throwArgumentError("invalid transaction hash", "hash", hash);
}
super({
_isForkEvent: true,
_isTransactionForkEvent: true,
expiry: (expiry || 0),
hash: hash
});
}
}
export class TransactionOrderForkEvent extends ForkEvent {
constructor(beforeHash, afterHash, expiry) {
if (!isHexString(beforeHash, 32)) {
logger.throwArgumentError("invalid transaction hash", "beforeHash", beforeHash);
}
if (!isHexString(afterHash, 32)) {
logger.throwArgumentError("invalid transaction hash", "afterHash", afterHash);
}
super({
_isForkEvent: true,
_isTransactionOrderForkEvent: true,
expiry: (expiry || 0),
beforeHash: beforeHash,
afterHash: afterHash
});
}
}
///////////////////////////////
// Exported Abstracts
export class Provider {
constructor() {
logger.checkAbstract(new.target, Provider);
defineReadOnly(this, "_isProvider", true);
}
// Alias for "on"
addListener(eventName, listener) {
return this.on(eventName, listener);
}
// Alias for "off"
removeListener(eventName, listener) {
return this.off(eventName, listener);
}
static isProvider(value) {
return !!(value && value._isProvider);
}
}
//# sourceMappingURL=index.js.map
-4
View File
@@ -1,4 +0,0 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.version = "abstract-provider/5.0.5";
//# sourceMappingURL=_version.js.map
-117
View File
@@ -1,117 +0,0 @@
"use strict";
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
Object.defineProperty(exports, "__esModule", { value: true });
var bytes_1 = require("@ethersproject/bytes");
var properties_1 = require("@ethersproject/properties");
var logger_1 = require("@ethersproject/logger");
var _version_1 = require("./_version");
var logger = new logger_1.Logger(_version_1.version);
;
;
//export type CallTransactionable = {
// call(transaction: TransactionRequest): Promise<TransactionResponse>;
//};
var ForkEvent = /** @class */ (function (_super) {
__extends(ForkEvent, _super);
function ForkEvent() {
return _super !== null && _super.apply(this, arguments) || this;
}
ForkEvent.isForkEvent = function (value) {
return !!(value && value._isForkEvent);
};
return ForkEvent;
}(properties_1.Description));
exports.ForkEvent = ForkEvent;
var BlockForkEvent = /** @class */ (function (_super) {
__extends(BlockForkEvent, _super);
function BlockForkEvent(blockHash, expiry) {
var _this = this;
if (!bytes_1.isHexString(blockHash, 32)) {
logger.throwArgumentError("invalid blockHash", "blockHash", blockHash);
}
_this = _super.call(this, {
_isForkEvent: true,
_isBlockForkEvent: true,
expiry: (expiry || 0),
blockHash: blockHash
}) || this;
return _this;
}
return BlockForkEvent;
}(ForkEvent));
exports.BlockForkEvent = BlockForkEvent;
var TransactionForkEvent = /** @class */ (function (_super) {
__extends(TransactionForkEvent, _super);
function TransactionForkEvent(hash, expiry) {
var _this = this;
if (!bytes_1.isHexString(hash, 32)) {
logger.throwArgumentError("invalid transaction hash", "hash", hash);
}
_this = _super.call(this, {
_isForkEvent: true,
_isTransactionForkEvent: true,
expiry: (expiry || 0),
hash: hash
}) || this;
return _this;
}
return TransactionForkEvent;
}(ForkEvent));
exports.TransactionForkEvent = TransactionForkEvent;
var TransactionOrderForkEvent = /** @class */ (function (_super) {
__extends(TransactionOrderForkEvent, _super);
function TransactionOrderForkEvent(beforeHash, afterHash, expiry) {
var _this = this;
if (!bytes_1.isHexString(beforeHash, 32)) {
logger.throwArgumentError("invalid transaction hash", "beforeHash", beforeHash);
}
if (!bytes_1.isHexString(afterHash, 32)) {
logger.throwArgumentError("invalid transaction hash", "afterHash", afterHash);
}
_this = _super.call(this, {
_isForkEvent: true,
_isTransactionOrderForkEvent: true,
expiry: (expiry || 0),
beforeHash: beforeHash,
afterHash: afterHash
}) || this;
return _this;
}
return TransactionOrderForkEvent;
}(ForkEvent));
exports.TransactionOrderForkEvent = TransactionOrderForkEvent;
///////////////////////////////
// Exported Abstracts
var Provider = /** @class */ (function () {
function Provider() {
var _newTarget = this.constructor;
logger.checkAbstract(_newTarget, Provider);
properties_1.defineReadOnly(this, "_isProvider", true);
}
// Alias for "on"
Provider.prototype.addListener = function (eventName, listener) {
return this.on(eventName, listener);
};
// Alias for "off"
Provider.prototype.removeListener = function (eventName, listener) {
return this.off(eventName, listener);
};
Provider.isProvider = function (value) {
return !!(value && value._isProvider);
};
return Provider;
}());
exports.Provider = Provider;
//# sourceMappingURL=index.js.map
-40
View File
@@ -1,40 +0,0 @@
{
"author": "Richard Moore <me@ricmoo.com>",
"dependencies": {
"@ethersproject/bignumber": "^5.0.7",
"@ethersproject/bytes": "^5.0.4",
"@ethersproject/logger": "^5.0.5",
"@ethersproject/networks": "^5.0.3",
"@ethersproject/properties": "^5.0.3",
"@ethersproject/transactions": "^5.0.5",
"@ethersproject/web": "^5.0.6"
},
"description": "An Abstract Class for describing an Ethereum Provider for ethers.",
"ethereum": "donations.ethers.eth",
"gitHead": "ffa4a2d0549fe2c606bda3130f4a3f3d788f8dcf",
"keywords": [
"Ethereum",
"ethers"
],
"license": "MIT",
"main": "./lib/index.js",
"module": "./lib.esm/index.js",
"name": "@ethersproject/abstract-provider",
"publishConfig": {
"access": "public"
},
"repository": {
"type": "git",
"url": "git://github.com/ethers-io/ethers.js.git"
},
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"tarballHash": "0x87fdc7d7ee69d8c228c0e6946be702acd027a832b5a3deaa5b60e3c9f7110e58",
"types": "./lib/index.d.ts",
"version": "5.0.5"
,"_resolved": "https://registry.npmjs.org/@ethersproject/abstract-provider/-/abstract-provider-5.0.5.tgz"
,"_integrity": "sha512-i/CjElAkzV7vQBAeoz+IpjGfcFYEP9eD7j3fzZ0fzTq03DO7PPnR+xkEZ1IoDXGwDS+55aLM1xvLDwB/Lx6IOQ=="
,"_from": "@ethersproject/abstract-provider@^5.0.4"
}
@@ -1,2 +0,0 @@
export const version = "abstract-signer/5.0.7";
//# sourceMappingURL=_version.js.map
-208
View File
@@ -1,208 +0,0 @@
"use strict";
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
import { defineReadOnly, resolveProperties, shallowCopy } from "@ethersproject/properties";
import { Logger } from "@ethersproject/logger";
import { version } from "./_version";
const logger = new Logger(version);
const allowedTransactionKeys = [
"chainId", "data", "from", "gasLimit", "gasPrice", "nonce", "to", "value"
];
const forwardErrors = [
Logger.errors.INSUFFICIENT_FUNDS,
Logger.errors.NONCE_EXPIRED,
Logger.errors.REPLACEMENT_UNDERPRICED,
];
;
;
export class Signer {
///////////////////
// Sub-classes MUST call super
constructor() {
logger.checkAbstract(new.target, Signer);
defineReadOnly(this, "_isSigner", true);
}
///////////////////
// Sub-classes MAY override these
getBalance(blockTag) {
return __awaiter(this, void 0, void 0, function* () {
this._checkProvider("getBalance");
return yield this.provider.getBalance(this.getAddress(), blockTag);
});
}
getTransactionCount(blockTag) {
return __awaiter(this, void 0, void 0, function* () {
this._checkProvider("getTransactionCount");
return yield this.provider.getTransactionCount(this.getAddress(), blockTag);
});
}
// Populates "from" if unspecified, and estimates the gas for the transation
estimateGas(transaction) {
return __awaiter(this, void 0, void 0, function* () {
this._checkProvider("estimateGas");
const tx = yield resolveProperties(this.checkTransaction(transaction));
return yield this.provider.estimateGas(tx);
});
}
// Populates "from" if unspecified, and calls with the transation
call(transaction, blockTag) {
return __awaiter(this, void 0, void 0, function* () {
this._checkProvider("call");
const tx = yield resolveProperties(this.checkTransaction(transaction));
return yield this.provider.call(tx, blockTag);
});
}
// Populates all fields in a transaction, signs it and sends it to the network
sendTransaction(transaction) {
this._checkProvider("sendTransaction");
return this.populateTransaction(transaction).then((tx) => {
return this.signTransaction(tx).then((signedTx) => {
return this.provider.sendTransaction(signedTx);
});
});
}
getChainId() {
return __awaiter(this, void 0, void 0, function* () {
this._checkProvider("getChainId");
const network = yield this.provider.getNetwork();
return network.chainId;
});
}
getGasPrice() {
return __awaiter(this, void 0, void 0, function* () {
this._checkProvider("getGasPrice");
return yield this.provider.getGasPrice();
});
}
resolveName(name) {
return __awaiter(this, void 0, void 0, function* () {
this._checkProvider("resolveName");
return yield this.provider.resolveName(name);
});
}
// Checks a transaction does not contain invalid keys and if
// no "from" is provided, populates it.
// - does NOT require a provider
// - adds "from" is not present
// - returns a COPY (safe to mutate the result)
// By default called from: (overriding these prevents it)
// - call
// - estimateGas
// - populateTransaction (and therefor sendTransaction)
checkTransaction(transaction) {
for (const key in transaction) {
if (allowedTransactionKeys.indexOf(key) === -1) {
logger.throwArgumentError("invalid transaction key: " + key, "transaction", transaction);
}
}
const tx = shallowCopy(transaction);
if (tx.from == null) {
tx.from = this.getAddress();
}
else {
// Make sure any provided address matches this signer
tx.from = Promise.all([
Promise.resolve(tx.from),
this.getAddress()
]).then((result) => {
if (result[0] !== result[1]) {
logger.throwArgumentError("from address mismatch", "transaction", transaction);
}
return result[0];
});
}
return tx;
}
// Populates ALL keys for a transaction and checks that "from" matches
// this Signer. Should be used by sendTransaction but NOT by signTransaction.
// By default called from: (overriding these prevents it)
// - sendTransaction
populateTransaction(transaction) {
return __awaiter(this, void 0, void 0, function* () {
const tx = yield resolveProperties(this.checkTransaction(transaction));
if (tx.to != null) {
tx.to = Promise.resolve(tx.to).then((to) => this.resolveName(to));
}
if (tx.gasPrice == null) {
tx.gasPrice = this.getGasPrice();
}
if (tx.nonce == null) {
tx.nonce = this.getTransactionCount("pending");
}
if (tx.gasLimit == null) {
tx.gasLimit = this.estimateGas(tx).catch((error) => {
if (forwardErrors.indexOf(error.code) >= 0) {
throw error;
}
return logger.throwError("cannot estimate gas; transaction may fail or may require manual gas limit", Logger.errors.UNPREDICTABLE_GAS_LIMIT, {
error: error,
tx: tx
});
});
}
if (tx.chainId == null) {
tx.chainId = this.getChainId();
}
else {
tx.chainId = Promise.all([
Promise.resolve(tx.chainId),
this.getChainId()
]).then((results) => {
if (results[1] !== 0 && results[0] !== results[1]) {
logger.throwArgumentError("chainId address mismatch", "transaction", transaction);
}
return results[0];
});
}
return yield resolveProperties(tx);
});
}
///////////////////
// Sub-classes SHOULD leave these alone
_checkProvider(operation) {
if (!this.provider) {
logger.throwError("missing provider", Logger.errors.UNSUPPORTED_OPERATION, {
operation: (operation || "_checkProvider")
});
}
}
static isSigner(value) {
return !!(value && value._isSigner);
}
}
export class VoidSigner extends Signer {
constructor(address, provider) {
logger.checkNew(new.target, VoidSigner);
super();
defineReadOnly(this, "address", address);
defineReadOnly(this, "provider", provider || null);
}
getAddress() {
return Promise.resolve(this.address);
}
_fail(message, operation) {
return Promise.resolve().then(() => {
logger.throwError(message, Logger.errors.UNSUPPORTED_OPERATION, { operation: operation });
});
}
signMessage(message) {
return this._fail("VoidSigner cannot sign messages", "signMessage");
}
signTransaction(transaction) {
return this._fail("VoidSigner cannot sign transactions", "signTransaction");
}
_signTypedData(domain, types, value) {
return this._fail("VoidSigner cannot sign typed data", "signTypedData");
}
connect(provider) {
return new VoidSigner(this.address, provider);
}
}
//# sourceMappingURL=index.js.map
-4
View File
@@ -1,4 +0,0 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.version = "abstract-signer/5.0.7";
//# sourceMappingURL=_version.js.map
-318
View File
@@ -1,318 +0,0 @@
"use strict";
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
return extendStatics(d, b);
};
return function (d, b) {
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var __generator = (this && this.__generator) || function (thisArg, body) {
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
function verb(n) { return function (v) { return step([n, v]); }; }
function step(op) {
if (f) throw new TypeError("Generator is already executing.");
while (_) try {
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
if (y = 0, t) op = [op[0] & 2, t.value];
switch (op[0]) {
case 0: case 1: t = op; break;
case 4: _.label++; return { value: op[1], done: false };
case 5: _.label++; y = op[1]; op = [0]; continue;
case 7: op = _.ops.pop(); _.trys.pop(); continue;
default:
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
if (t[2]) _.ops.pop();
_.trys.pop(); continue;
}
op = body.call(thisArg, _);
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
}
};
Object.defineProperty(exports, "__esModule", { value: true });
var properties_1 = require("@ethersproject/properties");
var logger_1 = require("@ethersproject/logger");
var _version_1 = require("./_version");
var logger = new logger_1.Logger(_version_1.version);
var allowedTransactionKeys = [
"chainId", "data", "from", "gasLimit", "gasPrice", "nonce", "to", "value"
];
var forwardErrors = [
logger_1.Logger.errors.INSUFFICIENT_FUNDS,
logger_1.Logger.errors.NONCE_EXPIRED,
logger_1.Logger.errors.REPLACEMENT_UNDERPRICED,
];
;
;
var Signer = /** @class */ (function () {
///////////////////
// Sub-classes MUST call super
function Signer() {
var _newTarget = this.constructor;
logger.checkAbstract(_newTarget, Signer);
properties_1.defineReadOnly(this, "_isSigner", true);
}
///////////////////
// Sub-classes MAY override these
Signer.prototype.getBalance = function (blockTag) {
return __awaiter(this, void 0, void 0, function () {
return __generator(this, function (_a) {
switch (_a.label) {
case 0:
this._checkProvider("getBalance");
return [4 /*yield*/, this.provider.getBalance(this.getAddress(), blockTag)];
case 1: return [2 /*return*/, _a.sent()];
}
});
});
};
Signer.prototype.getTransactionCount = function (blockTag) {
return __awaiter(this, void 0, void 0, function () {
return __generator(this, function (_a) {
switch (_a.label) {
case 0:
this._checkProvider("getTransactionCount");
return [4 /*yield*/, this.provider.getTransactionCount(this.getAddress(), blockTag)];
case 1: return [2 /*return*/, _a.sent()];
}
});
});
};
// Populates "from" if unspecified, and estimates the gas for the transation
Signer.prototype.estimateGas = function (transaction) {
return __awaiter(this, void 0, void 0, function () {
var tx;
return __generator(this, function (_a) {
switch (_a.label) {
case 0:
this._checkProvider("estimateGas");
return [4 /*yield*/, properties_1.resolveProperties(this.checkTransaction(transaction))];
case 1:
tx = _a.sent();
return [4 /*yield*/, this.provider.estimateGas(tx)];
case 2: return [2 /*return*/, _a.sent()];
}
});
});
};
// Populates "from" if unspecified, and calls with the transation
Signer.prototype.call = function (transaction, blockTag) {
return __awaiter(this, void 0, void 0, function () {
var tx;
return __generator(this, function (_a) {
switch (_a.label) {
case 0:
this._checkProvider("call");
return [4 /*yield*/, properties_1.resolveProperties(this.checkTransaction(transaction))];
case 1:
tx = _a.sent();
return [4 /*yield*/, this.provider.call(tx, blockTag)];
case 2: return [2 /*return*/, _a.sent()];
}
});
});
};
// Populates all fields in a transaction, signs it and sends it to the network
Signer.prototype.sendTransaction = function (transaction) {
var _this = this;
this._checkProvider("sendTransaction");
return this.populateTransaction(transaction).then(function (tx) {
return _this.signTransaction(tx).then(function (signedTx) {
return _this.provider.sendTransaction(signedTx);
});
});
};
Signer.prototype.getChainId = function () {
return __awaiter(this, void 0, void 0, function () {
var network;
return __generator(this, function (_a) {
switch (_a.label) {
case 0:
this._checkProvider("getChainId");
return [4 /*yield*/, this.provider.getNetwork()];
case 1:
network = _a.sent();
return [2 /*return*/, network.chainId];
}
});
});
};
Signer.prototype.getGasPrice = function () {
return __awaiter(this, void 0, void 0, function () {
return __generator(this, function (_a) {
switch (_a.label) {
case 0:
this._checkProvider("getGasPrice");
return [4 /*yield*/, this.provider.getGasPrice()];
case 1: return [2 /*return*/, _a.sent()];
}
});
});
};
Signer.prototype.resolveName = function (name) {
return __awaiter(this, void 0, void 0, function () {
return __generator(this, function (_a) {
switch (_a.label) {
case 0:
this._checkProvider("resolveName");
return [4 /*yield*/, this.provider.resolveName(name)];
case 1: return [2 /*return*/, _a.sent()];
}
});
});
};
// Checks a transaction does not contain invalid keys and if
// no "from" is provided, populates it.
// - does NOT require a provider
// - adds "from" is not present
// - returns a COPY (safe to mutate the result)
// By default called from: (overriding these prevents it)
// - call
// - estimateGas
// - populateTransaction (and therefor sendTransaction)
Signer.prototype.checkTransaction = function (transaction) {
for (var key in transaction) {
if (allowedTransactionKeys.indexOf(key) === -1) {
logger.throwArgumentError("invalid transaction key: " + key, "transaction", transaction);
}
}
var tx = properties_1.shallowCopy(transaction);
if (tx.from == null) {
tx.from = this.getAddress();
}
else {
// Make sure any provided address matches this signer
tx.from = Promise.all([
Promise.resolve(tx.from),
this.getAddress()
]).then(function (result) {
if (result[0] !== result[1]) {
logger.throwArgumentError("from address mismatch", "transaction", transaction);
}
return result[0];
});
}
return tx;
};
// Populates ALL keys for a transaction and checks that "from" matches
// this Signer. Should be used by sendTransaction but NOT by signTransaction.
// By default called from: (overriding these prevents it)
// - sendTransaction
Signer.prototype.populateTransaction = function (transaction) {
return __awaiter(this, void 0, void 0, function () {
var tx;
var _this = this;
return __generator(this, function (_a) {
switch (_a.label) {
case 0: return [4 /*yield*/, properties_1.resolveProperties(this.checkTransaction(transaction))];
case 1:
tx = _a.sent();
if (tx.to != null) {
tx.to = Promise.resolve(tx.to).then(function (to) { return _this.resolveName(to); });
}
if (tx.gasPrice == null) {
tx.gasPrice = this.getGasPrice();
}
if (tx.nonce == null) {
tx.nonce = this.getTransactionCount("pending");
}
if (tx.gasLimit == null) {
tx.gasLimit = this.estimateGas(tx).catch(function (error) {
if (forwardErrors.indexOf(error.code) >= 0) {
throw error;
}
return logger.throwError("cannot estimate gas; transaction may fail or may require manual gas limit", logger_1.Logger.errors.UNPREDICTABLE_GAS_LIMIT, {
error: error,
tx: tx
});
});
}
if (tx.chainId == null) {
tx.chainId = this.getChainId();
}
else {
tx.chainId = Promise.all([
Promise.resolve(tx.chainId),
this.getChainId()
]).then(function (results) {
if (results[1] !== 0 && results[0] !== results[1]) {
logger.throwArgumentError("chainId address mismatch", "transaction", transaction);
}
return results[0];
});
}
return [4 /*yield*/, properties_1.resolveProperties(tx)];
case 2: return [2 /*return*/, _a.sent()];
}
});
});
};
///////////////////
// Sub-classes SHOULD leave these alone
Signer.prototype._checkProvider = function (operation) {
if (!this.provider) {
logger.throwError("missing provider", logger_1.Logger.errors.UNSUPPORTED_OPERATION, {
operation: (operation || "_checkProvider")
});
}
};
Signer.isSigner = function (value) {
return !!(value && value._isSigner);
};
return Signer;
}());
exports.Signer = Signer;
var VoidSigner = /** @class */ (function (_super) {
__extends(VoidSigner, _super);
function VoidSigner(address, provider) {
var _newTarget = this.constructor;
var _this = this;
logger.checkNew(_newTarget, VoidSigner);
_this = _super.call(this) || this;
properties_1.defineReadOnly(_this, "address", address);
properties_1.defineReadOnly(_this, "provider", provider || null);
return _this;
}
VoidSigner.prototype.getAddress = function () {
return Promise.resolve(this.address);
};
VoidSigner.prototype._fail = function (message, operation) {
return Promise.resolve().then(function () {
logger.throwError(message, logger_1.Logger.errors.UNSUPPORTED_OPERATION, { operation: operation });
});
};
VoidSigner.prototype.signMessage = function (message) {
return this._fail("VoidSigner cannot sign messages", "signMessage");
};
VoidSigner.prototype.signTransaction = function (transaction) {
return this._fail("VoidSigner cannot sign transactions", "signTransaction");
};
VoidSigner.prototype._signTypedData = function (domain, types, value) {
return this._fail("VoidSigner cannot sign typed data", "signTypedData");
};
VoidSigner.prototype.connect = function (provider) {
return new VoidSigner(this.address, provider);
};
return VoidSigner;
}(Signer));
exports.VoidSigner = VoidSigner;
//# sourceMappingURL=index.js.map
-38
View File
@@ -1,38 +0,0 @@
{
"author": "Richard Moore <me@ricmoo.com>",
"dependencies": {
"@ethersproject/abstract-provider": "^5.0.4",
"@ethersproject/bignumber": "^5.0.7",
"@ethersproject/bytes": "^5.0.4",
"@ethersproject/logger": "^5.0.5",
"@ethersproject/properties": "^5.0.3"
},
"description": "An Abstract Class for desribing an Ethereum Signer for ethers.",
"ethereum": "donations.ethers.eth",
"gitHead": "86146650d83865d83b10867e9592923eada5d7cc",
"keywords": [
"Ethereum",
"ethers"
],
"license": "MIT",
"main": "./lib/index.js",
"module": "./lib.esm/index.js",
"name": "@ethersproject/abstract-signer",
"publishConfig": {
"access": "public"
},
"repository": {
"type": "git",
"url": "git://github.com/ethers-io/ethers.js.git"
},
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"tarballHash": "0x722fb4b5e18bb70cda3c2fbd250d96bacdbe7d358c4c426a73d262fc1f751845",
"types": "./lib/index.d.ts",
"version": "5.0.7"
,"_resolved": "https://registry.npmjs.org/@ethersproject/abstract-signer/-/abstract-signer-5.0.7.tgz"
,"_integrity": "sha512-8W8gy/QutEL60EoMEpvxZ8MFAEWs/JvH5nmZ6xeLXoZvmBCasGmxqHdYjo2cxg0nevkPkq9SeenSsBBZSCx+SQ=="
,"_from": "@ethersproject/abstract-signer@^5.0.6"
}
-2
View File
@@ -1,2 +0,0 @@
export const version = "address/5.0.5";
//# sourceMappingURL=_version.js.map
-136
View File
@@ -1,136 +0,0 @@
"use strict";
// We use this for base 36 maths
import { BN } from "bn.js";
import { arrayify, concat, hexDataLength, hexDataSlice, isHexString, stripZeros } from "@ethersproject/bytes";
import { BigNumber } from "@ethersproject/bignumber";
import { keccak256 } from "@ethersproject/keccak256";
import { encode } from "@ethersproject/rlp";
import { Logger } from "@ethersproject/logger";
import { version } from "./_version";
const logger = new Logger(version);
function getChecksumAddress(address) {
if (!isHexString(address, 20)) {
logger.throwArgumentError("invalid address", "address", address);
}
address = address.toLowerCase();
const chars = address.substring(2).split("");
const expanded = new Uint8Array(40);
for (let i = 0; i < 40; i++) {
expanded[i] = chars[i].charCodeAt(0);
}
const hashed = arrayify(keccak256(expanded));
for (let i = 0; i < 40; i += 2) {
if ((hashed[i >> 1] >> 4) >= 8) {
chars[i] = chars[i].toUpperCase();
}
if ((hashed[i >> 1] & 0x0f) >= 8) {
chars[i + 1] = chars[i + 1].toUpperCase();
}
}
return "0x" + chars.join("");
}
// Shims for environments that are missing some required constants and functions
const MAX_SAFE_INTEGER = 0x1fffffffffffff;
function log10(x) {
if (Math.log10) {
return Math.log10(x);
}
return Math.log(x) / Math.LN10;
}
// See: https://en.wikipedia.org/wiki/International_Bank_Account_Number
// Create lookup table
const ibanLookup = {};
for (let i = 0; i < 10; i++) {
ibanLookup[String(i)] = String(i);
}
for (let i = 0; i < 26; i++) {
ibanLookup[String.fromCharCode(65 + i)] = String(10 + i);
}
// How many decimal digits can we process? (for 64-bit float, this is 15)
const safeDigits = Math.floor(log10(MAX_SAFE_INTEGER));
function ibanChecksum(address) {
address = address.toUpperCase();
address = address.substring(4) + address.substring(0, 2) + "00";
let expanded = address.split("").map((c) => { return ibanLookup[c]; }).join("");
// Javascript can handle integers safely up to 15 (decimal) digits
while (expanded.length >= safeDigits) {
let block = expanded.substring(0, safeDigits);
expanded = parseInt(block, 10) % 97 + expanded.substring(block.length);
}
let checksum = String(98 - (parseInt(expanded, 10) % 97));
while (checksum.length < 2) {
checksum = "0" + checksum;
}
return checksum;
}
;
export function getAddress(address) {
let result = null;
if (typeof (address) !== "string") {
logger.throwArgumentError("invalid address", "address", address);
}
if (address.match(/^(0x)?[0-9a-fA-F]{40}$/)) {
// Missing the 0x prefix
if (address.substring(0, 2) !== "0x") {
address = "0x" + address;
}
result = getChecksumAddress(address);
// It is a checksummed address with a bad checksum
if (address.match(/([A-F].*[a-f])|([a-f].*[A-F])/) && result !== address) {
logger.throwArgumentError("bad address checksum", "address", address);
}
// Maybe ICAP? (we only support direct mode)
}
else if (address.match(/^XE[0-9]{2}[0-9A-Za-z]{30,31}$/)) {
// It is an ICAP address with a bad checksum
if (address.substring(2, 4) !== ibanChecksum(address)) {
logger.throwArgumentError("bad icap checksum", "address", address);
}
result = (new BN(address.substring(4), 36)).toString(16);
while (result.length < 40) {
result = "0" + result;
}
result = getChecksumAddress("0x" + result);
}
else {
logger.throwArgumentError("invalid address", "address", address);
}
return result;
}
export function isAddress(address) {
try {
getAddress(address);
return true;
}
catch (error) { }
return false;
}
export function getIcapAddress(address) {
let base36 = (new BN(getAddress(address).substring(2), 16)).toString(36).toUpperCase();
while (base36.length < 30) {
base36 = "0" + base36;
}
return "XE" + ibanChecksum("XE00" + base36) + base36;
}
// http://ethereum.stackexchange.com/questions/760/how-is-the-address-of-an-ethereum-contract-computed
export function getContractAddress(transaction) {
let from = null;
try {
from = getAddress(transaction.from);
}
catch (error) {
logger.throwArgumentError("missing from address", "transaction", transaction);
}
const nonce = stripZeros(arrayify(BigNumber.from(transaction.nonce).toHexString()));
return getAddress(hexDataSlice(keccak256(encode([from, nonce])), 12));
}
export function getCreate2Address(from, salt, initCodeHash) {
if (hexDataLength(salt) !== 32) {
logger.throwArgumentError("salt must be 32 bytes", "salt", salt);
}
if (hexDataLength(initCodeHash) !== 32) {
logger.throwArgumentError("initCodeHash must be 32 bytes", "initCodeHash", initCodeHash);
}
return getAddress(hexDataSlice(keccak256(concat(["0xff", getAddress(from), salt, initCodeHash])), 12));
}
//# sourceMappingURL=index.js.map
-4
View File
@@ -1,4 +0,0 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.version = "address/5.0.5";
//# sourceMappingURL=_version.js.map
-142
View File
@@ -1,142 +0,0 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
// We use this for base 36 maths
var bn_js_1 = require("bn.js");
var bytes_1 = require("@ethersproject/bytes");
var bignumber_1 = require("@ethersproject/bignumber");
var keccak256_1 = require("@ethersproject/keccak256");
var rlp_1 = require("@ethersproject/rlp");
var logger_1 = require("@ethersproject/logger");
var _version_1 = require("./_version");
var logger = new logger_1.Logger(_version_1.version);
function getChecksumAddress(address) {
if (!bytes_1.isHexString(address, 20)) {
logger.throwArgumentError("invalid address", "address", address);
}
address = address.toLowerCase();
var chars = address.substring(2).split("");
var expanded = new Uint8Array(40);
for (var i = 0; i < 40; i++) {
expanded[i] = chars[i].charCodeAt(0);
}
var hashed = bytes_1.arrayify(keccak256_1.keccak256(expanded));
for (var i = 0; i < 40; i += 2) {
if ((hashed[i >> 1] >> 4) >= 8) {
chars[i] = chars[i].toUpperCase();
}
if ((hashed[i >> 1] & 0x0f) >= 8) {
chars[i + 1] = chars[i + 1].toUpperCase();
}
}
return "0x" + chars.join("");
}
// Shims for environments that are missing some required constants and functions
var MAX_SAFE_INTEGER = 0x1fffffffffffff;
function log10(x) {
if (Math.log10) {
return Math.log10(x);
}
return Math.log(x) / Math.LN10;
}
// See: https://en.wikipedia.org/wiki/International_Bank_Account_Number
// Create lookup table
var ibanLookup = {};
for (var i = 0; i < 10; i++) {
ibanLookup[String(i)] = String(i);
}
for (var i = 0; i < 26; i++) {
ibanLookup[String.fromCharCode(65 + i)] = String(10 + i);
}
// How many decimal digits can we process? (for 64-bit float, this is 15)
var safeDigits = Math.floor(log10(MAX_SAFE_INTEGER));
function ibanChecksum(address) {
address = address.toUpperCase();
address = address.substring(4) + address.substring(0, 2) + "00";
var expanded = address.split("").map(function (c) { return ibanLookup[c]; }).join("");
// Javascript can handle integers safely up to 15 (decimal) digits
while (expanded.length >= safeDigits) {
var block = expanded.substring(0, safeDigits);
expanded = parseInt(block, 10) % 97 + expanded.substring(block.length);
}
var checksum = String(98 - (parseInt(expanded, 10) % 97));
while (checksum.length < 2) {
checksum = "0" + checksum;
}
return checksum;
}
;
function getAddress(address) {
var result = null;
if (typeof (address) !== "string") {
logger.throwArgumentError("invalid address", "address", address);
}
if (address.match(/^(0x)?[0-9a-fA-F]{40}$/)) {
// Missing the 0x prefix
if (address.substring(0, 2) !== "0x") {
address = "0x" + address;
}
result = getChecksumAddress(address);
// It is a checksummed address with a bad checksum
if (address.match(/([A-F].*[a-f])|([a-f].*[A-F])/) && result !== address) {
logger.throwArgumentError("bad address checksum", "address", address);
}
// Maybe ICAP? (we only support direct mode)
}
else if (address.match(/^XE[0-9]{2}[0-9A-Za-z]{30,31}$/)) {
// It is an ICAP address with a bad checksum
if (address.substring(2, 4) !== ibanChecksum(address)) {
logger.throwArgumentError("bad icap checksum", "address", address);
}
result = (new bn_js_1.BN(address.substring(4), 36)).toString(16);
while (result.length < 40) {
result = "0" + result;
}
result = getChecksumAddress("0x" + result);
}
else {
logger.throwArgumentError("invalid address", "address", address);
}
return result;
}
exports.getAddress = getAddress;
function isAddress(address) {
try {
getAddress(address);
return true;
}
catch (error) { }
return false;
}
exports.isAddress = isAddress;
function getIcapAddress(address) {
var base36 = (new bn_js_1.BN(getAddress(address).substring(2), 16)).toString(36).toUpperCase();
while (base36.length < 30) {
base36 = "0" + base36;
}
return "XE" + ibanChecksum("XE00" + base36) + base36;
}
exports.getIcapAddress = getIcapAddress;
// http://ethereum.stackexchange.com/questions/760/how-is-the-address-of-an-ethereum-contract-computed
function getContractAddress(transaction) {
var from = null;
try {
from = getAddress(transaction.from);
}
catch (error) {
logger.throwArgumentError("missing from address", "transaction", transaction);
}
var nonce = bytes_1.stripZeros(bytes_1.arrayify(bignumber_1.BigNumber.from(transaction.nonce).toHexString()));
return getAddress(bytes_1.hexDataSlice(keccak256_1.keccak256(rlp_1.encode([from, nonce])), 12));
}
exports.getContractAddress = getContractAddress;
function getCreate2Address(from, salt, initCodeHash) {
if (bytes_1.hexDataLength(salt) !== 32) {
logger.throwArgumentError("salt must be 32 bytes", "salt", salt);
}
if (bytes_1.hexDataLength(initCodeHash) !== 32) {
logger.throwArgumentError("initCodeHash must be 32 bytes", "initCodeHash", initCodeHash);
}
return getAddress(bytes_1.hexDataSlice(keccak256_1.keccak256(bytes_1.concat(["0xff", getAddress(from), salt, initCodeHash])), 12));
}
exports.getCreate2Address = getCreate2Address;
//# sourceMappingURL=index.js.map
-70
View File
@@ -1,70 +0,0 @@
{
"_from": "@ethersproject/address@^5.0.4",
"_id": "@ethersproject/address@5.0.5",
"_inBundle": false,
"_integrity": "sha512-DpkQ6rwk9jTefrRsJzEm6nhRiJd9pvhn1xN0rw5N/jswXG5r7BLk/GVA0mMAVWAsYfvi2xSc5L41FMox43RYEA==",
"_location": "/@ethersproject/address",
"_phantomChildren": {},
"_requested": {
"type": "range",
"registry": true,
"raw": "@ethersproject/address@^5.0.4",
"name": "@ethersproject/address",
"escapedName": "@ethersproject%2faddress",
"scope": "@ethersproject",
"rawSpec": "^5.0.4",
"saveSpec": null,
"fetchSpec": "^5.0.4"
},
"_requiredBy": [
"/@ethersproject/abi",
"/@ethersproject/hash",
"/@ethersproject/transactions"
],
"_resolved": "https://registry.npmjs.org/@ethersproject/address/-/address-5.0.5.tgz",
"_shasum": "2caa65f6b7125015395b1b54c985ee0b27059cc7",
"_spec": "@ethersproject/address@^5.0.4",
"_where": "C:\\Users\\Luis\\source\\repos\\AAMasters\\BackendServers\\node_modules\\@ethersproject\\transactions",
"author": {
"name": "Richard Moore",
"email": "me@ricmoo.com"
},
"bugs": {
"url": "https://github.com/ethers-io/ethers.js/issues"
},
"bundleDependencies": false,
"dependencies": {
"@ethersproject/bignumber": "^5.0.7",
"@ethersproject/bytes": "^5.0.4",
"@ethersproject/keccak256": "^5.0.3",
"@ethersproject/logger": "^5.0.5",
"@ethersproject/rlp": "^5.0.3",
"bn.js": "^4.4.0"
},
"deprecated": false,
"description": "Utilities for handling Ethereum Addresses for ethers.",
"ethereum": "donations.ethers.eth",
"gitHead": "ffa4a2d0549fe2c606bda3130f4a3f3d788f8dcf",
"homepage": "https://github.com/ethers-io/ethers.js#readme",
"keywords": [
"Ethereum",
"ethers"
],
"license": "MIT",
"main": "./lib/index.js",
"module": "./lib.esm/index.js",
"name": "@ethersproject/address",
"publishConfig": {
"access": "public"
},
"repository": {
"type": "git",
"url": "git://github.com/ethers-io/ethers.js.git"
},
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"tarballHash": "0xd6263c8653bc6784fed703b8a30075630c544e3861f43ed5b49ab56ffb5d4808",
"types": "./lib/index.d.ts",
"version": "5.0.5"
}
-2
View File
@@ -1,2 +0,0 @@
export const version = "base64/5.0.4";
//# sourceMappingURL=_version.js.map
-19
View File
@@ -1,19 +0,0 @@
"use strict";
import { arrayify } from "@ethersproject/bytes";
export function decode(textData) {
textData = atob(textData);
const data = [];
for (let i = 0; i < textData.length; i++) {
data.push(textData.charCodeAt(i));
}
return arrayify(data);
}
export function encode(data) {
data = arrayify(data);
let textData = "";
for (let i = 0; i < data.length; i++) {
textData += String.fromCharCode(data[i]);
}
return btoa(textData);
}
//# sourceMappingURL=browser.js.map
-10
View File
@@ -1,10 +0,0 @@
"use strict";
import { arrayify } from "@ethersproject/bytes";
export function decode(textData) {
return arrayify(new Uint8Array(Buffer.from(textData, "base64")));
}
;
export function encode(data) {
return Buffer.from(arrayify(data)).toString("base64");
}
//# sourceMappingURL=index.js.map
-4
View File
@@ -1,4 +0,0 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.version = "base64/5.0.4";
//# sourceMappingURL=_version.js.map
-22
View File
@@ -1,22 +0,0 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var bytes_1 = require("@ethersproject/bytes");
function decode(textData) {
textData = atob(textData);
var data = [];
for (var i = 0; i < textData.length; i++) {
data.push(textData.charCodeAt(i));
}
return bytes_1.arrayify(data);
}
exports.decode = decode;
function encode(data) {
data = bytes_1.arrayify(data);
var textData = "";
for (var i = 0; i < data.length; i++) {
textData += String.fromCharCode(data[i]);
}
return btoa(textData);
}
exports.encode = encode;
//# sourceMappingURL=browser.js.map
-13
View File
@@ -1,13 +0,0 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var bytes_1 = require("@ethersproject/bytes");
function decode(textData) {
return bytes_1.arrayify(new Uint8Array(Buffer.from(textData, "base64")));
}
exports.decode = decode;
;
function encode(data) {
return Buffer.from(bytes_1.arrayify(data)).toString("base64");
}
exports.encode = encode;
//# sourceMappingURL=index.js.map
-66
View File
@@ -1,66 +0,0 @@
{
"_from": "@ethersproject/base64@^5.0.3",
"_id": "@ethersproject/base64@5.0.4",
"_inBundle": false,
"_integrity": "sha512-4KRykQ7BQMeOXfvio1YITwHjxwBzh92UoXIdzxDE1p53CK28bbHPdsPNYo0wl0El7lJAMpT2SOdL0hhbWRnyIA==",
"_location": "/@ethersproject/base64",
"_phantomChildren": {},
"_requested": {
"type": "range",
"registry": true,
"raw": "@ethersproject/base64@^5.0.3",
"name": "@ethersproject/base64",
"escapedName": "@ethersproject%2fbase64",
"scope": "@ethersproject",
"rawSpec": "^5.0.3",
"saveSpec": null,
"fetchSpec": "^5.0.3"
},
"_requiredBy": [
"/@ethersproject/web"
],
"_resolved": "https://registry.npmjs.org/@ethersproject/base64/-/base64-5.0.4.tgz",
"_shasum": "b0d8fdbf3dda977cf546dcd35725a7b1d5256caa",
"_spec": "@ethersproject/base64@^5.0.3",
"_where": "C:\\Users\\Luis\\source\\repos\\AAMasters\\BackendServers\\node_modules\\@ethersproject\\web",
"author": {
"name": "Richard Moore",
"email": "me@ricmoo.com"
},
"browser": "./lib/browser.js",
"browser.esm": "./lib.esm/browser.js",
"browser.umd": "./lib/browser.js",
"bugs": {
"url": "https://github.com/ethers-io/ethers.js/issues"
},
"bundleDependencies": false,
"dependencies": {
"@ethersproject/bytes": "^5.0.4"
},
"deprecated": false,
"description": "Base64 coder.",
"ethereum": "donations.ethers.eth",
"gitHead": "ffa4a2d0549fe2c606bda3130f4a3f3d788f8dcf",
"homepage": "https://github.com/ethers-io/ethers.js#readme",
"keywords": [
"Ethereum",
"ethers"
],
"license": "MIT",
"main": "./lib/index.js",
"module": "./lib.esm/index.js",
"name": "@ethersproject/base64",
"publishConfig": {
"access": "public"
},
"repository": {
"type": "git",
"url": "git://github.com/ethers-io/ethers.js.git"
},
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"tarballHash": "0xf9edd66aa5131bf0bca2ea188265e0e333d781e4b0ef5e92090a7cef8556cb30",
"types": "./lib/index.d.ts",
"version": "5.0.4"
}
-2
View File
@@ -1,2 +0,0 @@
export const version = "bignumber/5.0.8";
//# sourceMappingURL=_version.js.map
-275
View File
@@ -1,275 +0,0 @@
"use strict";
/**
* BigNumber
*
* A wrapper around the BN.js object. We use the BN.js library
* because it is used by elliptic, so it is required regardles.
*
*/
import { BN } from "bn.js";
import { hexlify, isBytes, isHexString } from "@ethersproject/bytes";
import { Logger } from "@ethersproject/logger";
import { version } from "./_version";
const logger = new Logger(version);
const _constructorGuard = {};
const MAX_SAFE = 0x1fffffffffffff;
export function isBigNumberish(value) {
return (value != null) && (BigNumber.isBigNumber(value) ||
(typeof (value) === "number" && (value % 1) === 0) ||
(typeof (value) === "string" && !!value.match(/^-?[0-9]+$/)) ||
isHexString(value) ||
(typeof (value) === "bigint") ||
isBytes(value));
}
export class BigNumber {
constructor(constructorGuard, hex) {
logger.checkNew(new.target, BigNumber);
if (constructorGuard !== _constructorGuard) {
logger.throwError("cannot call constructor directly; use BigNumber.from", Logger.errors.UNSUPPORTED_OPERATION, {
operation: "new (BigNumber)"
});
}
this._hex = hex;
this._isBigNumber = true;
Object.freeze(this);
}
fromTwos(value) {
return toBigNumber(toBN(this).fromTwos(value));
}
toTwos(value) {
return toBigNumber(toBN(this).toTwos(value));
}
abs() {
if (this._hex[0] === "-") {
return BigNumber.from(this._hex.substring(1));
}
return this;
}
add(other) {
return toBigNumber(toBN(this).add(toBN(other)));
}
sub(other) {
return toBigNumber(toBN(this).sub(toBN(other)));
}
div(other) {
const o = BigNumber.from(other);
if (o.isZero()) {
throwFault("division by zero", "div");
}
return toBigNumber(toBN(this).div(toBN(other)));
}
mul(other) {
return toBigNumber(toBN(this).mul(toBN(other)));
}
mod(other) {
const value = toBN(other);
if (value.isNeg()) {
throwFault("cannot modulo negative values", "mod");
}
return toBigNumber(toBN(this).umod(value));
}
pow(other) {
const value = toBN(other);
if (value.isNeg()) {
throwFault("cannot raise to negative values", "pow");
}
return toBigNumber(toBN(this).pow(value));
}
and(other) {
const value = toBN(other);
if (this.isNegative() || value.isNeg()) {
throwFault("cannot 'and' negative values", "and");
}
return toBigNumber(toBN(this).and(value));
}
or(other) {
const value = toBN(other);
if (this.isNegative() || value.isNeg()) {
throwFault("cannot 'or' negative values", "or");
}
return toBigNumber(toBN(this).or(value));
}
xor(other) {
const value = toBN(other);
if (this.isNegative() || value.isNeg()) {
throwFault("cannot 'xor' negative values", "xor");
}
return toBigNumber(toBN(this).xor(value));
}
mask(value) {
if (this.isNegative() || value < 0) {
throwFault("cannot mask negative values", "mask");
}
return toBigNumber(toBN(this).maskn(value));
}
shl(value) {
if (this.isNegative() || value < 0) {
throwFault("cannot shift negative values", "shl");
}
return toBigNumber(toBN(this).shln(value));
}
shr(value) {
if (this.isNegative() || value < 0) {
throwFault("cannot shift negative values", "shr");
}
return toBigNumber(toBN(this).shrn(value));
}
eq(other) {
return toBN(this).eq(toBN(other));
}
lt(other) {
return toBN(this).lt(toBN(other));
}
lte(other) {
return toBN(this).lte(toBN(other));
}
gt(other) {
return toBN(this).gt(toBN(other));
}
gte(other) {
return toBN(this).gte(toBN(other));
}
isNegative() {
return (this._hex[0] === "-");
}
isZero() {
return toBN(this).isZero();
}
toNumber() {
try {
return toBN(this).toNumber();
}
catch (error) {
throwFault("overflow", "toNumber", this.toString());
}
return null;
}
toString() {
// Lots of people expect this, which we do not support, so check
if (arguments.length !== 0) {
logger.throwError("bigNumber.toString does not accept parameters", Logger.errors.UNEXPECTED_ARGUMENT, {});
}
return toBN(this).toString(10);
}
toHexString() {
return this._hex;
}
toJSON(key) {
return { type: "BigNumber", hex: this.toHexString() };
}
static from(value) {
if (value instanceof BigNumber) {
return value;
}
if (typeof (value) === "string") {
if (value.match(/^-?0x[0-9a-f]+$/i)) {
return new BigNumber(_constructorGuard, toHex(value));
}
if (value.match(/^-?[0-9]+$/)) {
return new BigNumber(_constructorGuard, toHex(new BN(value)));
}
return logger.throwArgumentError("invalid BigNumber string", "value", value);
}
if (typeof (value) === "number") {
if (value % 1) {
throwFault("underflow", "BigNumber.from", value);
}
if (value >= MAX_SAFE || value <= -MAX_SAFE) {
throwFault("overflow", "BigNumber.from", value);
}
return BigNumber.from(String(value));
}
const anyValue = value;
if (typeof (anyValue) === "bigint") {
return BigNumber.from(anyValue.toString());
}
if (isBytes(anyValue)) {
return BigNumber.from(hexlify(anyValue));
}
if (anyValue) {
// Hexable interface (takes piority)
if (anyValue.toHexString) {
const hex = anyValue.toHexString();
if (typeof (hex) === "string") {
return BigNumber.from(hex);
}
}
else {
// For now, handle legacy JSON-ified values (goes away in v6)
let hex = anyValue._hex;
// New-form JSON
if (hex == null && anyValue.type === "BigNumber") {
hex = anyValue.hex;
}
if (typeof (hex) === "string") {
if (isHexString(hex) || (hex[0] === "-" && isHexString(hex.substring(1)))) {
return BigNumber.from(hex);
}
}
}
}
return logger.throwArgumentError("invalid BigNumber value", "value", value);
}
static isBigNumber(value) {
return !!(value && value._isBigNumber);
}
}
// Normalize the hex string
function toHex(value) {
// For BN, call on the hex string
if (typeof (value) !== "string") {
return toHex(value.toString(16));
}
// If negative, prepend the negative sign to the normalized positive value
if (value[0] === "-") {
// Strip off the negative sign
value = value.substring(1);
// Cannot have mulitple negative signs (e.g. "--0x04")
if (value[0] === "-") {
logger.throwArgumentError("invalid hex", "value", value);
}
// Call toHex on the positive component
value = toHex(value);
// Do not allow "-0x00"
if (value === "0x00") {
return value;
}
// Negate the value
return "-" + value;
}
// Add a "0x" prefix if missing
if (value.substring(0, 2) !== "0x") {
value = "0x" + value;
}
// Normalize zero
if (value === "0x") {
return "0x00";
}
// Make the string even length
if (value.length % 2) {
value = "0x0" + value.substring(2);
}
// Trim to smallest even-length string
while (value.length > 4 && value.substring(0, 4) === "0x00") {
value = "0x" + value.substring(4);
}
return value;
}
function toBigNumber(value) {
return BigNumber.from(toHex(value));
}
function toBN(value) {
const hex = BigNumber.from(value).toHexString();
if (hex[0] === "-") {
return (new BN("-" + hex.substring(3), 16));
}
return new BN(hex.substring(2), 16);
}
function throwFault(fault, operation, value) {
const params = { fault: fault, operation: operation };
if (value != null) {
params.value = value;
}
return logger.throwError(fault, Logger.errors.NUMERIC_FAULT, params);
}
//# sourceMappingURL=bignumber.js.map
-339
View File
@@ -1,339 +0,0 @@
"use strict";
import { arrayify, hexZeroPad, isBytes } from "@ethersproject/bytes";
import { Logger } from "@ethersproject/logger";
import { version } from "./_version";
const logger = new Logger(version);
import { BigNumber, isBigNumberish } from "./bignumber";
const _constructorGuard = {};
const Zero = BigNumber.from(0);
const NegativeOne = BigNumber.from(-1);
function throwFault(message, fault, operation, value) {
const params = { fault: fault, operation: operation };
if (value !== undefined) {
params.value = value;
}
return logger.throwError(message, Logger.errors.NUMERIC_FAULT, params);
}
// Constant to pull zeros from for multipliers
let zeros = "0";
while (zeros.length < 256) {
zeros += zeros;
}
// Returns a string "1" followed by decimal "0"s
function getMultiplier(decimals) {
if (typeof (decimals) !== "number") {
try {
decimals = BigNumber.from(decimals).toNumber();
}
catch (e) { }
}
if (typeof (decimals) === "number" && decimals >= 0 && decimals <= 256 && !(decimals % 1)) {
return ("1" + zeros.substring(0, decimals));
}
return logger.throwArgumentError("invalid decimal size", "decimals", decimals);
}
export function formatFixed(value, decimals) {
if (decimals == null) {
decimals = 0;
}
const multiplier = getMultiplier(decimals);
// Make sure wei is a big number (convert as necessary)
value = BigNumber.from(value);
const negative = value.lt(Zero);
if (negative) {
value = value.mul(NegativeOne);
}
let fraction = value.mod(multiplier).toString();
while (fraction.length < multiplier.length - 1) {
fraction = "0" + fraction;
}
// Strip training 0
fraction = fraction.match(/^([0-9]*[1-9]|0)(0*)/)[1];
const whole = value.div(multiplier).toString();
value = whole + "." + fraction;
if (negative) {
value = "-" + value;
}
return value;
}
export function parseFixed(value, decimals) {
if (decimals == null) {
decimals = 0;
}
const multiplier = getMultiplier(decimals);
if (typeof (value) !== "string" || !value.match(/^-?[0-9.,]+$/)) {
logger.throwArgumentError("invalid decimal value", "value", value);
}
if (multiplier.length - 1 === 0) {
return BigNumber.from(value);
}
// Is it negative?
const negative = (value.substring(0, 1) === "-");
if (negative) {
value = value.substring(1);
}
if (value === ".") {
logger.throwArgumentError("missing value", "value", value);
}
// Split it into a whole and fractional part
const comps = value.split(".");
if (comps.length > 2) {
logger.throwArgumentError("too many decimal points", "value", value);
}
let whole = comps[0], fraction = comps[1];
if (!whole) {
whole = "0";
}
if (!fraction) {
fraction = "0";
}
// Prevent underflow
if (fraction.length > multiplier.length - 1) {
throwFault("fractional component exceeds decimals", "underflow", "parseFixed");
}
// Fully pad the string with zeros to get to wei
while (fraction.length < multiplier.length - 1) {
fraction += "0";
}
const wholeValue = BigNumber.from(whole);
const fractionValue = BigNumber.from(fraction);
let wei = (wholeValue.mul(multiplier)).add(fractionValue);
if (negative) {
wei = wei.mul(NegativeOne);
}
return wei;
}
export class FixedFormat {
constructor(constructorGuard, signed, width, decimals) {
if (constructorGuard !== _constructorGuard) {
logger.throwError("cannot use FixedFormat constructor; use FixedFormat.from", Logger.errors.UNSUPPORTED_OPERATION, {
operation: "new FixedFormat"
});
}
this.signed = signed;
this.width = width;
this.decimals = decimals;
this.name = (signed ? "" : "u") + "fixed" + String(width) + "x" + String(decimals);
this._multiplier = getMultiplier(decimals);
Object.freeze(this);
}
static from(value) {
if (value instanceof FixedFormat) {
return value;
}
let signed = true;
let width = 128;
let decimals = 18;
if (typeof (value) === "string") {
if (value === "fixed") {
// defaults...
}
else if (value === "ufixed") {
signed = false;
}
else if (value != null) {
const match = value.match(/^(u?)fixed([0-9]+)x([0-9]+)$/);
if (!match) {
logger.throwArgumentError("invalid fixed format", "format", value);
}
signed = (match[1] !== "u");
width = parseInt(match[2]);
decimals = parseInt(match[3]);
}
}
else if (value) {
const check = (key, type, defaultValue) => {
if (value[key] == null) {
return defaultValue;
}
if (typeof (value[key]) !== type) {
logger.throwArgumentError("invalid fixed format (" + key + " not " + type + ")", "format." + key, value[key]);
}
return value[key];
};
signed = check("signed", "boolean", signed);
width = check("width", "number", width);
decimals = check("decimals", "number", decimals);
}
if (width % 8) {
logger.throwArgumentError("invalid fixed format width (not byte aligned)", "format.width", width);
}
if (decimals > 80) {
logger.throwArgumentError("invalid fixed format (decimals too large)", "format.decimals", decimals);
}
return new FixedFormat(_constructorGuard, signed, width, decimals);
}
}
export class FixedNumber {
constructor(constructorGuard, hex, value, format) {
logger.checkNew(new.target, FixedNumber);
if (constructorGuard !== _constructorGuard) {
logger.throwError("cannot use FixedNumber constructor; use FixedNumber.from", Logger.errors.UNSUPPORTED_OPERATION, {
operation: "new FixedFormat"
});
}
this.format = format;
this._hex = hex;
this._value = value;
this._isFixedNumber = true;
Object.freeze(this);
}
_checkFormat(other) {
if (this.format.name !== other.format.name) {
logger.throwArgumentError("incompatible format; use fixedNumber.toFormat", "other", other);
}
}
addUnsafe(other) {
this._checkFormat(other);
const a = parseFixed(this._value, this.format.decimals);
const b = parseFixed(other._value, other.format.decimals);
return FixedNumber.fromValue(a.add(b), this.format.decimals, this.format);
}
subUnsafe(other) {
this._checkFormat(other);
const a = parseFixed(this._value, this.format.decimals);
const b = parseFixed(other._value, other.format.decimals);
return FixedNumber.fromValue(a.sub(b), this.format.decimals, this.format);
}
mulUnsafe(other) {
this._checkFormat(other);
const a = parseFixed(this._value, this.format.decimals);
const b = parseFixed(other._value, other.format.decimals);
return FixedNumber.fromValue(a.mul(b).div(this.format._multiplier), this.format.decimals, this.format);
}
divUnsafe(other) {
this._checkFormat(other);
const a = parseFixed(this._value, this.format.decimals);
const b = parseFixed(other._value, other.format.decimals);
return FixedNumber.fromValue(a.mul(this.format._multiplier).div(b), this.format.decimals, this.format);
}
floor() {
let comps = this.toString().split(".");
let result = FixedNumber.from(comps[0], this.format);
const hasFraction = !comps[1].match(/^(0*)$/);
if (this.isNegative() && hasFraction) {
result = result.subUnsafe(ONE);
}
return result;
}
ceiling() {
let comps = this.toString().split(".");
let result = FixedNumber.from(comps[0], this.format);
const hasFraction = !comps[1].match(/^(0*)$/);
if (!this.isNegative() && hasFraction) {
result = result.addUnsafe(ONE);
}
return result;
}
// @TODO: Support other rounding algorithms
round(decimals) {
if (decimals == null) {
decimals = 0;
}
// If we are already in range, we're done
let comps = this.toString().split(".");
if (decimals < 0 || decimals > 80 || (decimals % 1)) {
logger.throwArgumentError("invalid decimal count", "decimals", decimals);
}
if (comps[1].length <= decimals) {
return this;
}
const factor = FixedNumber.from("1" + zeros.substring(0, decimals));
return this.mulUnsafe(factor).addUnsafe(BUMP).floor().divUnsafe(factor);
}
isZero() {
return (this._value === "0.0");
}
isNegative() {
return (this._value[0] === "-");
}
toString() { return this._value; }
toHexString(width) {
if (width == null) {
return this._hex;
}
if (width % 8) {
logger.throwArgumentError("invalid byte width", "width", width);
}
const hex = BigNumber.from(this._hex).fromTwos(this.format.width).toTwos(width).toHexString();
return hexZeroPad(hex, width / 8);
}
toUnsafeFloat() { return parseFloat(this.toString()); }
toFormat(format) {
return FixedNumber.fromString(this._value, format);
}
static fromValue(value, decimals, format) {
// If decimals looks more like a format, and there is no format, shift the parameters
if (format == null && decimals != null && !isBigNumberish(decimals)) {
format = decimals;
decimals = null;
}
if (decimals == null) {
decimals = 0;
}
if (format == null) {
format = "fixed";
}
return FixedNumber.fromString(formatFixed(value, decimals), FixedFormat.from(format));
}
static fromString(value, format) {
if (format == null) {
format = "fixed";
}
const fixedFormat = FixedFormat.from(format);
const numeric = parseFixed(value, fixedFormat.decimals);
if (!fixedFormat.signed && numeric.lt(Zero)) {
throwFault("unsigned value cannot be negative", "overflow", "value", value);
}
let hex = null;
if (fixedFormat.signed) {
hex = numeric.toTwos(fixedFormat.width).toHexString();
}
else {
hex = numeric.toHexString();
hex = hexZeroPad(hex, fixedFormat.width / 8);
}
const decimal = formatFixed(numeric, fixedFormat.decimals);
return new FixedNumber(_constructorGuard, hex, decimal, fixedFormat);
}
static fromBytes(value, format) {
if (format == null) {
format = "fixed";
}
const fixedFormat = FixedFormat.from(format);
if (arrayify(value).length > fixedFormat.width / 8) {
throw new Error("overflow");
}
let numeric = BigNumber.from(value);
if (fixedFormat.signed) {
numeric = numeric.fromTwos(fixedFormat.width);
}
const hex = numeric.toTwos((fixedFormat.signed ? 0 : 1) + fixedFormat.width).toHexString();
const decimal = formatFixed(numeric, fixedFormat.decimals);
return new FixedNumber(_constructorGuard, hex, decimal, fixedFormat);
}
static from(value, format) {
if (typeof (value) === "string") {
return FixedNumber.fromString(value, format);
}
if (isBytes(value)) {
return FixedNumber.fromBytes(value, format);
}
try {
return FixedNumber.fromValue(value, 0, format);
}
catch (error) {
// Allow NUMERIC_FAULT to bubble up
if (error.code !== Logger.errors.INVALID_ARGUMENT) {
throw error;
}
}
return logger.throwArgumentError("invalid FixedNumber value", "value", value);
}
static isFixedNumber(value) {
return !!(value && value._isFixedNumber);
}
}
const ONE = FixedNumber.from(1);
const BUMP = FixedNumber.from("0.5");
//# sourceMappingURL=fixednumber.js.map
-3
View File
@@ -1,3 +0,0 @@
export { BigNumber } from "./bignumber";
export { formatFixed, FixedFormat, FixedNumber, parseFixed } from "./fixednumber";
//# sourceMappingURL=index.js.map
-4
View File
@@ -1,4 +0,0 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.version = "bignumber/5.0.8";
//# sourceMappingURL=_version.js.map
-280
View File
@@ -1,280 +0,0 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
/**
* BigNumber
*
* A wrapper around the BN.js object. We use the BN.js library
* because it is used by elliptic, so it is required regardles.
*
*/
var bn_js_1 = require("bn.js");
var bytes_1 = require("@ethersproject/bytes");
var logger_1 = require("@ethersproject/logger");
var _version_1 = require("./_version");
var logger = new logger_1.Logger(_version_1.version);
var _constructorGuard = {};
var MAX_SAFE = 0x1fffffffffffff;
function isBigNumberish(value) {
return (value != null) && (BigNumber.isBigNumber(value) ||
(typeof (value) === "number" && (value % 1) === 0) ||
(typeof (value) === "string" && !!value.match(/^-?[0-9]+$/)) ||
bytes_1.isHexString(value) ||
(typeof (value) === "bigint") ||
bytes_1.isBytes(value));
}
exports.isBigNumberish = isBigNumberish;
var BigNumber = /** @class */ (function () {
function BigNumber(constructorGuard, hex) {
var _newTarget = this.constructor;
logger.checkNew(_newTarget, BigNumber);
if (constructorGuard !== _constructorGuard) {
logger.throwError("cannot call constructor directly; use BigNumber.from", logger_1.Logger.errors.UNSUPPORTED_OPERATION, {
operation: "new (BigNumber)"
});
}
this._hex = hex;
this._isBigNumber = true;
Object.freeze(this);
}
BigNumber.prototype.fromTwos = function (value) {
return toBigNumber(toBN(this).fromTwos(value));
};
BigNumber.prototype.toTwos = function (value) {
return toBigNumber(toBN(this).toTwos(value));
};
BigNumber.prototype.abs = function () {
if (this._hex[0] === "-") {
return BigNumber.from(this._hex.substring(1));
}
return this;
};
BigNumber.prototype.add = function (other) {
return toBigNumber(toBN(this).add(toBN(other)));
};
BigNumber.prototype.sub = function (other) {
return toBigNumber(toBN(this).sub(toBN(other)));
};
BigNumber.prototype.div = function (other) {
var o = BigNumber.from(other);
if (o.isZero()) {
throwFault("division by zero", "div");
}
return toBigNumber(toBN(this).div(toBN(other)));
};
BigNumber.prototype.mul = function (other) {
return toBigNumber(toBN(this).mul(toBN(other)));
};
BigNumber.prototype.mod = function (other) {
var value = toBN(other);
if (value.isNeg()) {
throwFault("cannot modulo negative values", "mod");
}
return toBigNumber(toBN(this).umod(value));
};
BigNumber.prototype.pow = function (other) {
var value = toBN(other);
if (value.isNeg()) {
throwFault("cannot raise to negative values", "pow");
}
return toBigNumber(toBN(this).pow(value));
};
BigNumber.prototype.and = function (other) {
var value = toBN(other);
if (this.isNegative() || value.isNeg()) {
throwFault("cannot 'and' negative values", "and");
}
return toBigNumber(toBN(this).and(value));
};
BigNumber.prototype.or = function (other) {
var value = toBN(other);
if (this.isNegative() || value.isNeg()) {
throwFault("cannot 'or' negative values", "or");
}
return toBigNumber(toBN(this).or(value));
};
BigNumber.prototype.xor = function (other) {
var value = toBN(other);
if (this.isNegative() || value.isNeg()) {
throwFault("cannot 'xor' negative values", "xor");
}
return toBigNumber(toBN(this).xor(value));
};
BigNumber.prototype.mask = function (value) {
if (this.isNegative() || value < 0) {
throwFault("cannot mask negative values", "mask");
}
return toBigNumber(toBN(this).maskn(value));
};
BigNumber.prototype.shl = function (value) {
if (this.isNegative() || value < 0) {
throwFault("cannot shift negative values", "shl");
}
return toBigNumber(toBN(this).shln(value));
};
BigNumber.prototype.shr = function (value) {
if (this.isNegative() || value < 0) {
throwFault("cannot shift negative values", "shr");
}
return toBigNumber(toBN(this).shrn(value));
};
BigNumber.prototype.eq = function (other) {
return toBN(this).eq(toBN(other));
};
BigNumber.prototype.lt = function (other) {
return toBN(this).lt(toBN(other));
};
BigNumber.prototype.lte = function (other) {
return toBN(this).lte(toBN(other));
};
BigNumber.prototype.gt = function (other) {
return toBN(this).gt(toBN(other));
};
BigNumber.prototype.gte = function (other) {
return toBN(this).gte(toBN(other));
};
BigNumber.prototype.isNegative = function () {
return (this._hex[0] === "-");
};
BigNumber.prototype.isZero = function () {
return toBN(this).isZero();
};
BigNumber.prototype.toNumber = function () {
try {
return toBN(this).toNumber();
}
catch (error) {
throwFault("overflow", "toNumber", this.toString());
}
return null;
};
BigNumber.prototype.toString = function () {
// Lots of people expect this, which we do not support, so check
if (arguments.length !== 0) {
logger.throwError("bigNumber.toString does not accept parameters", logger_1.Logger.errors.UNEXPECTED_ARGUMENT, {});
}
return toBN(this).toString(10);
};
BigNumber.prototype.toHexString = function () {
return this._hex;
};
BigNumber.prototype.toJSON = function (key) {
return { type: "BigNumber", hex: this.toHexString() };
};
BigNumber.from = function (value) {
if (value instanceof BigNumber) {
return value;
}
if (typeof (value) === "string") {
if (value.match(/^-?0x[0-9a-f]+$/i)) {
return new BigNumber(_constructorGuard, toHex(value));
}
if (value.match(/^-?[0-9]+$/)) {
return new BigNumber(_constructorGuard, toHex(new bn_js_1.BN(value)));
}
return logger.throwArgumentError("invalid BigNumber string", "value", value);
}
if (typeof (value) === "number") {
if (value % 1) {
throwFault("underflow", "BigNumber.from", value);
}
if (value >= MAX_SAFE || value <= -MAX_SAFE) {
throwFault("overflow", "BigNumber.from", value);
}
return BigNumber.from(String(value));
}
var anyValue = value;
if (typeof (anyValue) === "bigint") {
return BigNumber.from(anyValue.toString());
}
if (bytes_1.isBytes(anyValue)) {
return BigNumber.from(bytes_1.hexlify(anyValue));
}
if (anyValue) {
// Hexable interface (takes piority)
if (anyValue.toHexString) {
var hex = anyValue.toHexString();
if (typeof (hex) === "string") {
return BigNumber.from(hex);
}
}
else {
// For now, handle legacy JSON-ified values (goes away in v6)
var hex = anyValue._hex;
// New-form JSON
if (hex == null && anyValue.type === "BigNumber") {
hex = anyValue.hex;
}
if (typeof (hex) === "string") {
if (bytes_1.isHexString(hex) || (hex[0] === "-" && bytes_1.isHexString(hex.substring(1)))) {
return BigNumber.from(hex);
}
}
}
}
return logger.throwArgumentError("invalid BigNumber value", "value", value);
};
BigNumber.isBigNumber = function (value) {
return !!(value && value._isBigNumber);
};
return BigNumber;
}());
exports.BigNumber = BigNumber;
// Normalize the hex string
function toHex(value) {
// For BN, call on the hex string
if (typeof (value) !== "string") {
return toHex(value.toString(16));
}
// If negative, prepend the negative sign to the normalized positive value
if (value[0] === "-") {
// Strip off the negative sign
value = value.substring(1);
// Cannot have mulitple negative signs (e.g. "--0x04")
if (value[0] === "-") {
logger.throwArgumentError("invalid hex", "value", value);
}
// Call toHex on the positive component
value = toHex(value);
// Do not allow "-0x00"
if (value === "0x00") {
return value;
}
// Negate the value
return "-" + value;
}
// Add a "0x" prefix if missing
if (value.substring(0, 2) !== "0x") {
value = "0x" + value;
}
// Normalize zero
if (value === "0x") {
return "0x00";
}
// Make the string even length
if (value.length % 2) {
value = "0x0" + value.substring(2);
}
// Trim to smallest even-length string
while (value.length > 4 && value.substring(0, 4) === "0x00") {
value = "0x" + value.substring(4);
}
return value;
}
function toBigNumber(value) {
return BigNumber.from(toHex(value));
}
function toBN(value) {
var hex = BigNumber.from(value).toHexString();
if (hex[0] === "-") {
return (new bn_js_1.BN("-" + hex.substring(3), 16));
}
return new bn_js_1.BN(hex.substring(2), 16);
}
function throwFault(fault, operation, value) {
var params = { fault: fault, operation: operation };
if (value != null) {
params.value = value;
}
return logger.throwError(fault, logger_1.Logger.errors.NUMERIC_FAULT, params);
}
//# sourceMappingURL=bignumber.js.map
-347
View File
@@ -1,347 +0,0 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var bytes_1 = require("@ethersproject/bytes");
var logger_1 = require("@ethersproject/logger");
var _version_1 = require("./_version");
var logger = new logger_1.Logger(_version_1.version);
var bignumber_1 = require("./bignumber");
var _constructorGuard = {};
var Zero = bignumber_1.BigNumber.from(0);
var NegativeOne = bignumber_1.BigNumber.from(-1);
function throwFault(message, fault, operation, value) {
var params = { fault: fault, operation: operation };
if (value !== undefined) {
params.value = value;
}
return logger.throwError(message, logger_1.Logger.errors.NUMERIC_FAULT, params);
}
// Constant to pull zeros from for multipliers
var zeros = "0";
while (zeros.length < 256) {
zeros += zeros;
}
// Returns a string "1" followed by decimal "0"s
function getMultiplier(decimals) {
if (typeof (decimals) !== "number") {
try {
decimals = bignumber_1.BigNumber.from(decimals).toNumber();
}
catch (e) { }
}
if (typeof (decimals) === "number" && decimals >= 0 && decimals <= 256 && !(decimals % 1)) {
return ("1" + zeros.substring(0, decimals));
}
return logger.throwArgumentError("invalid decimal size", "decimals", decimals);
}
function formatFixed(value, decimals) {
if (decimals == null) {
decimals = 0;
}
var multiplier = getMultiplier(decimals);
// Make sure wei is a big number (convert as necessary)
value = bignumber_1.BigNumber.from(value);
var negative = value.lt(Zero);
if (negative) {
value = value.mul(NegativeOne);
}
var fraction = value.mod(multiplier).toString();
while (fraction.length < multiplier.length - 1) {
fraction = "0" + fraction;
}
// Strip training 0
fraction = fraction.match(/^([0-9]*[1-9]|0)(0*)/)[1];
var whole = value.div(multiplier).toString();
value = whole + "." + fraction;
if (negative) {
value = "-" + value;
}
return value;
}
exports.formatFixed = formatFixed;
function parseFixed(value, decimals) {
if (decimals == null) {
decimals = 0;
}
var multiplier = getMultiplier(decimals);
if (typeof (value) !== "string" || !value.match(/^-?[0-9.,]+$/)) {
logger.throwArgumentError("invalid decimal value", "value", value);
}
if (multiplier.length - 1 === 0) {
return bignumber_1.BigNumber.from(value);
}
// Is it negative?
var negative = (value.substring(0, 1) === "-");
if (negative) {
value = value.substring(1);
}
if (value === ".") {
logger.throwArgumentError("missing value", "value", value);
}
// Split it into a whole and fractional part
var comps = value.split(".");
if (comps.length > 2) {
logger.throwArgumentError("too many decimal points", "value", value);
}
var whole = comps[0], fraction = comps[1];
if (!whole) {
whole = "0";
}
if (!fraction) {
fraction = "0";
}
// Prevent underflow
if (fraction.length > multiplier.length - 1) {
throwFault("fractional component exceeds decimals", "underflow", "parseFixed");
}
// Fully pad the string with zeros to get to wei
while (fraction.length < multiplier.length - 1) {
fraction += "0";
}
var wholeValue = bignumber_1.BigNumber.from(whole);
var fractionValue = bignumber_1.BigNumber.from(fraction);
var wei = (wholeValue.mul(multiplier)).add(fractionValue);
if (negative) {
wei = wei.mul(NegativeOne);
}
return wei;
}
exports.parseFixed = parseFixed;
var FixedFormat = /** @class */ (function () {
function FixedFormat(constructorGuard, signed, width, decimals) {
if (constructorGuard !== _constructorGuard) {
logger.throwError("cannot use FixedFormat constructor; use FixedFormat.from", logger_1.Logger.errors.UNSUPPORTED_OPERATION, {
operation: "new FixedFormat"
});
}
this.signed = signed;
this.width = width;
this.decimals = decimals;
this.name = (signed ? "" : "u") + "fixed" + String(width) + "x" + String(decimals);
this._multiplier = getMultiplier(decimals);
Object.freeze(this);
}
FixedFormat.from = function (value) {
if (value instanceof FixedFormat) {
return value;
}
var signed = true;
var width = 128;
var decimals = 18;
if (typeof (value) === "string") {
if (value === "fixed") {
// defaults...
}
else if (value === "ufixed") {
signed = false;
}
else if (value != null) {
var match = value.match(/^(u?)fixed([0-9]+)x([0-9]+)$/);
if (!match) {
logger.throwArgumentError("invalid fixed format", "format", value);
}
signed = (match[1] !== "u");
width = parseInt(match[2]);
decimals = parseInt(match[3]);
}
}
else if (value) {
var check = function (key, type, defaultValue) {
if (value[key] == null) {
return defaultValue;
}
if (typeof (value[key]) !== type) {
logger.throwArgumentError("invalid fixed format (" + key + " not " + type + ")", "format." + key, value[key]);
}
return value[key];
};
signed = check("signed", "boolean", signed);
width = check("width", "number", width);
decimals = check("decimals", "number", decimals);
}
if (width % 8) {
logger.throwArgumentError("invalid fixed format width (not byte aligned)", "format.width", width);
}
if (decimals > 80) {
logger.throwArgumentError("invalid fixed format (decimals too large)", "format.decimals", decimals);
}
return new FixedFormat(_constructorGuard, signed, width, decimals);
};
return FixedFormat;
}());
exports.FixedFormat = FixedFormat;
var FixedNumber = /** @class */ (function () {
function FixedNumber(constructorGuard, hex, value, format) {
var _newTarget = this.constructor;
logger.checkNew(_newTarget, FixedNumber);
if (constructorGuard !== _constructorGuard) {
logger.throwError("cannot use FixedNumber constructor; use FixedNumber.from", logger_1.Logger.errors.UNSUPPORTED_OPERATION, {
operation: "new FixedFormat"
});
}
this.format = format;
this._hex = hex;
this._value = value;
this._isFixedNumber = true;
Object.freeze(this);
}
FixedNumber.prototype._checkFormat = function (other) {
if (this.format.name !== other.format.name) {
logger.throwArgumentError("incompatible format; use fixedNumber.toFormat", "other", other);
}
};
FixedNumber.prototype.addUnsafe = function (other) {
this._checkFormat(other);
var a = parseFixed(this._value, this.format.decimals);
var b = parseFixed(other._value, other.format.decimals);
return FixedNumber.fromValue(a.add(b), this.format.decimals, this.format);
};
FixedNumber.prototype.subUnsafe = function (other) {
this._checkFormat(other);
var a = parseFixed(this._value, this.format.decimals);
var b = parseFixed(other._value, other.format.decimals);
return FixedNumber.fromValue(a.sub(b), this.format.decimals, this.format);
};
FixedNumber.prototype.mulUnsafe = function (other) {
this._checkFormat(other);
var a = parseFixed(this._value, this.format.decimals);
var b = parseFixed(other._value, other.format.decimals);
return FixedNumber.fromValue(a.mul(b).div(this.format._multiplier), this.format.decimals, this.format);
};
FixedNumber.prototype.divUnsafe = function (other) {
this._checkFormat(other);
var a = parseFixed(this._value, this.format.decimals);
var b = parseFixed(other._value, other.format.decimals);
return FixedNumber.fromValue(a.mul(this.format._multiplier).div(b), this.format.decimals, this.format);
};
FixedNumber.prototype.floor = function () {
var comps = this.toString().split(".");
var result = FixedNumber.from(comps[0], this.format);
var hasFraction = !comps[1].match(/^(0*)$/);
if (this.isNegative() && hasFraction) {
result = result.subUnsafe(ONE);
}
return result;
};
FixedNumber.prototype.ceiling = function () {
var comps = this.toString().split(".");
var result = FixedNumber.from(comps[0], this.format);
var hasFraction = !comps[1].match(/^(0*)$/);
if (!this.isNegative() && hasFraction) {
result = result.addUnsafe(ONE);
}
return result;
};
// @TODO: Support other rounding algorithms
FixedNumber.prototype.round = function (decimals) {
if (decimals == null) {
decimals = 0;
}
// If we are already in range, we're done
var comps = this.toString().split(".");
if (decimals < 0 || decimals > 80 || (decimals % 1)) {
logger.throwArgumentError("invalid decimal count", "decimals", decimals);
}
if (comps[1].length <= decimals) {
return this;
}
var factor = FixedNumber.from("1" + zeros.substring(0, decimals));
return this.mulUnsafe(factor).addUnsafe(BUMP).floor().divUnsafe(factor);
};
FixedNumber.prototype.isZero = function () {
return (this._value === "0.0");
};
FixedNumber.prototype.isNegative = function () {
return (this._value[0] === "-");
};
FixedNumber.prototype.toString = function () { return this._value; };
FixedNumber.prototype.toHexString = function (width) {
if (width == null) {
return this._hex;
}
if (width % 8) {
logger.throwArgumentError("invalid byte width", "width", width);
}
var hex = bignumber_1.BigNumber.from(this._hex).fromTwos(this.format.width).toTwos(width).toHexString();
return bytes_1.hexZeroPad(hex, width / 8);
};
FixedNumber.prototype.toUnsafeFloat = function () { return parseFloat(this.toString()); };
FixedNumber.prototype.toFormat = function (format) {
return FixedNumber.fromString(this._value, format);
};
FixedNumber.fromValue = function (value, decimals, format) {
// If decimals looks more like a format, and there is no format, shift the parameters
if (format == null && decimals != null && !bignumber_1.isBigNumberish(decimals)) {
format = decimals;
decimals = null;
}
if (decimals == null) {
decimals = 0;
}
if (format == null) {
format = "fixed";
}
return FixedNumber.fromString(formatFixed(value, decimals), FixedFormat.from(format));
};
FixedNumber.fromString = function (value, format) {
if (format == null) {
format = "fixed";
}
var fixedFormat = FixedFormat.from(format);
var numeric = parseFixed(value, fixedFormat.decimals);
if (!fixedFormat.signed && numeric.lt(Zero)) {
throwFault("unsigned value cannot be negative", "overflow", "value", value);
}
var hex = null;
if (fixedFormat.signed) {
hex = numeric.toTwos(fixedFormat.width).toHexString();
}
else {
hex = numeric.toHexString();
hex = bytes_1.hexZeroPad(hex, fixedFormat.width / 8);
}
var decimal = formatFixed(numeric, fixedFormat.decimals);
return new FixedNumber(_constructorGuard, hex, decimal, fixedFormat);
};
FixedNumber.fromBytes = function (value, format) {
if (format == null) {
format = "fixed";
}
var fixedFormat = FixedFormat.from(format);
if (bytes_1.arrayify(value).length > fixedFormat.width / 8) {
throw new Error("overflow");
}
var numeric = bignumber_1.BigNumber.from(value);
if (fixedFormat.signed) {
numeric = numeric.fromTwos(fixedFormat.width);
}
var hex = numeric.toTwos((fixedFormat.signed ? 0 : 1) + fixedFormat.width).toHexString();
var decimal = formatFixed(numeric, fixedFormat.decimals);
return new FixedNumber(_constructorGuard, hex, decimal, fixedFormat);
};
FixedNumber.from = function (value, format) {
if (typeof (value) === "string") {
return FixedNumber.fromString(value, format);
}
if (bytes_1.isBytes(value)) {
return FixedNumber.fromBytes(value, format);
}
try {
return FixedNumber.fromValue(value, 0, format);
}
catch (error) {
// Allow NUMERIC_FAULT to bubble up
if (error.code !== logger_1.Logger.errors.INVALID_ARGUMENT) {
throw error;
}
}
return logger.throwArgumentError("invalid FixedNumber value", "value", value);
};
FixedNumber.isFixedNumber = function (value) {
return !!(value && value._isFixedNumber);
};
return FixedNumber;
}());
exports.FixedNumber = FixedNumber;
var ONE = FixedNumber.from(1);
var BUMP = FixedNumber.from("0.5");
//# sourceMappingURL=fixednumber.js.map
-10
View File
@@ -1,10 +0,0 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var bignumber_1 = require("./bignumber");
exports.BigNumber = bignumber_1.BigNumber;
var fixednumber_1 = require("./fixednumber");
exports.formatFixed = fixednumber_1.formatFixed;
exports.FixedFormat = fixednumber_1.FixedFormat;
exports.FixedNumber = fixednumber_1.FixedNumber;
exports.parseFixed = fixednumber_1.parseFixed;
//# sourceMappingURL=index.js.map
-72
View File
@@ -1,72 +0,0 @@
{
"_from": "@ethersproject/bignumber@^5.0.7",
"_id": "@ethersproject/bignumber@5.0.8",
"_inBundle": false,
"_integrity": "sha512-KXFVAFKS1jdTXYN8BE5Oj+ZfPMh28iRdFeNGBVT6cUFdtiPVqeXqc0ggvBqA3A1VoFFGgM7oAeaagA393aORHA==",
"_location": "/@ethersproject/bignumber",
"_phantomChildren": {},
"_requested": {
"type": "range",
"registry": true,
"raw": "@ethersproject/bignumber@^5.0.7",
"name": "@ethersproject/bignumber",
"escapedName": "@ethersproject%2fbignumber",
"scope": "@ethersproject",
"rawSpec": "^5.0.7",
"saveSpec": null,
"fetchSpec": "^5.0.7"
},
"_requiredBy": [
"/@ethersproject/abi",
"/@ethersproject/abstract-provider",
"/@ethersproject/abstract-signer",
"/@ethersproject/address",
"/@ethersproject/constants",
"/@ethersproject/hash",
"/@ethersproject/transactions"
],
"_resolved": "https://registry.npmjs.org/@ethersproject/bignumber/-/bignumber-5.0.8.tgz",
"_shasum": "cee33bd8eb0266176def0d371b45274b1d2c4ec0",
"_spec": "@ethersproject/bignumber@^5.0.7",
"_where": "C:\\Users\\Luis\\source\\repos\\AAMasters\\BackendServers\\node_modules\\@ethersproject\\transactions",
"author": {
"name": "Richard Moore",
"email": "me@ricmoo.com"
},
"bugs": {
"url": "https://github.com/ethers-io/ethers.js/issues"
},
"bundleDependencies": false,
"dependencies": {
"@ethersproject/bytes": "^5.0.4",
"@ethersproject/logger": "^5.0.5",
"bn.js": "^4.4.0"
},
"deprecated": false,
"description": "BigNumber library used in ethers.js.",
"ethereum": "donations.ethers.eth",
"gitHead": "ffa4a2d0549fe2c606bda3130f4a3f3d788f8dcf",
"homepage": "https://github.com/ethers-io/ethers.js#readme",
"keywords": [
"Ethereum",
"bignumber",
"bn"
],
"license": "MIT",
"main": "./lib/index.js",
"module": "./lib.esm/index.js",
"name": "@ethersproject/bignumber",
"publishConfig": {
"access": "public"
},
"repository": {
"type": "git",
"url": "git://github.com/ethers-io/ethers.js.git"
},
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"tarballHash": "0x13de0d9c0138d0d056ed658b8f8744fab45fcdf4b52dcd9456bfd7285a4288ce",
"types": "./lib/index.d.ts",
"version": "5.0.8"
}
-2
View File
@@ -1,2 +0,0 @@
export const version = "bytes/5.0.5";
//# sourceMappingURL=_version.js.map
-380
View File
@@ -1,380 +0,0 @@
"use strict";
import { Logger } from "@ethersproject/logger";
import { version } from "./_version";
const logger = new Logger(version);
///////////////////////////////
function isHexable(value) {
return !!(value.toHexString);
}
function addSlice(array) {
if (array.slice) {
return array;
}
array.slice = function () {
const args = Array.prototype.slice.call(arguments);
return addSlice(new Uint8Array(Array.prototype.slice.apply(array, args)));
};
return array;
}
export function isBytesLike(value) {
return ((isHexString(value) && !(value.length % 2)) || isBytes(value));
}
export function isBytes(value) {
if (value == null) {
return false;
}
if (value.constructor === Uint8Array) {
return true;
}
if (typeof (value) === "string") {
return false;
}
if (value.length == null) {
return false;
}
for (let i = 0; i < value.length; i++) {
const v = value[i];
if (v < 0 || v >= 256 || (v % 1)) {
return false;
}
}
return true;
}
export function arrayify(value, options) {
if (!options) {
options = {};
}
if (typeof (value) === "number") {
logger.checkSafeUint53(value, "invalid arrayify value");
const result = [];
while (value) {
result.unshift(value & 0xff);
value = parseInt(String(value / 256));
}
if (result.length === 0) {
result.push(0);
}
return addSlice(new Uint8Array(result));
}
if (options.allowMissingPrefix && typeof (value) === "string" && value.substring(0, 2) !== "0x") {
value = "0x" + value;
}
if (isHexable(value)) {
value = value.toHexString();
}
if (isHexString(value)) {
let hex = value.substring(2);
if (hex.length % 2) {
if (options.hexPad === "left") {
hex = "0x0" + hex.substring(2);
}
else if (options.hexPad === "right") {
hex += "0";
}
else {
logger.throwArgumentError("hex data is odd-length", "value", value);
}
}
const result = [];
for (let i = 0; i < hex.length; i += 2) {
result.push(parseInt(hex.substring(i, i + 2), 16));
}
return addSlice(new Uint8Array(result));
}
if (isBytes(value)) {
return addSlice(new Uint8Array(value));
}
return logger.throwArgumentError("invalid arrayify value", "value", value);
}
export function concat(items) {
const objects = items.map(item => arrayify(item));
const length = objects.reduce((accum, item) => (accum + item.length), 0);
const result = new Uint8Array(length);
objects.reduce((offset, object) => {
result.set(object, offset);
return offset + object.length;
}, 0);
return addSlice(result);
}
export function stripZeros(value) {
let result = arrayify(value);
if (result.length === 0) {
return result;
}
// Find the first non-zero entry
let start = 0;
while (start < result.length && result[start] === 0) {
start++;
}
// If we started with zeros, strip them
if (start) {
result = result.slice(start);
}
return result;
}
export function zeroPad(value, length) {
value = arrayify(value);
if (value.length > length) {
logger.throwArgumentError("value out of range", "value", arguments[0]);
}
const result = new Uint8Array(length);
result.set(value, length - value.length);
return addSlice(result);
}
export function isHexString(value, length) {
if (typeof (value) !== "string" || !value.match(/^0x[0-9A-Fa-f]*$/)) {
return false;
}
if (length && value.length !== 2 + 2 * length) {
return false;
}
return true;
}
const HexCharacters = "0123456789abcdef";
export function hexlify(value, options) {
if (!options) {
options = {};
}
if (typeof (value) === "number") {
logger.checkSafeUint53(value, "invalid hexlify value");
let hex = "";
while (value) {
hex = HexCharacters[value & 0x0f] + hex;
value = Math.floor(value / 16);
}
if (hex.length) {
if (hex.length % 2) {
hex = "0" + hex;
}
return "0x" + hex;
}
return "0x00";
}
if (options.allowMissingPrefix && typeof (value) === "string" && value.substring(0, 2) !== "0x") {
value = "0x" + value;
}
if (isHexable(value)) {
return value.toHexString();
}
if (isHexString(value)) {
if (value.length % 2) {
if (options.hexPad === "left") {
value = "0x0" + value.substring(2);
}
else if (options.hexPad === "right") {
value += "0";
}
else {
logger.throwArgumentError("hex data is odd-length", "value", value);
}
}
return value.toLowerCase();
}
if (isBytes(value)) {
let result = "0x";
for (let i = 0; i < value.length; i++) {
let v = value[i];
result += HexCharacters[(v & 0xf0) >> 4] + HexCharacters[v & 0x0f];
}
return result;
}
return logger.throwArgumentError("invalid hexlify value", "value", value);
}
/*
function unoddify(value: BytesLike | Hexable | number): BytesLike | Hexable | number {
if (typeof(value) === "string" && value.length % 2 && value.substring(0, 2) === "0x") {
return "0x0" + value.substring(2);
}
return value;
}
*/
export function hexDataLength(data) {
if (typeof (data) !== "string") {
data = hexlify(data);
}
else if (!isHexString(data) || (data.length % 2)) {
return null;
}
return (data.length - 2) / 2;
}
export function hexDataSlice(data, offset, endOffset) {
if (typeof (data) !== "string") {
data = hexlify(data);
}
else if (!isHexString(data) || (data.length % 2)) {
logger.throwArgumentError("invalid hexData", "value", data);
}
offset = 2 + 2 * offset;
if (endOffset != null) {
return "0x" + data.substring(offset, 2 + 2 * endOffset);
}
return "0x" + data.substring(offset);
}
export function hexConcat(items) {
let result = "0x";
items.forEach((item) => {
result += hexlify(item).substring(2);
});
return result;
}
export function hexValue(value) {
const trimmed = hexStripZeros(hexlify(value, { hexPad: "left" }));
if (trimmed === "0x") {
return "0x0";
}
return trimmed;
}
export function hexStripZeros(value) {
if (typeof (value) !== "string") {
value = hexlify(value);
}
if (!isHexString(value)) {
logger.throwArgumentError("invalid hex string", "value", value);
}
value = value.substring(2);
let offset = 0;
while (offset < value.length && value[offset] === "0") {
offset++;
}
return "0x" + value.substring(offset);
}
export function hexZeroPad(value, length) {
if (typeof (value) !== "string") {
value = hexlify(value);
}
else if (!isHexString(value)) {
logger.throwArgumentError("invalid hex string", "value", value);
}
if (value.length > 2 * length + 2) {
logger.throwArgumentError("value out of range", "value", arguments[1]);
}
while (value.length < 2 * length + 2) {
value = "0x0" + value.substring(2);
}
return value;
}
export function splitSignature(signature) {
const result = {
r: "0x",
s: "0x",
_vs: "0x",
recoveryParam: 0,
v: 0
};
if (isBytesLike(signature)) {
const bytes = arrayify(signature);
if (bytes.length !== 65) {
logger.throwArgumentError("invalid signature string; must be 65 bytes", "signature", signature);
}
// Get the r, s and v
result.r = hexlify(bytes.slice(0, 32));
result.s = hexlify(bytes.slice(32, 64));
result.v = bytes[64];
// Allow a recid to be used as the v
if (result.v < 27) {
if (result.v === 0 || result.v === 1) {
result.v += 27;
}
else {
logger.throwArgumentError("signature invalid v byte", "signature", signature);
}
}
// Compute recoveryParam from v
result.recoveryParam = 1 - (result.v % 2);
// Compute _vs from recoveryParam and s
if (result.recoveryParam) {
bytes[32] |= 0x80;
}
result._vs = hexlify(bytes.slice(32, 64));
}
else {
result.r = signature.r;
result.s = signature.s;
result.v = signature.v;
result.recoveryParam = signature.recoveryParam;
result._vs = signature._vs;
// If the _vs is available, use it to populate missing s, v and recoveryParam
// and verify non-missing s, v and recoveryParam
if (result._vs != null) {
const vs = zeroPad(arrayify(result._vs), 32);
result._vs = hexlify(vs);
// Set or check the recid
const recoveryParam = ((vs[0] >= 128) ? 1 : 0);
if (result.recoveryParam == null) {
result.recoveryParam = recoveryParam;
}
else if (result.recoveryParam !== recoveryParam) {
logger.throwArgumentError("signature recoveryParam mismatch _vs", "signature", signature);
}
// Set or check the s
vs[0] &= 0x7f;
const s = hexlify(vs);
if (result.s == null) {
result.s = s;
}
else if (result.s !== s) {
logger.throwArgumentError("signature v mismatch _vs", "signature", signature);
}
}
// Use recid and v to populate each other
if (result.recoveryParam == null) {
if (result.v == null) {
logger.throwArgumentError("signature missing v and recoveryParam", "signature", signature);
}
else {
result.recoveryParam = 1 - (result.v % 2);
}
}
else {
if (result.v == null) {
result.v = 27 + result.recoveryParam;
}
else if (result.recoveryParam !== (1 - (result.v % 2))) {
logger.throwArgumentError("signature recoveryParam mismatch v", "signature", signature);
}
}
if (result.r == null || !isHexString(result.r)) {
logger.throwArgumentError("signature missing or invalid r", "signature", signature);
}
else {
result.r = hexZeroPad(result.r, 32);
}
if (result.s == null || !isHexString(result.s)) {
logger.throwArgumentError("signature missing or invalid s", "signature", signature);
}
else {
result.s = hexZeroPad(result.s, 32);
}
const vs = arrayify(result.s);
if (vs[0] >= 128) {
logger.throwArgumentError("signature s out of range", "signature", signature);
}
if (result.recoveryParam) {
vs[0] |= 0x80;
}
const _vs = hexlify(vs);
if (result._vs) {
if (!isHexString(result._vs)) {
logger.throwArgumentError("signature invalid _vs", "signature", signature);
}
result._vs = hexZeroPad(result._vs, 32);
}
// Set or check the _vs
if (result._vs == null) {
result._vs = _vs;
}
else if (result._vs !== _vs) {
logger.throwArgumentError("signature _vs mismatch v and s", "signature", signature);
}
}
return result;
}
export function joinSignature(signature) {
signature = splitSignature(signature);
return hexlify(concat([
signature.r,
signature.s,
(signature.recoveryParam ? "0x1c" : "0x1b")
]));
}
//# sourceMappingURL=index.js.map
-4
View File
@@ -1,4 +0,0 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.version = "bytes/5.0.5";
//# sourceMappingURL=_version.js.map
-397
View File
@@ -1,397 +0,0 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var logger_1 = require("@ethersproject/logger");
var _version_1 = require("./_version");
var logger = new logger_1.Logger(_version_1.version);
///////////////////////////////
function isHexable(value) {
return !!(value.toHexString);
}
function addSlice(array) {
if (array.slice) {
return array;
}
array.slice = function () {
var args = Array.prototype.slice.call(arguments);
return addSlice(new Uint8Array(Array.prototype.slice.apply(array, args)));
};
return array;
}
function isBytesLike(value) {
return ((isHexString(value) && !(value.length % 2)) || isBytes(value));
}
exports.isBytesLike = isBytesLike;
function isBytes(value) {
if (value == null) {
return false;
}
if (value.constructor === Uint8Array) {
return true;
}
if (typeof (value) === "string") {
return false;
}
if (value.length == null) {
return false;
}
for (var i = 0; i < value.length; i++) {
var v = value[i];
if (v < 0 || v >= 256 || (v % 1)) {
return false;
}
}
return true;
}
exports.isBytes = isBytes;
function arrayify(value, options) {
if (!options) {
options = {};
}
if (typeof (value) === "number") {
logger.checkSafeUint53(value, "invalid arrayify value");
var result = [];
while (value) {
result.unshift(value & 0xff);
value = parseInt(String(value / 256));
}
if (result.length === 0) {
result.push(0);
}
return addSlice(new Uint8Array(result));
}
if (options.allowMissingPrefix && typeof (value) === "string" && value.substring(0, 2) !== "0x") {
value = "0x" + value;
}
if (isHexable(value)) {
value = value.toHexString();
}
if (isHexString(value)) {
var hex = value.substring(2);
if (hex.length % 2) {
if (options.hexPad === "left") {
hex = "0x0" + hex.substring(2);
}
else if (options.hexPad === "right") {
hex += "0";
}
else {
logger.throwArgumentError("hex data is odd-length", "value", value);
}
}
var result = [];
for (var i = 0; i < hex.length; i += 2) {
result.push(parseInt(hex.substring(i, i + 2), 16));
}
return addSlice(new Uint8Array(result));
}
if (isBytes(value)) {
return addSlice(new Uint8Array(value));
}
return logger.throwArgumentError("invalid arrayify value", "value", value);
}
exports.arrayify = arrayify;
function concat(items) {
var objects = items.map(function (item) { return arrayify(item); });
var length = objects.reduce(function (accum, item) { return (accum + item.length); }, 0);
var result = new Uint8Array(length);
objects.reduce(function (offset, object) {
result.set(object, offset);
return offset + object.length;
}, 0);
return addSlice(result);
}
exports.concat = concat;
function stripZeros(value) {
var result = arrayify(value);
if (result.length === 0) {
return result;
}
// Find the first non-zero entry
var start = 0;
while (start < result.length && result[start] === 0) {
start++;
}
// If we started with zeros, strip them
if (start) {
result = result.slice(start);
}
return result;
}
exports.stripZeros = stripZeros;
function zeroPad(value, length) {
value = arrayify(value);
if (value.length > length) {
logger.throwArgumentError("value out of range", "value", arguments[0]);
}
var result = new Uint8Array(length);
result.set(value, length - value.length);
return addSlice(result);
}
exports.zeroPad = zeroPad;
function isHexString(value, length) {
if (typeof (value) !== "string" || !value.match(/^0x[0-9A-Fa-f]*$/)) {
return false;
}
if (length && value.length !== 2 + 2 * length) {
return false;
}
return true;
}
exports.isHexString = isHexString;
var HexCharacters = "0123456789abcdef";
function hexlify(value, options) {
if (!options) {
options = {};
}
if (typeof (value) === "number") {
logger.checkSafeUint53(value, "invalid hexlify value");
var hex = "";
while (value) {
hex = HexCharacters[value & 0x0f] + hex;
value = Math.floor(value / 16);
}
if (hex.length) {
if (hex.length % 2) {
hex = "0" + hex;
}
return "0x" + hex;
}
return "0x00";
}
if (options.allowMissingPrefix && typeof (value) === "string" && value.substring(0, 2) !== "0x") {
value = "0x" + value;
}
if (isHexable(value)) {
return value.toHexString();
}
if (isHexString(value)) {
if (value.length % 2) {
if (options.hexPad === "left") {
value = "0x0" + value.substring(2);
}
else if (options.hexPad === "right") {
value += "0";
}
else {
logger.throwArgumentError("hex data is odd-length", "value", value);
}
}
return value.toLowerCase();
}
if (isBytes(value)) {
var result = "0x";
for (var i = 0; i < value.length; i++) {
var v = value[i];
result += HexCharacters[(v & 0xf0) >> 4] + HexCharacters[v & 0x0f];
}
return result;
}
return logger.throwArgumentError("invalid hexlify value", "value", value);
}
exports.hexlify = hexlify;
/*
function unoddify(value: BytesLike | Hexable | number): BytesLike | Hexable | number {
if (typeof(value) === "string" && value.length % 2 && value.substring(0, 2) === "0x") {
return "0x0" + value.substring(2);
}
return value;
}
*/
function hexDataLength(data) {
if (typeof (data) !== "string") {
data = hexlify(data);
}
else if (!isHexString(data) || (data.length % 2)) {
return null;
}
return (data.length - 2) / 2;
}
exports.hexDataLength = hexDataLength;
function hexDataSlice(data, offset, endOffset) {
if (typeof (data) !== "string") {
data = hexlify(data);
}
else if (!isHexString(data) || (data.length % 2)) {
logger.throwArgumentError("invalid hexData", "value", data);
}
offset = 2 + 2 * offset;
if (endOffset != null) {
return "0x" + data.substring(offset, 2 + 2 * endOffset);
}
return "0x" + data.substring(offset);
}
exports.hexDataSlice = hexDataSlice;
function hexConcat(items) {
var result = "0x";
items.forEach(function (item) {
result += hexlify(item).substring(2);
});
return result;
}
exports.hexConcat = hexConcat;
function hexValue(value) {
var trimmed = hexStripZeros(hexlify(value, { hexPad: "left" }));
if (trimmed === "0x") {
return "0x0";
}
return trimmed;
}
exports.hexValue = hexValue;
function hexStripZeros(value) {
if (typeof (value) !== "string") {
value = hexlify(value);
}
if (!isHexString(value)) {
logger.throwArgumentError("invalid hex string", "value", value);
}
value = value.substring(2);
var offset = 0;
while (offset < value.length && value[offset] === "0") {
offset++;
}
return "0x" + value.substring(offset);
}
exports.hexStripZeros = hexStripZeros;
function hexZeroPad(value, length) {
if (typeof (value) !== "string") {
value = hexlify(value);
}
else if (!isHexString(value)) {
logger.throwArgumentError("invalid hex string", "value", value);
}
if (value.length > 2 * length + 2) {
logger.throwArgumentError("value out of range", "value", arguments[1]);
}
while (value.length < 2 * length + 2) {
value = "0x0" + value.substring(2);
}
return value;
}
exports.hexZeroPad = hexZeroPad;
function splitSignature(signature) {
var result = {
r: "0x",
s: "0x",
_vs: "0x",
recoveryParam: 0,
v: 0
};
if (isBytesLike(signature)) {
var bytes = arrayify(signature);
if (bytes.length !== 65) {
logger.throwArgumentError("invalid signature string; must be 65 bytes", "signature", signature);
}
// Get the r, s and v
result.r = hexlify(bytes.slice(0, 32));
result.s = hexlify(bytes.slice(32, 64));
result.v = bytes[64];
// Allow a recid to be used as the v
if (result.v < 27) {
if (result.v === 0 || result.v === 1) {
result.v += 27;
}
else {
logger.throwArgumentError("signature invalid v byte", "signature", signature);
}
}
// Compute recoveryParam from v
result.recoveryParam = 1 - (result.v % 2);
// Compute _vs from recoveryParam and s
if (result.recoveryParam) {
bytes[32] |= 0x80;
}
result._vs = hexlify(bytes.slice(32, 64));
}
else {
result.r = signature.r;
result.s = signature.s;
result.v = signature.v;
result.recoveryParam = signature.recoveryParam;
result._vs = signature._vs;
// If the _vs is available, use it to populate missing s, v and recoveryParam
// and verify non-missing s, v and recoveryParam
if (result._vs != null) {
var vs_1 = zeroPad(arrayify(result._vs), 32);
result._vs = hexlify(vs_1);
// Set or check the recid
var recoveryParam = ((vs_1[0] >= 128) ? 1 : 0);
if (result.recoveryParam == null) {
result.recoveryParam = recoveryParam;
}
else if (result.recoveryParam !== recoveryParam) {
logger.throwArgumentError("signature recoveryParam mismatch _vs", "signature", signature);
}
// Set or check the s
vs_1[0] &= 0x7f;
var s = hexlify(vs_1);
if (result.s == null) {
result.s = s;
}
else if (result.s !== s) {
logger.throwArgumentError("signature v mismatch _vs", "signature", signature);
}
}
// Use recid and v to populate each other
if (result.recoveryParam == null) {
if (result.v == null) {
logger.throwArgumentError("signature missing v and recoveryParam", "signature", signature);
}
else {
result.recoveryParam = 1 - (result.v % 2);
}
}
else {
if (result.v == null) {
result.v = 27 + result.recoveryParam;
}
else if (result.recoveryParam !== (1 - (result.v % 2))) {
logger.throwArgumentError("signature recoveryParam mismatch v", "signature", signature);
}
}
if (result.r == null || !isHexString(result.r)) {
logger.throwArgumentError("signature missing or invalid r", "signature", signature);
}
else {
result.r = hexZeroPad(result.r, 32);
}
if (result.s == null || !isHexString(result.s)) {
logger.throwArgumentError("signature missing or invalid s", "signature", signature);
}
else {
result.s = hexZeroPad(result.s, 32);
}
var vs = arrayify(result.s);
if (vs[0] >= 128) {
logger.throwArgumentError("signature s out of range", "signature", signature);
}
if (result.recoveryParam) {
vs[0] |= 0x80;
}
var _vs = hexlify(vs);
if (result._vs) {
if (!isHexString(result._vs)) {
logger.throwArgumentError("signature invalid _vs", "signature", signature);
}
result._vs = hexZeroPad(result._vs, 32);
}
// Set or check the _vs
if (result._vs == null) {
result._vs = _vs;
}
else if (result._vs !== _vs) {
logger.throwArgumentError("signature _vs mismatch v and s", "signature", signature);
}
}
return result;
}
exports.splitSignature = splitSignature;
function joinSignature(signature) {
signature = splitSignature(signature);
return hexlify(concat([
signature.r,
signature.s,
(signature.recoveryParam ? "0x1c" : "0x1b")
]));
}
exports.joinSignature = joinSignature;
//# sourceMappingURL=index.js.map
-77
View File
@@ -1,77 +0,0 @@
{
"_from": "@ethersproject/bytes@^5.0.4",
"_id": "@ethersproject/bytes@5.0.5",
"_inBundle": false,
"_integrity": "sha512-IEj9HpZB+ACS6cZ+QQMTqmu/cnUK2fYNE6ms/PVxjoBjoxc6HCraLpam1KuRvreMy0i523PLmjN8OYeikRdcUQ==",
"_location": "/@ethersproject/bytes",
"_phantomChildren": {},
"_requested": {
"type": "range",
"registry": true,
"raw": "@ethersproject/bytes@^5.0.4",
"name": "@ethersproject/bytes",
"escapedName": "@ethersproject%2fbytes",
"scope": "@ethersproject",
"rawSpec": "^5.0.4",
"saveSpec": null,
"fetchSpec": "^5.0.4"
},
"_requiredBy": [
"/@ethersproject/abi",
"/@ethersproject/abstract-provider",
"/@ethersproject/abstract-signer",
"/@ethersproject/address",
"/@ethersproject/base64",
"/@ethersproject/bignumber",
"/@ethersproject/hash",
"/@ethersproject/keccak256",
"/@ethersproject/rlp",
"/@ethersproject/signing-key",
"/@ethersproject/strings",
"/@ethersproject/transactions",
"/@ethersproject/web"
],
"_resolved": "https://registry.npmjs.org/@ethersproject/bytes/-/bytes-5.0.5.tgz",
"_shasum": "688b70000e550de0c97a151a21f15b87d7f97d7c",
"_spec": "@ethersproject/bytes@^5.0.4",
"_where": "C:\\Users\\Luis\\source\\repos\\AAMasters\\BackendServers\\node_modules\\@ethersproject\\transactions",
"author": {
"name": "Richard Moore",
"email": "me@ricmoo.com"
},
"bugs": {
"url": "https://github.com/ethers-io/ethers.js/issues"
},
"bundleDependencies": false,
"dependencies": {
"@ethersproject/logger": "^5.0.5"
},
"deprecated": false,
"description": "Bytes utility functions for ethers.",
"ethereum": "donations.ethers.eth",
"gitHead": "ffa4a2d0549fe2c606bda3130f4a3f3d788f8dcf",
"homepage": "https://github.com/ethers-io/ethers.js#readme",
"keywords": [
"Ethereum",
"ethers"
],
"license": "MIT",
"main": "./lib/index.js",
"module": "./lib.esm/index.js",
"name": "@ethersproject/bytes",
"publishConfig": {
"access": "public"
},
"repository": {
"type": "git",
"url": "git://github.com/ethers-io/ethers.js.git"
},
"scripts": {
"auto-build": "npm run build -- -w",
"build": "tsc -p ./tsconfig.json",
"test": "echo \"Error: no test specified\" && exit 1"
},
"tarballHash": "0x132538d3d8927299393c28ac01243ebc0e7ea34f5af1feadf23b364745f7c130",
"types": "./lib/index.d.ts",
"version": "5.0.5"
}
-2
View File
@@ -1,2 +0,0 @@
export const version = "constants/5.0.5";
//# sourceMappingURL=_version.js.map
Loaded 100 of 7112 files, more files were not shown because too many files have changed in this diff. Show more