diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml deleted file mode 100644 index 1bb162c0b..000000000 --- a/.gitlab-ci.yml +++ /dev/null @@ -1,44 +0,0 @@ -stages: - - All In One Script - -cache: - key: ${sha1sum package-lock.json} - paths: - - .npm/ - -before_script: - - npm -v - - node -v - - npm ci --cache .npm --prefer-offline - - npm rebuild - -Single Test For Performance: - stage: All In One Script - interruptible: true - resource_group: docker-compose - script: - - docker -v - - docker-compose -v - - echo "rebuild docker-compose ONLY if config was changed" - - cmp --silent docker-compose.yml ~/.runner-cache/docker-compose.yml || - bash -c 'docker-compose down - && docker-compose build - && docker-compose -f docker-compose.yml -f docker-compose.docker.yml up -d - && mkdir -p ~/.runner-cache - && rm -rf ~/.runner-cache/docker-compose.yml - && cp docker-compose.yml ~/.runner-cache/' - - bash -c 'while [[ "$(curl -s -o /dev/null -w ''%{http_code}'' 127.0.0.1:3000)" != "200" ]]; do - if [[ $i < 31 ]] ; - then i=$((i+1)) && sleep 5 && echo "slep... $i"; - else exit 1; fi - ; done' - - npm run service-status - - npm run lint -- --quiet - - npm run test:unit -- --forceExit - - npm run test:integration:headless - - npm run service-status - - ./scripts/checkDaos.sh - - npm run build-travis - only: - variables: - - '$CI_EXTERNAL_PULL_REQUEST_IID == null' diff --git a/CHANGELOG.md b/CHANGELOG.md index 09306f9cb..cfed8fd2d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,10 +1,25 @@ +## 1.0.5 + - Improvements + - Whitelist PrimeDAO Token + - Use arc.js 0.2.82 + - Eliminate unnecessary WebSocket calls to the graph + - Some UI/UX improvements: + - New loader to match Alchemy color + - Rounded borders to proposals, votes and stakes cards in all 4 corners + - Eliminate DAOs pattern background and thinner cards (3 in a row) + + - Bugs Fixed + - Bug where a scheme can be undefined due to an unknown issue + - Updated DAO creator: + - Can't create DAO in xDai + - New DAO URL is now lowercase + ## 1.0.4 - Features Added - Brand new Proposals Page - Improvements - Verify parameters hash - - Whitelist PrimeDAO Token - Use subgraph v41_4 and arc.js 0.2.80 - Some UI/UX improvements - Alchemy 2.0 banners are removed diff --git a/data/tokens.json b/data/tokens.json index b4958b53b..d9a0dbd02 100644 --- a/data/tokens.json +++ b/data/tokens.json @@ -82,12 +82,12 @@ "decimals": 18, "name": "Panvala pan", "symbol": "PAN" + }, + "0xe59064a8185ed1fca1d17999621efedfab4425c9": { + "decimals": 18, + "name": "PrimeDAO Token", + "symbol": "PRIME" } - }, - "0xe59064a8185ed1fca1d17999621efedfab4425c9": { - "decimals": 18, - "name": "PrimeDAO Token", - "symbol": "PRIME" } }, "rinkeby": { diff --git a/package-lock.json b/package-lock.json index 7bf8f4d4a..85f46add1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "alchemy-client", - "version": "1.0.4", + "version": "1.0.5", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -1508,9 +1508,9 @@ } }, "@daostack/arc.js": { - "version": "0.2.80", - "resolved": "https://registry.npmjs.org/@daostack/arc.js/-/arc.js-0.2.80.tgz", - "integrity": "sha512-jwqIp9HrmrDpWREe7coIJC1lclU6c2TbyFnRVybWoI9ufsR6FbC8XuO/Wr6hm3IPNn4wiZePSYnk9FpWYU5bsg==", + "version": "0.2.82", + "resolved": "https://registry.npmjs.org/@daostack/arc.js/-/arc.js-0.2.82.tgz", + "integrity": "sha512-i7Gt4nYnbwC+l56fLQw+u9Eu2n2ggShBcZn5iLJ1qjnDLgExbRkCDg7JEgPUy4srPup2jZKgJm4jkPf1acCS7w==", "requires": { "apollo-cache-inmemory": "^1.6.5", "apollo-client": "^2.6.8", @@ -2477,424 +2477,33 @@ "integrity": "sha512-b0JQb10Lie07iW2/9uKCQSrXif262d6zfYBstCLLJUk0JVA+7o/yLDg5p2+GkjgJbmodjHozIXs4Bi34RRhL8Q==" }, "@dorgtech/daocreator-lib": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@dorgtech/daocreator-lib/-/daocreator-lib-1.0.2.tgz", - "integrity": "sha512-SkZHUSdlhP9ZYnX16yDiaMX4r5uCKUaDOKeB9jzw5I49g3ir02OejeXmyUpc77WjddVCZ9j09TlG+FKxNxmT/A==", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@dorgtech/daocreator-lib/-/daocreator-lib-1.0.4.tgz", + "integrity": "sha512-Kv1X2FW2+PP76eBEtBXTftrWGbxnMOYriTdPArhkrt1MroPrhRAvOsfFQYZrVLZg5GZ1+7mUfiFyluBB0lX3OA==", "requires": { "bn.js": "^5.0.0", "csv": "^5.1.2", "csv-stringify": "^5.3.3", "formstate": "^1.3.0", "jsonschema": "^1.2.5", - "web3": "1.2.4" + "web3": "1.3.1" }, "dependencies": { "bn.js": { "version": "5.1.3", "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.1.3.tgz", "integrity": "sha512-GkTiFpjFtUzU9CbMeJ5iazkCzGL3jrhzerzZIuqLABjbwRaFt33I9tUdSNryIptM+RxDet6OKm2WnLXzW51KsQ==" - }, - "eventemitter3": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.2.tgz", - "integrity": "sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q==" - }, - "get-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", - "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" - }, - "oboe": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/oboe/-/oboe-2.1.4.tgz", - "integrity": "sha1-IMiM2wwVNxuwQRklfU/dNLCqSfY=", - "requires": { - "http-https": "^1.0.0" - } - }, - "p-cancelable": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/p-cancelable/-/p-cancelable-0.3.0.tgz", - "integrity": "sha512-RVbZPLso8+jFeq1MfNvgXtCRED2raz/dKpacfTNxsx6pLEpEomM7gah6VeHSYV3+vo0OAi4MkArtQcWWXuQoyw==" - }, - "prepend-http": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", - "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=" - }, - "swarm-js": { - "version": "0.1.39", - "resolved": "https://registry.npmjs.org/swarm-js/-/swarm-js-0.1.39.tgz", - "integrity": "sha512-QLMqL2rzF6n5s50BptyD6Oi0R1aWlJC5Y17SRIVXRj6OR1DRIPM7nepvrxxkjA1zNzFz6mUOMjfeqeDaWB7OOg==", - "requires": { - "bluebird": "^3.5.0", - "buffer": "^5.0.5", - "decompress": "^4.0.0", - "eth-lib": "^0.1.26", - "fs-extra": "^4.0.2", - "got": "^7.1.0", - "mime-types": "^2.1.16", - "mkdirp-promise": "^5.0.1", - "mock-fs": "^4.1.0", - "setimmediate": "^1.0.5", - "tar": "^4.0.2", - "xhr-request-promise": "^0.1.2" - }, - "dependencies": { - "got": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/got/-/got-7.1.0.tgz", - "integrity": "sha512-Y5WMo7xKKq1muPsxD+KmrR8DH5auG7fBdDVueZwETwV6VytKyU9OX/ddpq2/1hp1vIPvVb4T81dKQz3BivkNLw==", - "requires": { - "decompress-response": "^3.2.0", - "duplexer3": "^0.1.4", - "get-stream": "^3.0.0", - "is-plain-obj": "^1.1.0", - "is-retry-allowed": "^1.0.0", - "is-stream": "^1.0.0", - "isurl": "^1.0.0-alpha5", - "lowercase-keys": "^1.0.0", - "p-cancelable": "^0.3.0", - "p-timeout": "^1.1.1", - "safe-buffer": "^5.0.1", - "timed-out": "^4.0.0", - "url-parse-lax": "^1.0.0", - "url-to-options": "^1.0.1" - } - } - } - }, - "url-parse-lax": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz", - "integrity": "sha1-evjzA2Rem9eaJy56FKxovAYJ2nM=", - "requires": { - "prepend-http": "^1.0.1" - } - }, - "uuid": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", - "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==" - }, - "web3": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/web3/-/web3-1.2.4.tgz", - "integrity": "sha512-xPXGe+w0x0t88Wj+s/dmAdASr3O9wmA9mpZRtixGZxmBexAF0MjfqYM+MS4tVl5s11hMTN3AZb8cDD4VLfC57A==", - "requires": { - "@types/node": "^12.6.1", - "web3-bzz": "1.2.4", - "web3-core": "1.2.4", - "web3-eth": "1.2.4", - "web3-eth-personal": "1.2.4", - "web3-net": "1.2.4", - "web3-shh": "1.2.4", - "web3-utils": "1.2.4" - } - }, - "web3-bzz": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/web3-bzz/-/web3-bzz-1.2.4.tgz", - "integrity": "sha512-MqhAo/+0iQSMBtt3/QI1rU83uvF08sYq8r25+OUZ+4VtihnYsmkkca+rdU0QbRyrXY2/yGIpI46PFdh0khD53A==", - "requires": { - "@types/node": "^10.12.18", - "got": "9.6.0", - "swarm-js": "0.1.39", - "underscore": "1.9.1" - }, - "dependencies": { - "@types/node": { - "version": "10.17.49", - "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.49.tgz", - "integrity": "sha512-PGaJNs5IZz5XgzwJvL/1zRfZB7iaJ5BydZ8/Picm+lUNYoNO9iVTQkVy5eUh0dZDrx3rBOIs3GCbCRmMuYyqwg==" - } - } - }, - "web3-core": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/web3-core/-/web3-core-1.2.4.tgz", - "integrity": "sha512-CHc27sMuET2cs1IKrkz7xzmTdMfZpYswe7f0HcuyneTwS1yTlTnHyqjAaTy0ZygAb/x4iaVox+Gvr4oSAqSI+A==", - "requires": { - "@types/bignumber.js": "^5.0.0", - "@types/bn.js": "^4.11.4", - "@types/node": "^12.6.1", - "web3-core-helpers": "1.2.4", - "web3-core-method": "1.2.4", - "web3-core-requestmanager": "1.2.4", - "web3-utils": "1.2.4" - } - }, - "web3-core-helpers": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/web3-core-helpers/-/web3-core-helpers-1.2.4.tgz", - "integrity": "sha512-U7wbsK8IbZvF3B7S+QMSNP0tni/6VipnJkB0tZVEpHEIV2WWeBHYmZDnULWcsS/x/jn9yKhJlXIxWGsEAMkjiw==", - "requires": { - "underscore": "1.9.1", - "web3-eth-iban": "1.2.4", - "web3-utils": "1.2.4" - } - }, - "web3-core-method": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/web3-core-method/-/web3-core-method-1.2.4.tgz", - "integrity": "sha512-8p9kpL7di2qOVPWgcM08kb+yKom0rxRCMv6m/K+H+yLSxev9TgMbCgMSbPWAHlyiF3SJHw7APFKahK5Z+8XT5A==", - "requires": { - "underscore": "1.9.1", - "web3-core-helpers": "1.2.4", - "web3-core-promievent": "1.2.4", - "web3-core-subscriptions": "1.2.4", - "web3-utils": "1.2.4" - } - }, - "web3-core-promievent": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/web3-core-promievent/-/web3-core-promievent-1.2.4.tgz", - "integrity": "sha512-gEUlm27DewUsfUgC3T8AxkKi8Ecx+e+ZCaunB7X4Qk3i9F4C+5PSMGguolrShZ7Zb6717k79Y86f3A00O0VAZw==", - "requires": { - "any-promise": "1.3.0", - "eventemitter3": "3.1.2" - } - }, - "web3-core-requestmanager": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/web3-core-requestmanager/-/web3-core-requestmanager-1.2.4.tgz", - "integrity": "sha512-eZJDjyNTDtmSmzd3S488nR/SMJtNnn/GuwxnMh3AzYCqG3ZMfOylqTad2eYJPvc2PM5/Gj1wAMQcRpwOjjLuPg==", - "requires": { - "underscore": "1.9.1", - "web3-core-helpers": "1.2.4", - "web3-providers-http": "1.2.4", - "web3-providers-ipc": "1.2.4", - "web3-providers-ws": "1.2.4" - } - }, - "web3-core-subscriptions": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/web3-core-subscriptions/-/web3-core-subscriptions-1.2.4.tgz", - "integrity": "sha512-3D607J2M8ymY9V+/WZq4MLlBulwCkwEjjC2U+cXqgVO1rCyVqbxZNCmHyNYHjDDCxSEbks9Ju5xqJxDSxnyXEw==", - "requires": { - "eventemitter3": "3.1.2", - "underscore": "1.9.1", - "web3-core-helpers": "1.2.4" - } - }, - "web3-eth": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/web3-eth/-/web3-eth-1.2.4.tgz", - "integrity": "sha512-+j+kbfmZsbc3+KJpvHM16j1xRFHe2jBAniMo1BHKc3lho6A8Sn9Buyut6odubguX2AxoRArCdIDCkT9hjUERpA==", - "requires": { - "underscore": "1.9.1", - "web3-core": "1.2.4", - "web3-core-helpers": "1.2.4", - "web3-core-method": "1.2.4", - "web3-core-subscriptions": "1.2.4", - "web3-eth-abi": "1.2.4", - "web3-eth-accounts": "1.2.4", - "web3-eth-contract": "1.2.4", - "web3-eth-ens": "1.2.4", - "web3-eth-iban": "1.2.4", - "web3-eth-personal": "1.2.4", - "web3-net": "1.2.4", - "web3-utils": "1.2.4" - } - }, - "web3-eth-abi": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/web3-eth-abi/-/web3-eth-abi-1.2.4.tgz", - "integrity": "sha512-8eLIY4xZKoU3DSVu1pORluAw9Ru0/v4CGdw5so31nn+7fR8zgHMgwbFe0aOqWQ5VU42PzMMXeIJwt4AEi2buFg==", - "requires": { - "ethers": "4.0.0-beta.3", - "underscore": "1.9.1", - "web3-utils": "1.2.4" - } - }, - "web3-eth-accounts": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/web3-eth-accounts/-/web3-eth-accounts-1.2.4.tgz", - "integrity": "sha512-04LzT/UtWmRFmi4hHRewP5Zz43fWhuHiK5XimP86sUQodk/ByOkXQ3RoXyGXFMNoRxdcAeRNxSfA2DpIBc9xUw==", - "requires": { - "@web3-js/scrypt-shim": "^0.1.0", - "any-promise": "1.3.0", - "crypto-browserify": "3.12.0", - "eth-lib": "0.2.7", - "ethereumjs-common": "^1.3.2", - "ethereumjs-tx": "^2.1.1", - "underscore": "1.9.1", - "uuid": "3.3.2", - "web3-core": "1.2.4", - "web3-core-helpers": "1.2.4", - "web3-core-method": "1.2.4", - "web3-utils": "1.2.4" - }, - "dependencies": { - "bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==" - }, - "eth-lib": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.7.tgz", - "integrity": "sha1-L5Pxex4jrsN1nNSj/iDBKGo/wco=", - "requires": { - "bn.js": "^4.11.6", - "elliptic": "^6.4.0", - "xhr-request-promise": "^0.1.2" - } - } - } - }, - "web3-eth-contract": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/web3-eth-contract/-/web3-eth-contract-1.2.4.tgz", - "integrity": "sha512-b/9zC0qjVetEYnzRA1oZ8gF1OSSUkwSYi5LGr4GeckLkzXP7osEnp9lkO/AQcE4GpG+l+STnKPnASXJGZPgBRQ==", - "requires": { - "@types/bn.js": "^4.11.4", - "underscore": "1.9.1", - "web3-core": "1.2.4", - "web3-core-helpers": "1.2.4", - "web3-core-method": "1.2.4", - "web3-core-promievent": "1.2.4", - "web3-core-subscriptions": "1.2.4", - "web3-eth-abi": "1.2.4", - "web3-utils": "1.2.4" - } - }, - "web3-eth-ens": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/web3-eth-ens/-/web3-eth-ens-1.2.4.tgz", - "integrity": "sha512-g8+JxnZlhdsCzCS38Zm6R/ngXhXzvc3h7bXlxgKU4coTzLLoMpgOAEz71GxyIJinWTFbLXk/WjNY0dazi9NwVw==", - "requires": { - "eth-ens-namehash": "2.0.8", - "underscore": "1.9.1", - "web3-core": "1.2.4", - "web3-core-helpers": "1.2.4", - "web3-core-promievent": "1.2.4", - "web3-eth-abi": "1.2.4", - "web3-eth-contract": "1.2.4", - "web3-utils": "1.2.4" - } - }, - "web3-eth-iban": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/web3-eth-iban/-/web3-eth-iban-1.2.4.tgz", - "integrity": "sha512-D9HIyctru/FLRpXakRwmwdjb5bWU2O6UE/3AXvRm6DCOf2e+7Ve11qQrPtaubHfpdW3KWjDKvlxV9iaFv/oTMQ==", - "requires": { - "bn.js": "4.11.8", - "web3-utils": "1.2.4" - }, - "dependencies": { - "bn.js": { - "version": "4.11.8", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", - "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==" - } - } - }, - "web3-eth-personal": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/web3-eth-personal/-/web3-eth-personal-1.2.4.tgz", - "integrity": "sha512-5Russ7ZECwHaZXcN3DLuLS7390Vzgrzepl4D87SD6Sn1DHsCZtvfdPIYwoTmKNp69LG3mORl7U23Ga5YxqkICw==", - "requires": { - "@types/node": "^12.6.1", - "web3-core": "1.2.4", - "web3-core-helpers": "1.2.4", - "web3-core-method": "1.2.4", - "web3-net": "1.2.4", - "web3-utils": "1.2.4" - } - }, - "web3-net": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/web3-net/-/web3-net-1.2.4.tgz", - "integrity": "sha512-wKOsqhyXWPSYTGbp7ofVvni17yfRptpqoUdp3SC8RAhDmGkX6irsiT9pON79m6b3HUHfLoBilFQyt/fTUZOf7A==", - "requires": { - "web3-core": "1.2.4", - "web3-core-method": "1.2.4", - "web3-utils": "1.2.4" - } - }, - "web3-providers-http": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/web3-providers-http/-/web3-providers-http-1.2.4.tgz", - "integrity": "sha512-dzVCkRrR/cqlIrcrWNiPt9gyt0AZTE0J+MfAu9rR6CyIgtnm1wFUVVGaxYRxuTGQRO4Dlo49gtoGwaGcyxqiTw==", - "requires": { - "web3-core-helpers": "1.2.4", - "xhr2-cookies": "1.1.0" - } - }, - "web3-providers-ipc": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/web3-providers-ipc/-/web3-providers-ipc-1.2.4.tgz", - "integrity": "sha512-8J3Dguffin51gckTaNrO3oMBo7g+j0UNk6hXmdmQMMNEtrYqw4ctT6t06YOf9GgtOMjSAc1YEh3LPrvgIsR7og==", - "requires": { - "oboe": "2.1.4", - "underscore": "1.9.1", - "web3-core-helpers": "1.2.4" - } - }, - "web3-providers-ws": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/web3-providers-ws/-/web3-providers-ws-1.2.4.tgz", - "integrity": "sha512-F/vQpDzeK+++oeeNROl1IVTufFCwCR2hpWe5yRXN0ApLwHqXrMI7UwQNdJ9iyibcWjJf/ECbauEEQ8CHgE+MYQ==", - "requires": { - "@web3-js/websocket": "^1.0.29", - "underscore": "1.9.1", - "web3-core-helpers": "1.2.4" - } - }, - "web3-shh": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/web3-shh/-/web3-shh-1.2.4.tgz", - "integrity": "sha512-z+9SCw0dE+69Z/Hv8809XDbLj7lTfEv9Sgu8eKEIdGntZf4v7ewj5rzN5bZZSz8aCvfK7Y6ovz1PBAu4QzS4IQ==", - "requires": { - "web3-core": "1.2.4", - "web3-core-method": "1.2.4", - "web3-core-subscriptions": "1.2.4", - "web3-net": "1.2.4" - } - }, - "web3-utils": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/web3-utils/-/web3-utils-1.2.4.tgz", - "integrity": "sha512-+S86Ip+jqfIPQWvw2N/xBQq5JNqCO0dyvukGdJm8fEWHZbckT4WxSpHbx+9KLEWY4H4x9pUwnoRkK87pYyHfgQ==", - "requires": { - "bn.js": "4.11.8", - "eth-lib": "0.2.7", - "ethereum-bloom-filters": "^1.0.6", - "ethjs-unit": "0.1.6", - "number-to-bn": "1.7.0", - "randombytes": "^2.1.0", - "underscore": "1.9.1", - "utf8": "3.0.0" - }, - "dependencies": { - "bn.js": { - "version": "4.11.8", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", - "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==" - }, - "eth-lib": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/eth-lib/-/eth-lib-0.2.7.tgz", - "integrity": "sha1-L5Pxex4jrsN1nNSj/iDBKGo/wco=", - "requires": { - "bn.js": "^4.11.6", - "elliptic": "^6.4.0", - "xhr-request-promise": "^0.1.2" - } - } - } } } }, "@dorgtech/daocreator-ui": { - "version": "1.0.21", - "resolved": "https://registry.npmjs.org/@dorgtech/daocreator-ui/-/daocreator-ui-1.0.21.tgz", - "integrity": "sha512-kWZUEccdyoZv/4OBXFe5NQxwqV0ig4QntIF+8J0IYSJsHZeQfnhDA7ks3WjMI33/VukGiBfAffeFomgpp1C4EQ==", + "version": "1.0.22", + "resolved": "https://registry.npmjs.org/@dorgtech/daocreator-ui/-/daocreator-ui-1.0.22.tgz", + "integrity": "sha512-I5VHL7qEsomu+h9DeA9hZEy11gbgrlRNoO55DBX0yM0aZek20xW13s5r52wB1gi7YrTy1fmRwmfbkTEmxzWLMA==", "requires": { "@date-io/core": "^1.3.6", "@date-io/date-fns": "^1.3.11", - "@dorgtech/daocreator-lib": "1.0.2", + "@dorgtech/daocreator-lib": "1.0.4", "@fortawesome/fontawesome-free": "^5.11.2", "@material-ui/core": "^4.7.2", "@material-ui/pickers": "3.2.2", @@ -3455,9 +3064,9 @@ "integrity": "sha512-ux2EDjKMpcdHBVLi/eWZynnPxs0BtFVXJkgHIxXRl+9ZFaHPvYamAfCzeeQFqHRjuJtX90wVnMRaMQAAlctz3w==" }, "@fortawesome/fontawesome-free": { - "version": "5.15.1", - "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-free/-/fontawesome-free-5.15.1.tgz", - "integrity": "sha512-OEdH7SyC1suTdhBGW91/zBfR6qaIhThbcN8PUXtXilY4GYnSBbVqOntdHbC1vXwsDnX0Qix2m2+DSU1J51ybOQ==" + "version": "5.15.2", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-free/-/fontawesome-free-5.15.2.tgz", + "integrity": "sha512-7l/AX41m609L/EXI9EKH3Vs3v0iA8tKlIOGtw+kgcoanI7p+e4I4GYLqW3UXWiTnjSFymKSmTTPKYrivzbxxqA==" }, "@fortawesome/fontawesome-svg-core": { "version": "1.2.32", @@ -4829,15 +4438,6 @@ "react-transition-group": "^4.4.0" }, "dependencies": { - "@types/react": { - "version": "17.0.0", - "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.0.tgz", - "integrity": "sha512-aj/L7RIMsRlWML3YB6KZiXB3fV2t41+5RBGYF8z+tAKU43Px8C3cYUZsDvf1/+Bm4FK21QWBrDutu8ZJ/70qOw==", - "requires": { - "@types/prop-types": "*", - "csstype": "^3.0.2" - } - }, "@types/react-transition-group": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.0.tgz", @@ -4846,11 +4446,6 @@ "@types/react": "*" } }, - "csstype": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.5.tgz", - "integrity": "sha512-uVDi8LpBUKQj6sdxNaTetL6FpeCqTjOvAQuQUa/qAqq8oOd4ivkbhgnqayl0dnPal8Tb/yB1tF+gOvCBiicaiQ==" - }, "react-transition-group": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.1.tgz", @@ -6938,14 +6533,6 @@ "@babel/types": "^7.3.0" } }, - "@types/bignumber.js": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@types/bignumber.js/-/bignumber.js-5.0.0.tgz", - "integrity": "sha512-0DH7aPGCClywOFaxxjE6UwpN2kQYe9LwuDQMv+zYA97j5GkOMo8e66LYT+a8JYU7jfmUFRZLa9KycxHDsKXJCA==", - "requires": { - "bignumber.js": "*" - } - }, "@types/bl": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/@types/bl/-/bl-2.1.0.tgz", @@ -7305,7 +6892,6 @@ "version": "16.14.2", "resolved": "https://registry.npmjs.org/@types/react/-/react-16.14.2.tgz", "integrity": "sha512-BzzcAlyDxXl2nANlabtT4thtvbbnhee8hMmH/CcJrISDBVcJS1iOsP1f0OAgSdGE0MsY9tqcrb9YoZcOFv9dbQ==", - "dev": true, "requires": { "@types/prop-types": "*", "csstype": "^3.0.2" @@ -7314,8 +6900,7 @@ "csstype": { "version": "3.0.5", "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.5.tgz", - "integrity": "sha512-uVDi8LpBUKQj6sdxNaTetL6FpeCqTjOvAQuQUa/qAqq8oOd4ivkbhgnqayl0dnPal8Tb/yB1tF+gOvCBiicaiQ==", - "dev": true + "integrity": "sha512-uVDi8LpBUKQj6sdxNaTetL6FpeCqTjOvAQuQUa/qAqq8oOd4ivkbhgnqayl0dnPal8Tb/yB1tF+gOvCBiicaiQ==" } } }, @@ -7474,22 +7059,6 @@ "integrity": "sha512-0KkER9oXZY/v1x8aoMTHwANlWnKT5tnmV7Zz+g81gBvcHRtcIHotcpY4KgWRwx0T5JMcsYmEh7wGOz0lwdONew==", "requires": { "@types/react": "*" - }, - "dependencies": { - "@types/react": { - "version": "17.0.0", - "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.0.tgz", - "integrity": "sha512-aj/L7RIMsRlWML3YB6KZiXB3fV2t41+5RBGYF8z+tAKU43Px8C3cYUZsDvf1/+Bm4FK21QWBrDutu8ZJ/70qOw==", - "requires": { - "@types/prop-types": "*", - "csstype": "^3.0.2" - } - }, - "csstype": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.5.tgz", - "integrity": "sha512-uVDi8LpBUKQj6sdxNaTetL6FpeCqTjOvAQuQUa/qAqq8oOd4ivkbhgnqayl0dnPal8Tb/yB1tF+gOvCBiicaiQ==" - } } }, "@types/react-textarea-autosize": { @@ -7611,22 +7180,6 @@ "integrity": "sha512-Yjye9VwMdYeXfS71ihueWRSxrruuXTwKCbzue4+5b2rjnQ//AtyM7myZ1BEhNhBQ/nL/RE7bdToUoLln2miKvg==", "requires": { "@types/react": "*" - }, - "dependencies": { - "@types/react": { - "version": "17.0.0", - "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.0.tgz", - "integrity": "sha512-aj/L7RIMsRlWML3YB6KZiXB3fV2t41+5RBGYF8z+tAKU43Px8C3cYUZsDvf1/+Bm4FK21QWBrDutu8ZJ/70qOw==", - "requires": { - "@types/prop-types": "*", - "csstype": "^3.0.2" - } - }, - "csstype": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.5.tgz", - "integrity": "sha512-uVDi8LpBUKQj6sdxNaTetL6FpeCqTjOvAQuQUa/qAqq8oOd4ivkbhgnqayl0dnPal8Tb/yB1tF+gOvCBiicaiQ==" - } } }, "@types/tapable": { @@ -7745,9 +7298,9 @@ } }, "@types/zen-observable": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/@types/zen-observable/-/zen-observable-0.8.1.tgz", - "integrity": "sha512-wmk0xQI6Yy7Fs/il4EpOcflG4uonUpYGqvZARESLc2oy4u69fkatFLbJOeW4Q6awO15P4rduAe6xkwHevpXcUQ==" + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/@types/zen-observable/-/zen-observable-0.8.2.tgz", + "integrity": "sha512-HrCIVMLjE1MOozVoD86622S7aunluLb2PJdPfb3nYiEtohm8mIB/vyv0Fd37AdeMFrTUQXEunw78YloMA3Qilg==" }, "@typescript-eslint/eslint-plugin": { "version": "2.34.0", @@ -8785,6 +8338,7 @@ "version": "0.1.0", "resolved": "https://registry.npmjs.org/@web3-js/scrypt-shim/-/scrypt-shim-0.1.0.tgz", "integrity": "sha512-ZtZeWCc/s0nMcdx/+rZwY1EcuRdemOK9ag21ty9UsHkFxsNb/AaoucUz0iPuyGe0Ku+PFuRmWZG7Z7462p9xPw==", + "dev": true, "requires": { "scryptsy": "^2.1.0", "semver": "^6.3.0" @@ -8794,6 +8348,7 @@ "version": "1.0.30", "resolved": "https://registry.npmjs.org/@web3-js/websocket/-/websocket-1.0.30.tgz", "integrity": "sha512-fDwrD47MiDrzcJdSeTLF75aCcxVVt8B1N74rA+vh2XCAvFy4tEWJjtnUtj2QG7/zlQ6g9cQ88bZFBxwd9/FmtA==", + "dev": true, "requires": { "debug": "^2.2.0", "es5-ext": "^0.10.50", @@ -9604,7 +9159,8 @@ "any-promise": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", - "integrity": "sha1-q8av7tzqUugJzcA3au0845Y10X8=" + "integrity": "sha1-q8av7tzqUugJzcA3au0845Y10X8=", + "dev": true }, "any-signal": { "version": "1.2.0", @@ -12045,6 +11601,7 @@ "version": "1.2.3", "resolved": "https://registry.npmjs.org/bl/-/bl-1.2.3.tgz", "integrity": "sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==", + "dev": true, "requires": { "readable-stream": "^2.3.5", "safe-buffer": "^5.1.1" @@ -12054,6 +11611,7 @@ "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, "requires": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -12068,6 +11626,7 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, "requires": { "safe-buffer": "~5.1.0" } @@ -15051,14 +14610,14 @@ "integrity": "sha512-EXSru4QwEWKwM7wwsJbhrZC+mHEJrhQFoXlohHs80CAU8Qhlv9gaw1sjzNiC3Hr3oUx5skDmEiAlz+tnKWV0RA==" }, "csv-parse": { - "version": "4.14.2", - "resolved": "https://registry.npmjs.org/csv-parse/-/csv-parse-4.14.2.tgz", - "integrity": "sha512-YE2xlTKtM035/94llhgsp9qFQxGi47EkQJ1pZ+mLT/98GpIsbjkMGAb7Rmu9hNxVfYFOLf10hP+rPVqnoccLgw==" + "version": "4.15.0", + "resolved": "https://registry.npmjs.org/csv-parse/-/csv-parse-4.15.0.tgz", + "integrity": "sha512-y2wGeU/ybvUlyw6F+eanM6lxxE4JthCuHuaoTgPXdw6ImmfYXqtP0nrCLqd6Ew/a0FgPEz36y5HznI0W5oJ+cg==" }, "csv-stringify": { - "version": "5.5.3", - "resolved": "https://registry.npmjs.org/csv-stringify/-/csv-stringify-5.5.3.tgz", - "integrity": "sha512-JKG8vIHpWPzdilp2SAmvjmAiIhD+XGKGdhZBGi8QIECgJAsFr7k5CmJIW2QkSxBBsctvmojM25s+UINzQ5NLTg==" + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/csv-stringify/-/csv-stringify-5.6.1.tgz", + "integrity": "sha512-JlQlNZMiuRGSFbLXFNGoBtsORXlkqf4Dfq8Ee0Jo4RVJj3YAUzevagUx24mDrQJLDF7aYz6Ne8kqA8WWBaYt2A==" }, "currently-unhandled": { "version": "0.4.1", @@ -15424,6 +14983,7 @@ "version": "4.2.1", "resolved": "https://registry.npmjs.org/decompress/-/decompress-4.2.1.tgz", "integrity": "sha512-e48kc2IjU+2Zw8cTb6VZcJQ3lgVbS4uuB1TfCHbiZIP/haNXm+SVyhu+87jts5/3ROpd82GSVCoNs/z8l4ZOaQ==", + "dev": true, "requires": { "decompress-tar": "^4.0.0", "decompress-tarbz2": "^4.0.0", @@ -15447,6 +15007,7 @@ "version": "4.1.1", "resolved": "https://registry.npmjs.org/decompress-tar/-/decompress-tar-4.1.1.tgz", "integrity": "sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ==", + "dev": true, "requires": { "file-type": "^5.2.0", "is-stream": "^1.1.0", @@ -15457,6 +15018,7 @@ "version": "4.1.1", "resolved": "https://registry.npmjs.org/decompress-tarbz2/-/decompress-tarbz2-4.1.1.tgz", "integrity": "sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A==", + "dev": true, "requires": { "decompress-tar": "^4.1.0", "file-type": "^6.1.0", @@ -15468,7 +15030,8 @@ "file-type": { "version": "6.2.0", "resolved": "https://registry.npmjs.org/file-type/-/file-type-6.2.0.tgz", - "integrity": "sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg==" + "integrity": "sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg==", + "dev": true } } }, @@ -15476,6 +15039,7 @@ "version": "4.1.1", "resolved": "https://registry.npmjs.org/decompress-targz/-/decompress-targz-4.1.1.tgz", "integrity": "sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w==", + "dev": true, "requires": { "decompress-tar": "^4.1.1", "file-type": "^5.2.0", @@ -15486,6 +15050,7 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/decompress-unzip/-/decompress-unzip-4.0.1.tgz", "integrity": "sha1-3qrM39FK6vhVePczroIQ+bSEj2k=", + "dev": true, "requires": { "file-type": "^3.8.0", "get-stream": "^2.2.0", @@ -15496,12 +15061,14 @@ "file-type": { "version": "3.9.0", "resolved": "https://registry.npmjs.org/file-type/-/file-type-3.9.0.tgz", - "integrity": "sha1-JXoHg4TR24CHvESdEH1SpSZyuek=" + "integrity": "sha1-JXoHg4TR24CHvESdEH1SpSZyuek=", + "dev": true }, "get-stream": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-2.3.1.tgz", "integrity": "sha1-Xzj5PzRgCWZu4BUKBUFn+Rvdld4=", + "dev": true, "requires": { "object-assign": "^4.0.1", "pinkie-promise": "^2.0.0" @@ -18125,6 +17692,7 @@ "version": "4.0.0-beta.3", "resolved": "https://registry.npmjs.org/ethers/-/ethers-4.0.0-beta.3.tgz", "integrity": "sha512-YYPogooSknTwvHg3+Mv71gM/3Wcrx+ZpCzarBj3mqs9njjRkrOo2/eufzhHloOCo3JSoNI4TQJJ6yU5ABm3Uog==", + "dev": true, "requires": { "@types/node": "^10.3.2", "aes-js": "3.0.0", @@ -18141,12 +17709,14 @@ "@types/node": { "version": "10.17.49", "resolved": "https://registry.npmjs.org/@types/node/-/node-10.17.49.tgz", - "integrity": "sha512-PGaJNs5IZz5XgzwJvL/1zRfZB7iaJ5BydZ8/Picm+lUNYoNO9iVTQkVy5eUh0dZDrx3rBOIs3GCbCRmMuYyqwg==" + "integrity": "sha512-PGaJNs5IZz5XgzwJvL/1zRfZB7iaJ5BydZ8/Picm+lUNYoNO9iVTQkVy5eUh0dZDrx3rBOIs3GCbCRmMuYyqwg==", + "dev": true }, "elliptic": { "version": "6.3.3", "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.3.3.tgz", "integrity": "sha1-VILZZG1UvLif19mU/J4ulWiHbj8=", + "dev": true, "requires": { "bn.js": "^4.4.0", "brorand": "^1.0.1", @@ -18158,6 +17728,7 @@ "version": "1.1.3", "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.3.tgz", "integrity": "sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA==", + "dev": true, "requires": { "inherits": "^2.0.3", "minimalistic-assert": "^1.0.0" @@ -18166,22 +17737,26 @@ "js-sha3": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/js-sha3/-/js-sha3-0.5.7.tgz", - "integrity": "sha1-DU/9gALVMzqrr0oj7tL2N0yfKOc=" + "integrity": "sha1-DU/9gALVMzqrr0oj7tL2N0yfKOc=", + "dev": true }, "scrypt-js": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/scrypt-js/-/scrypt-js-2.0.3.tgz", - "integrity": "sha1-uwBAvgMEPamgEqLOqfyfhSz8h9Q=" + "integrity": "sha1-uwBAvgMEPamgEqLOqfyfhSz8h9Q=", + "dev": true }, "setimmediate": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.4.tgz", - "integrity": "sha1-IOgd5iLUoCWIzgyNqJc8vPHTE48=" + "integrity": "sha1-IOgd5iLUoCWIzgyNqJc8vPHTE48=", + "dev": true }, "uuid": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/uuid/-/uuid-2.0.1.tgz", - "integrity": "sha1-wqMN7bPlNdcsz4LjQ5QaULqFM6w=" + "integrity": "sha1-wqMN7bPlNdcsz4LjQ5QaULqFM6w=", + "dev": true } } }, @@ -18851,9 +18426,9 @@ }, "dependencies": { "tslib": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", - "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==" + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", + "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==" } } }, @@ -18901,7 +18476,8 @@ "file-type": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/file-type/-/file-type-5.2.0.tgz", - "integrity": "sha1-LdvqfHP/42No365J3DOMBYwritY=" + "integrity": "sha1-LdvqfHP/42No365J3DOMBYwritY=", + "dev": true }, "file-uri-to-path": { "version": "1.0.0", @@ -19772,7 +19348,8 @@ "fs-constants": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", - "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", + "dev": true }, "fs-extra": { "version": "4.0.3", @@ -25542,7 +25119,8 @@ "is-natural-number": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/is-natural-number/-/is-natural-number-4.0.1.tgz", - "integrity": "sha1-q5124dtM7VHjXeDHLr7PCfc0zeg=" + "integrity": "sha1-q5124dtM7VHjXeDHLr7PCfc0zeg=", + "dev": true }, "is-negative-zero": { "version": "2.0.1", @@ -28896,9 +28474,9 @@ }, "dependencies": { "csstype": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.5.tgz", - "integrity": "sha512-uVDi8LpBUKQj6sdxNaTetL6FpeCqTjOvAQuQUa/qAqq8oOd4ivkbhgnqayl0dnPal8Tb/yB1tF+gOvCBiicaiQ==" + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.6.tgz", + "integrity": "sha512-+ZAmfyWMT7TiIlzdqJgjMb7S4f1beorDbWbsocyK4RaiqA5RTX3K14bnBWmmA9QEM0gRdsjyyrEmcyga8Zsxmw==" } } }, @@ -31284,6 +30862,7 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", + "dev": true, "requires": { "pify": "^3.0.0" }, @@ -31291,7 +30870,8 @@ "pify": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true } } }, @@ -35110,17 +34690,20 @@ "pify": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true }, "pinkie": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=" + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true }, "pinkie-promise": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true, "requires": { "pinkie": "^2.0.0" } @@ -41173,7 +40756,8 @@ "scryptsy": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/scryptsy/-/scryptsy-2.1.0.tgz", - "integrity": "sha512-1CdSqHQowJBnMAFyPEBRfqag/YP9OF394FV+4YREIJX4ljD7OxvQRDayyoyyCk+senRjSkP6VnUNQmVQqB6g7w==" + "integrity": "sha512-1CdSqHQowJBnMAFyPEBRfqag/YP9OF394FV+4YREIJX4ljD7OxvQRDayyoyyCk+senRjSkP6VnUNQmVQqB6g7w==", + "dev": true }, "scss-tokenizer": { "version": "0.2.3", @@ -41222,6 +40806,7 @@ "version": "1.0.6", "resolved": "https://registry.npmjs.org/seek-bzip/-/seek-bzip-1.0.6.tgz", "integrity": "sha512-e1QtP3YL5tWww8uKaOCQ18UxIT2laNBXHjV/S2WYCiK4udiv8lkG89KRIoCjUagnAmCBurjF4zEVX2ByBbnCjQ==", + "dev": true, "requires": { "commander": "^2.8.1" } @@ -43130,6 +42715,7 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/strip-dirs/-/strip-dirs-2.1.0.tgz", "integrity": "sha512-JOCxOeKLm2CAS73y/U4ZeZPTkE+gNVCzKt7Eox84Iej1LT/2pTWYpZKJuxwQpvX1LiZb1xokNR7RLfuBAa7T3g==", + "dev": true, "requires": { "is-natural-number": "^4.0.1" } @@ -43714,6 +43300,7 @@ "version": "1.6.2", "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-1.6.2.tgz", "integrity": "sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==", + "dev": true, "requires": { "bl": "^1.0.0", "buffer-alloc": "^1.2.0", @@ -43728,6 +43315,7 @@ "version": "2.3.7", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, "requires": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -43742,6 +43330,7 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, "requires": { "safe-buffer": "~5.1.0" } @@ -44213,7 +43802,8 @@ "to-buffer": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/to-buffer/-/to-buffer-1.1.1.tgz", - "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==" + "integrity": "sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==", + "dev": true }, "to-fast-properties": { "version": "2.0.0", @@ -44925,6 +44515,7 @@ "version": "1.4.3", "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz", "integrity": "sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==", + "dev": true, "requires": { "buffer": "^5.2.1", "through": "^2.3.8" diff --git a/package.json b/package.json index 22a36c3f4..6f5bdbd02 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "alchemy-client", - "version": "1.0.4", + "version": "1.0.5", "description": "An app for collaborative networks (DAOs), based on the DAO stack.", "author": "DAOstack", "license": "GPL-3.0", @@ -35,16 +35,14 @@ "moduleNameMapper": { "\\.(scss|css|less|svg|png|jpg)$": "identity-obj-proxy", "^arc": "/src/arc", - "^actions/(.*)$": "/src/actions/$1", "^components(.*)$": "/src/components$1", + "^@store(.*)$": "/src/@store$1", "^data/(.*)$": "/data/$1", "^genericSchemeRegistry(.*)$": "/src/genericSchemeRegistry$1", "^crxRegistry(.*)$": "/src/crxRegistry$1", "^layouts/(.*)$": "/src/layouts/$1", "^lib/(.*)$": "/src/lib/$1", "^pages": "/src/pages", - "^reducers/(.*)$": "/src/reducers/$1", - "^selectors/(.*)$": "/src/selectors/$1", "^src/(.*)$": "/src/$1" }, "setupFiles": [ @@ -81,8 +79,8 @@ "dependencies": { "3box": "1.20.2", "@burner-wallet/burner-connect-provider": "^0.1.1", - "@daostack/arc.js": "0.2.80", - "@dorgtech/daocreator-ui": "1.0.21", + "@daostack/arc.js": "0.2.82", + "@dorgtech/daocreator-ui": "1.0.22", "@fortawesome/fontawesome-svg-core": "^1.2.10", "@fortawesome/free-brands-svg-icons": "^5.6.1", "@fortawesome/react-fontawesome": "^0.1.3", diff --git a/src/actions/arcActions.ts b/src/@store/arc/arcActions.ts similarity index 97% rename from src/actions/arcActions.ts rename to src/@store/arc/arcActions.ts index 6b6309f93..18a141c23 100644 --- a/src/actions/arcActions.ts +++ b/src/@store/arc/arcActions.ts @@ -1,9 +1,9 @@ import { Address, DAO, IProposalCreateOptions, IProposalOutcome, ITransactionState, ITransactionUpdate, ReputationFromTokenScheme, Scheme } from "@daostack/arc.js"; -import { IAsyncAction } from "actions/async"; +import { IAsyncAction } from "@store/async"; import { toWei, getArcByDAOAddress } from "lib/util"; import { IRedemptionState } from "lib/proposalHelpers"; -import { IRootState } from "reducers/index"; -import { NotificationStatus, showNotification } from "reducers/notifications"; +import { IRootState } from "@store/index"; +import { NotificationStatus, showNotification } from "@store/notifications/notifications.reducer"; import * as Redux from "redux"; import { ThunkAction } from "redux-thunk"; diff --git a/src/actions/async.ts b/src/@store/async.ts similarity index 100% rename from src/actions/async.ts rename to src/@store/async.ts diff --git a/src/reducers/index.ts b/src/@store/index.ts similarity index 58% rename from src/reducers/index.ts rename to src/@store/index.ts index 8c81e12a7..d995b8a68 100644 --- a/src/reducers/index.ts +++ b/src/@store/index.ts @@ -1,9 +1,9 @@ import { routerReducer } from "react-router-redux"; import { combineReducers } from "redux"; -import { INotificationsState, notificationsReducer } from "./notifications"; -import profilesReducer, { IProfilesState } from "./profilesReducer"; -import uiReducer, { IUIState } from "./uiReducer"; -import web3Reducer, { IWeb3State } from "./web3Reducer"; +import { INotificationsState, notificationsReducer } from "@store/notifications/notifications.reducer"; +import profilesReducer, { IProfilesState } from "@store/profiles/profilesReducer"; +import uiReducer, { IUIState } from "@store/ui/uiReducer"; +import web3Reducer, { IWeb3State } from "@store/web3/web3Reducer"; export interface IRootState { notifications: INotificationsState; diff --git a/src/reducers/notifications.ts b/src/@store/notifications/notifications.reducer.ts similarity index 100% rename from src/reducers/notifications.ts rename to src/@store/notifications/notifications.reducer.ts diff --git a/src/selectors/notifications.ts b/src/@store/notifications/notifications.ts similarity index 77% rename from src/selectors/notifications.ts rename to src/@store/notifications/notifications.ts index a2c5eaf04..6250c9425 100644 --- a/src/selectors/notifications.ts +++ b/src/@store/notifications/notifications.ts @@ -1,6 +1,6 @@ -import { INotificationsState, INotification } from "reducers/notifications"; +import { INotificationsState, INotification } from "@store/notifications/notifications.reducer"; import { createSelector } from "reselect"; -import { IRootState } from "../reducers"; +import { IRootState } from "@store/index"; const notifications = (state: IRootState): INotificationsState => state.notifications; diff --git a/src/actions/profilesActions.ts b/src/@store/profiles/profilesActions.ts similarity index 96% rename from src/actions/profilesActions.ts rename to src/@store/profiles/profilesActions.ts index c66f4b6cc..9f5d88b38 100644 --- a/src/actions/profilesActions.ts +++ b/src/@store/profiles/profilesActions.ts @@ -1,11 +1,11 @@ import * as Box from "3box"; -import { AsyncActionSequence, IAsyncAction } from "actions/async"; +import { AsyncActionSequence, IAsyncAction } from "@store/async"; import { getWeb3Provider } from "arc"; import Analytics from "lib/analytics"; -import { NotificationStatus, showNotification } from "reducers/notifications"; -import { ActionTypes, FollowType, newProfile } from "reducers/profilesReducer"; +import { NotificationStatus, showNotification } from "@store/notifications/notifications.reducer"; +import { ActionTypes, FollowType, newProfile } from "@store/profiles/profilesReducer"; import { arrayRemove } from "lib/util"; // Load account profile data from our database for all the "members" of the DAO diff --git a/src/reducers/profilesReducer.ts b/src/@store/profiles/profilesReducer.ts similarity index 98% rename from src/reducers/profilesReducer.ts rename to src/@store/profiles/profilesReducer.ts index 0db1ef131..4a1052e94 100644 --- a/src/reducers/profilesReducer.ts +++ b/src/@store/profiles/profilesReducer.ts @@ -1,6 +1,6 @@ import * as update from "immutability-helper"; -import { AsyncActionSequence } from "actions/async"; +import { AsyncActionSequence } from "@store/async"; export enum ActionTypes { GET_PROFILE_DATA = "GET_PROFILE_DATA", diff --git a/src/actions/uiActions.ts b/src/@store/ui/uiActions.ts similarity index 96% rename from src/actions/uiActions.ts rename to src/@store/ui/uiActions.ts index 1abad2f66..50f1c0cbc 100644 --- a/src/actions/uiActions.ts +++ b/src/@store/ui/uiActions.ts @@ -1,7 +1,7 @@ import * as Redux from "redux"; -import { IRootState } from "reducers"; -import { ActionTypes } from "reducers/uiReducer"; +import { IRootState } from "@store/index"; +import { ActionTypes } from "@store/ui/uiReducer"; import { ISimpleMessagePopupProps } from "components/Shared/SimpleMessagePopup"; export function showTour() { diff --git a/src/reducers/uiReducer.ts b/src/@store/ui/uiReducer.ts similarity index 100% rename from src/reducers/uiReducer.ts rename to src/@store/ui/uiReducer.ts diff --git a/src/actions/web3Actions.ts b/src/@store/web3/web3Actions.ts similarity index 89% rename from src/actions/web3Actions.ts rename to src/@store/web3/web3Actions.ts index 80b69dfb7..bbf35cf65 100644 --- a/src/actions/web3Actions.ts +++ b/src/@store/web3/web3Actions.ts @@ -1,11 +1,12 @@ -import * as Sentry from "@sentry/browser"; -import { getProfile } from "actions/profilesActions"; import { getWeb3ProviderInfo, getProviderNetworkName } from "arc"; +import * as Sentry from "@sentry/browser"; +import * as Redux from "redux"; + import Analytics from "lib/analytics"; -import { ActionTypes, IWeb3State } from "reducers/web3Reducer"; -import * as Redux from "redux"; -import { IAsyncAction } from "./async"; +import { IAsyncAction } from "@store/async"; +import { getProfile } from "@store/profiles/profilesActions"; +import { ActionTypes, IWeb3State } from "@store/web3/web3Reducer"; export type ConnectAction = IAsyncAction<"WEB3_CONNECT", void, IWeb3State>; diff --git a/src/reducers/web3Reducer.ts b/src/@store/web3/web3Reducer.ts similarity index 100% rename from src/reducers/web3Reducer.ts rename to src/@store/web3/web3Reducer.ts diff --git a/src/arc.ts b/src/arc.ts index 7c912ba24..2afd4a825 100644 --- a/src/arc.ts +++ b/src/arc.ts @@ -1,4 +1,4 @@ -import { NotificationStatus } from "reducers/notifications"; +import { NotificationStatus } from "@store/notifications/notifications.reducer"; import { getNetworkId, getNetworkName, targetedNetwork, targetNetworks, Networks } from "./lib/util"; import { settings } from "./settings"; import { Address, Arc } from "@daostack/arc.js"; diff --git a/src/assets/images/spinnyBusyIcon.gif b/src/assets/images/spinnyBusyIcon.gif index 749d58364..1f2c75c08 100644 Binary files a/src/assets/images/spinnyBusyIcon.gif and b/src/assets/images/spinnyBusyIcon.gif differ diff --git a/src/components/Account/AccountImage.tsx b/src/components/Account/AccountImage.tsx index 74b70c13a..74c6b2297 100644 --- a/src/components/Account/AccountImage.tsx +++ b/src/components/Account/AccountImage.tsx @@ -1,6 +1,6 @@ import { createDataURL } from "ethereum-blockies-png"; import * as React from "react"; -import { IProfileState } from "reducers/profilesReducer"; +import { IProfileState } from "@store/profiles/profilesReducer"; import * as css from "./Account.scss"; diff --git a/src/components/Account/AccountPopup.tsx b/src/components/Account/AccountPopup.tsx index a54f1923b..f4b34b14a 100644 --- a/src/components/Account/AccountPopup.tsx +++ b/src/components/Account/AccountPopup.tsx @@ -1,6 +1,6 @@ import { Address, IDAOState, IMemberState } from "@daostack/arc.js"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; -import { getProfile } from "actions/profilesActions"; +import { getProfile } from "@store/profiles/profilesActions"; import AccountImage from "components/Account/AccountImage"; import AccountProfileName from "components/Account/AccountProfileName"; import Reputation from "components/Account/Reputation"; @@ -9,8 +9,8 @@ import withSubscription, { ISubscriptionProps } from "components/Shared/withSubs import CopyToClipboard, { IconColor } from "components/Shared/CopyToClipboard"; import * as React from "react"; import { connect } from "react-redux"; -import { IRootState } from "reducers"; -import { IProfileState } from "reducers/profilesReducer"; +import { IRootState } from "@store"; +import { IProfileState } from "@store/profiles/profilesReducer"; import * as BN from "bn.js"; diff --git a/src/components/Account/AccountProfileName.tsx b/src/components/Account/AccountProfileName.tsx index c4a1207ed..96f735439 100644 --- a/src/components/Account/AccountProfileName.tsx +++ b/src/components/Account/AccountProfileName.tsx @@ -1,7 +1,7 @@ import * as React from "react"; import { Link } from "react-router-dom"; -import { IProfileState } from "reducers/profilesReducer"; +import { IProfileState } from "@store/profiles/profilesReducer"; import * as classNames from "classnames"; diff --git a/src/components/Account/AccountProfilePage.tsx b/src/components/Account/AccountProfilePage.tsx index 11fb2573f..8bf5eed3e 100644 --- a/src/components/Account/AccountProfilePage.tsx +++ b/src/components/Account/AccountProfilePage.tsx @@ -1,6 +1,6 @@ import { IDAOState, IMemberState, DAO } from "@daostack/arc.js"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; -import { getProfile, updateProfile } from "actions/profilesActions"; +import { getProfile, updateProfile } from "@store/profiles/profilesActions"; import { enableWalletProvider } from "arc"; import classNames from "classnames"; import AccountImage from "components/Account/AccountImage"; @@ -19,9 +19,9 @@ import { BreadcrumbsItem } from "react-breadcrumbs-dynamic"; import { Helmet } from "react-helmet"; import { connect } from "react-redux"; import { RouteComponentProps } from "react-router-dom"; -import { IRootState } from "reducers"; -import { showNotification } from "reducers/notifications"; -import { IProfileState } from "reducers/profilesReducer"; +import { IRootState } from "@store"; +import { showNotification } from "@store/notifications/notifications.reducer"; +import { IProfileState } from "@store/profiles/profilesReducer"; import { combineLatest, of } from "rxjs"; import Loading from "components/Shared/Loading"; import * as css from "./Account.scss"; diff --git a/src/components/Buidlhub/Registration.tsx b/src/components/Buidlhub/Registration.tsx index 64606f1e7..067d08c18 100644 --- a/src/components/Buidlhub/Registration.tsx +++ b/src/components/Buidlhub/Registration.tsx @@ -1,7 +1,7 @@ import * as css from "./Registration.scss"; import * as React from "react"; import {connect} from "react-redux"; -import { IRootState } from "reducers"; +import { IRootState } from "@store"; import cn from "classnames"; import BuidlhubClient, {IBuidlhubClient} from "./BuidlhubClient"; diff --git a/src/components/Dao/DaoContainer.tsx b/src/components/Dao/DaoContainer.tsx index cc3e30912..1ba863f73 100644 --- a/src/components/Dao/DaoContainer.tsx +++ b/src/components/Dao/DaoContainer.tsx @@ -1,5 +1,5 @@ import { IDAOState, Member, Scheme } from "@daostack/arc.js"; -import { getProfilesForAddresses } from "actions/profilesActions"; +import { getProfilesForAddresses } from "@store/profiles/profilesActions"; import CreateProposalPage from "components/Proposal/Create"; import ProposalDetailsPage from "components/Proposal/ProposalDetailsPage"; import SchemeContainer from "components/Scheme/SchemeContainer"; @@ -11,9 +11,9 @@ import { Helmet } from "react-helmet"; import { connect } from "react-redux"; import { Route, RouteComponentProps, Switch } from "react-router-dom"; import { ModalRoute } from "react-router-modal"; -import { IRootState } from "reducers"; -import { showNotification } from "reducers/notifications"; -import { IProfileState } from "reducers/profilesReducer"; +import { IRootState } from "@store"; +import { showNotification } from "@store/notifications/notifications.reducer"; +import { IProfileState } from "@store/profiles/profilesReducer"; import DetailsPageRouter from "components/Scheme/ContributionRewardExtRewarders/DetailsPageRouter"; import { combineLatest, Subscription } from "rxjs"; import DaoSchemesPage from "./DaoSchemesPage"; diff --git a/src/components/Dao/DaoMember.tsx b/src/components/Dao/DaoMember.tsx index f8d95511e..01993e696 100644 --- a/src/components/Dao/DaoMember.tsx +++ b/src/components/Dao/DaoMember.tsx @@ -8,7 +8,7 @@ import withSubscription, { ISubscriptionProps } from "components/Shared/withSubs import { fromWei } from "lib/util"; import * as React from "react"; import { Link } from "react-router-dom"; -import { IProfileState } from "reducers/profilesReducer"; +import { IProfileState } from "@store/profiles/profilesReducer"; import * as css from "./Dao.scss"; interface IProps extends ISubscriptionProps { diff --git a/src/components/Dao/DaoMembersPage.tsx b/src/components/Dao/DaoMembersPage.tsx index 88c221aed..9f96347a6 100644 --- a/src/components/Dao/DaoMembersPage.tsx +++ b/src/components/Dao/DaoMembersPage.tsx @@ -1,5 +1,5 @@ import { IDAOState, Member } from "@daostack/arc.js"; -import { getProfile } from "actions/profilesActions"; +import { getProfile } from "@store/profiles/profilesActions"; import Loading from "components/Shared/Loading"; import withSubscription, { ISubscriptionProps } from "components/Shared/withSubscription"; import Analytics from "lib/analytics"; @@ -10,8 +10,8 @@ import InfiniteScroll from "react-infinite-scroll-component"; import { connect } from "react-redux"; import { RouteComponentProps } from "react-router-dom"; import * as Sticky from "react-stickynode"; -import { IRootState } from "reducers"; -import { IProfilesState } from "reducers/profilesReducer"; +import { IRootState } from "@store"; +import { IProfilesState } from "@store/profiles/profilesReducer"; import DaoMember from "./DaoMember"; import * as css from "./Dao.scss"; diff --git a/src/components/Dao/DaoSchemesPage.tsx b/src/components/Dao/DaoSchemesPage.tsx index 4a9f5783b..a562080af 100644 --- a/src/components/Dao/DaoSchemesPage.tsx +++ b/src/components/Dao/DaoSchemesPage.tsx @@ -19,7 +19,7 @@ import { RouteComponentProps } from "react-router-dom"; import * as Sticky from "react-stickynode"; import { CSSTransition, TransitionGroup } from "react-transition-group"; import { connect } from "react-redux"; -import { showNotification } from "reducers/notifications"; +import { showNotification } from "@store/notifications/notifications.reducer"; import { combineLatest, Observable, of } from "rxjs"; import { mergeMap } from "rxjs/operators"; import * as css from "./DaoSchemesPage.scss"; diff --git a/src/components/DaoCreator/index.tsx b/src/components/DaoCreator/index.tsx index de0c632e1..0fcc0b0b0 100644 --- a/src/components/DaoCreator/index.tsx +++ b/src/components/DaoCreator/index.tsx @@ -1,9 +1,7 @@ import * as React from "react"; import { connect } from "react-redux"; import { Prompt } from "react-router-dom"; -import { showNotification } from "reducers/notifications"; -import { enableWalletProvider, getWeb3Provider } from "arc"; -import { getNetworkName } from "lib/util"; +import { showNotification } from "@store/notifications/notifications.reducer"; const DAOcreator = React.lazy(() => import("@dorgtech/daocreator-ui")); @@ -41,13 +39,6 @@ class DaoCreator extends React.Component { message={"Are you sure you want to leave?"} /> => { - if (!await enableWalletProvider({ showNotification: this.props.showNotification }, await getNetworkName())) { - return undefined; - } - - return await getWeb3Provider(); - }} noDAOstackLogo redirectURL={process.env.BASE_URL} networks={process.env.NETWORKS.replace("main", "mainnet")} diff --git a/src/components/Daos/DaoCard.tsx b/src/components/Daos/DaoCard.tsx index 1c61c7bd5..bbf8f7fd6 100644 --- a/src/components/Daos/DaoCard.tsx +++ b/src/components/Daos/DaoCard.tsx @@ -36,18 +36,13 @@ const DaoCard = (props: IProps) => { [css.dao]: true, [css.daoInactive]: inActive})}>
- + style={{backgroundColor: bgPattern.color}}>
{daoState.name}
- + {inActive ?
{ dxDaoActivationDate.format("MMM Do")}  {dxDaoActivationDate.format("h:mma z")}
: ""}
- - - -
diff --git a/src/components/Daos/Daos.scss b/src/components/Daos/Daos.scss index ee14762ea..5602bad0a 100644 --- a/src/components/Daos/Daos.scss +++ b/src/components/Daos/Daos.scss @@ -49,7 +49,7 @@ .otherDaos { .headerWrapper { position: sticky; - top: 132px; + top: 130px; z-index: 1; } @@ -101,20 +101,19 @@ .daoTitle { border-radius: 15px 15px 0 0; - padding-top: 38px; - padding-bottom: 38px; - padding-left: 30px; - padding-right: 12px; - margin: 0; + padding: 10px 10px 10px 30px; margin-bottom: 10px; color: $white; - background-repeat: repeat; + display: flex; + justify-content: space-between; + align-items: center; .daoName { - font-size: 28px; + font-size: 25px; font-weight: bold; display: inline-block; overflow-x: hidden; + margin-right: 5px; } .inactiveFeedback { @@ -137,10 +136,10 @@ font-size: $body; width: 100%; display: inline-block; - padding: 30px 0; + padding: 20px 0; b { - font-size: 30px; + font-size: 25px; text-align: center; display: block; } @@ -152,16 +151,10 @@ color: $gray-1; } } - - .followButton { - position: absolute; - top: 10px; - right: 10px; - } } .dao { - width: 480px; + width: 335px; background-color: $white; border-radius: 15px; display: inline-block; @@ -269,11 +262,7 @@ } a.daoLink .daoTitle { - padding-top: 16px; - padding-bottom: 16px; - padding-left: 18px; - margin: 0; - margin-bottom: 10px; + padding: 10px 10px 10px 30px; } table.daoInfoContainer { diff --git a/src/components/Daos/DaosPage.tsx b/src/components/Daos/DaosPage.tsx index 99d00aeb9..1b4913ff4 100644 --- a/src/components/Daos/DaosPage.tsx +++ b/src/components/Daos/DaosPage.tsx @@ -11,7 +11,7 @@ import { BreadcrumbsItem } from "react-breadcrumbs-dynamic"; import InfiniteScroll from "react-infinite-scroll-component"; import { connect } from "react-redux"; import { Link } from "react-router-dom"; -import { IRootState } from "reducers"; +import { IRootState } from "@store"; import { combineLatest, of } from "rxjs"; import { first } from "rxjs/operators"; import cn from "classnames"; diff --git a/src/components/Notification/Notification.tsx b/src/components/Notification/Notification.tsx index 8780a45d9..e1df5ea8a 100644 --- a/src/components/Notification/Notification.tsx +++ b/src/components/Notification/Notification.tsx @@ -2,7 +2,7 @@ import * as classNames from "classnames"; import { copyToClipboard } from "lib/util"; import * as React from "react"; import Linkify from "react-linkify"; -import { NotificationStatus, showNotification } from "reducers/notifications"; +import { NotificationStatus, showNotification } from "@store/notifications/notifications.reducer"; import Tooltip from "rc-tooltip"; import * as css from "./Notification.scss"; diff --git a/src/components/Proposal/ActionButton.tsx b/src/components/Proposal/ActionButton.tsx index 4aa116881..694783d3c 100644 --- a/src/components/Proposal/ActionButton.tsx +++ b/src/components/Proposal/ActionButton.tsx @@ -1,5 +1,5 @@ import { Address, IDAOState, IProposalOutcome, IProposalStage, IProposalState, IRewardState, Token } from "@daostack/arc.js"; -import { executeProposal, redeemProposal, executeCalls } from "actions/arcActions"; +import { executeProposal, redeemProposal, executeCalls } from "@store/arc/arcActions"; import { enableWalletProvider } from "arc"; import classNames from "classnames"; import { ActionTypes, default as PreTransactionModal } from "components/Shared/PreTransactionModal"; @@ -9,9 +9,9 @@ import { Page } from "pages"; import Tooltip from "rc-tooltip"; import * as React from "react"; import { connect } from "react-redux"; -import { IRootState } from "reducers"; -import { showNotification } from "reducers/notifications"; -import { IProfileState } from "reducers/profilesReducer"; +import { IRootState } from "@store"; +import { showNotification } from "@store/notifications/notifications.reducer"; +import { IProfileState } from "@store/profiles/profilesReducer"; import withSubscription, { ISubscriptionProps } from "components/Shared/withSubscription"; import { of, combineLatest, Observable } from "rxjs"; import * as css from "./ActionButton.scss"; diff --git a/src/components/Proposal/Create/SchemeForms/CreateContributionRewardProposal.tsx b/src/components/Proposal/Create/SchemeForms/CreateContributionRewardProposal.tsx index 9f79ac723..c9bb34035 100644 --- a/src/components/Proposal/Create/SchemeForms/CreateContributionRewardProposal.tsx +++ b/src/components/Proposal/Create/SchemeForms/CreateContributionRewardProposal.tsx @@ -1,7 +1,7 @@ import * as React from "react"; import { connect } from "react-redux"; import { IDAOState, ISchemeState, Address } from "@daostack/arc.js"; -import { createProposal } from "actions/arcActions"; +import { createProposal } from "@store/arc/arcActions"; import { enableWalletProvider } from "arc"; import { ErrorMessage, Field, Form, Formik, FormikProps } from "formik"; import withSubscription, { ISubscriptionProps } from "components/Shared/withSubscription"; @@ -10,7 +10,7 @@ import TagsSelector from "components/Proposal/Create/SchemeForms/TagsSelector"; import TrainingTooltip from "components/Shared/TrainingTooltip"; import Analytics from "lib/analytics"; import { baseTokenName, supportedTokens, toBaseUnit, tokenDetails, toWei, isValidUrl, isAddress, getArcByDAOAddress, getNetworkByDAOAddress } from "lib/util"; -import { showNotification, NotificationStatus } from "reducers/notifications"; +import { showNotification, NotificationStatus } from "@store/notifications/notifications.reducer"; import { exportUrl, importUrlValues } from "lib/proposalUtils"; import * as css from "components/Proposal/Create/CreateProposal.scss"; import MarkdownField from "./MarkdownField"; diff --git a/src/components/Proposal/Create/SchemeForms/CreateGenericMultiCallProposal.tsx b/src/components/Proposal/Create/SchemeForms/CreateGenericMultiCallProposal.tsx index b5270588e..b27bfe156 100644 --- a/src/components/Proposal/Create/SchemeForms/CreateGenericMultiCallProposal.tsx +++ b/src/components/Proposal/Create/SchemeForms/CreateGenericMultiCallProposal.tsx @@ -1,11 +1,11 @@ import { ISchemeState } from "@daostack/arc.js"; -import { createProposal } from "actions/arcActions"; +import { createProposal } from "@store/arc/arcActions"; import { enableWalletProvider } from "arc"; import { ErrorMessage, Field, Form, Formik, FormikProps, FieldArray } from "formik"; import Analytics from "lib/analytics"; import * as React from "react"; import { connect } from "react-redux"; -import { showNotification, NotificationStatus } from "reducers/notifications"; +import { showNotification, NotificationStatus } from "@store/notifications/notifications.reducer"; import { baseTokenName, isValidUrl, isAddress, linkToEtherScan, getContractName, toWei, getNetworkByDAOAddress, getArcByDAOAddress, Networks} from "lib/util"; import { exportUrl, importUrlValues } from "lib/proposalUtils"; import TagsSelector from "components/Proposal/Create/SchemeForms/TagsSelector"; diff --git a/src/components/Proposal/Create/SchemeForms/CreateKnownGenericSchemeProposal.tsx b/src/components/Proposal/Create/SchemeForms/CreateKnownGenericSchemeProposal.tsx index 16abd393f..8be31a1b8 100644 --- a/src/components/Proposal/Create/SchemeForms/CreateKnownGenericSchemeProposal.tsx +++ b/src/components/Proposal/Create/SchemeForms/CreateKnownGenericSchemeProposal.tsx @@ -10,9 +10,9 @@ import Interweave from "interweave"; import { Action, ActionField, GenericSchemeInfo } from "genericSchemeRegistry"; -import { IRootState } from "reducers"; -import { NotificationStatus, showNotification } from "reducers/notifications"; -import * as arcActions from "actions/arcActions"; +import { IRootState } from "@store"; +import { NotificationStatus, showNotification } from "@store/notifications/notifications.reducer"; +import * as arcActions from "@store/arc/arcActions"; import Analytics from "lib/analytics"; import { isValidUrl, getArcByDAOAddress, getNetworkByDAOAddress } from "lib/util"; diff --git a/src/components/Proposal/Create/SchemeForms/CreateSchemeRegistrarProposal.tsx b/src/components/Proposal/Create/SchemeForms/CreateSchemeRegistrarProposal.tsx index fb4d87e26..b74cb7aaf 100644 --- a/src/components/Proposal/Create/SchemeForms/CreateSchemeRegistrarProposal.tsx +++ b/src/components/Proposal/Create/SchemeForms/CreateSchemeRegistrarProposal.tsx @@ -6,8 +6,8 @@ import withSubscription, { ISubscriptionProps } from "components/Shared/withSubs import TagsSelector from "components/Proposal/Create/SchemeForms/TagsSelector"; import TrainingTooltip from "components/Shared/TrainingTooltip"; -import { createProposal } from "actions/arcActions"; -import { showNotification, NotificationStatus } from "reducers/notifications"; +import { createProposal } from "@store/arc/arcActions"; +import { showNotification, NotificationStatus } from "@store/notifications/notifications.reducer"; import Analytics from "lib/analytics"; import { isValidUrl, getNetworkByDAOAddress, getArcByAddress, getArcByDAOAddress } from "lib/util"; import { GetSchemeIsActiveActions, getSchemeIsActive, REQUIRED_SCHEME_PERMISSIONS, schemeNameAndAddress, SchemePermissions, schemeNameFromAddress } from "lib/schemeUtils"; diff --git a/src/components/Proposal/Create/SchemeForms/CreateUnknownGenericSchemeProposal.tsx b/src/components/Proposal/Create/SchemeForms/CreateUnknownGenericSchemeProposal.tsx index 84c4c1532..1296e13a1 100644 --- a/src/components/Proposal/Create/SchemeForms/CreateUnknownGenericSchemeProposal.tsx +++ b/src/components/Proposal/Create/SchemeForms/CreateUnknownGenericSchemeProposal.tsx @@ -1,11 +1,11 @@ import { ISchemeState } from "@daostack/arc.js"; -import { createProposal } from "actions/arcActions"; +import { createProposal } from "@store/arc/arcActions"; import { enableWalletProvider } from "arc"; import { ErrorMessage, Field, Form, Formik, FormikProps } from "formik"; import Analytics from "lib/analytics"; import * as React from "react"; import { connect } from "react-redux"; -import { showNotification, NotificationStatus } from "reducers/notifications"; +import { showNotification, NotificationStatus } from "@store/notifications/notifications.reducer"; import { baseTokenName, isValidUrl, getNetworkByDAOAddress, getArcByDAOAddress } from "lib/util"; import { exportUrl, importUrlValues } from "lib/proposalUtils"; import TagsSelector from "components/Proposal/Create/SchemeForms/TagsSelector"; diff --git a/src/components/Proposal/Create/SchemeForms/Validators.ts b/src/components/Proposal/Create/SchemeForms/Validators.ts index 14fd4ea35..dd97c2909 100644 --- a/src/components/Proposal/Create/SchemeForms/Validators.ts +++ b/src/components/Proposal/Create/SchemeForms/Validators.ts @@ -42,7 +42,7 @@ export const requireValue = (value: any): string => { */ export const validateParamValue = (type: string, value: string): undefined | string => { if (isAddressType(type)) { - if (!isAddress(value)) { + if (!isAddress(value, true)) { return "Must be a valid address"; } } diff --git a/src/components/Proposal/Create/index.ts b/src/components/Proposal/Create/index.ts index fb792a720..36083f831 100644 --- a/src/components/Proposal/Create/index.ts +++ b/src/components/Proposal/Create/index.ts @@ -1,7 +1,7 @@ import { History } from "history"; import { connect } from "react-redux"; import { RouteComponentProps } from "react-router-dom"; -import { IRootState } from "reducers"; +import { IRootState } from "@store"; import { of } from "rxjs"; import { Address } from "@daostack/arc.js"; diff --git a/src/components/Proposal/ProposalCard.scss b/src/components/Proposal/ProposalCard.scss index 65408ef72..ebb64d604 100644 --- a/src/components/Proposal/ProposalCard.scss +++ b/src/components/Proposal/ProposalCard.scss @@ -35,7 +35,7 @@ .proposal { width: 418px; - border-radius: 0 15px 15px 15px; + border-radius: 15px; background-color: $white; margin-right: 20px; margin-top: 10px; diff --git a/src/components/Proposal/ProposalData.tsx b/src/components/Proposal/ProposalData.tsx index 79a9b441b..2c33a4165 100644 --- a/src/components/Proposal/ProposalData.tsx +++ b/src/components/Proposal/ProposalData.tsx @@ -6,9 +6,9 @@ import withSubscription, { ISubscriptionProps } from "components/Shared/withSubs import * as moment from "moment"; import * as React from "react"; import { connect } from "react-redux"; -import { IRootState } from "reducers"; +import { IRootState } from "@store"; import { closingTime } from "lib/proposalHelpers"; -import { IProfileState } from "reducers/profilesReducer"; +import { IProfileState } from "@store/profiles/profilesReducer"; import { combineLatest, concat, of, Observable } from "rxjs"; import { map, mergeMap } from "rxjs/operators"; diff --git a/src/components/Proposal/ProposalDetails.scss b/src/components/Proposal/ProposalDetails.scss index 464f662fa..ad4f4aa43 100644 --- a/src/components/Proposal/ProposalDetails.scss +++ b/src/components/Proposal/ProposalDetails.scss @@ -37,7 +37,7 @@ button.disabled { } .proposal { - border-radius: 0 15px 15px 15px; + border-radius: 15px; background-color: transparent; margin-right: 20px; margin-bottom: 0px; @@ -56,6 +56,7 @@ button.disabled { flex-grow: 2; padding-right: 25px; position: relative; + max-width: 1000px; .actionButtonContainer { display: inline-block; @@ -130,7 +131,7 @@ button.disabled { position: relative; background-color: $white; border-right: 1px solid rgba(215, 225, 237, 1); - border-radius: 0 15px 15px 15px; + border-radius: 15px; margin: 0 0 20px 20px; .voteStatus { @@ -154,7 +155,7 @@ button.disabled { position: relative; background-color: white; border-right: 1px solid #d7e1ed; - border-radius: 0 15px 15px 15px; + border-radius: 15px; margin: 0 0 20px 20px; .predictionStatus { diff --git a/src/components/Proposal/ProposalDetailsPage.tsx b/src/components/Proposal/ProposalDetailsPage.tsx index 370b0cb18..3ea3623b1 100644 --- a/src/components/Proposal/ProposalDetailsPage.tsx +++ b/src/components/Proposal/ProposalDetailsPage.tsx @@ -73,8 +73,8 @@ class ProposalDetailsPage extends React.Component { "DAO Name": this.props.daoState.name, "Proposal Hash": this.props.proposal.id, "Proposal Title": this.props.proposal.title, - "Scheme Address": this.props.proposal.scheme.id, - "Scheme Name": this.props.proposal.scheme.name, + "Scheme Address": this.props.proposal.scheme?.id, + "Scheme Name": this.props.proposal.scheme?.name, }); this.crxContractName = rewarderContractName(this.props.proposal.scheme); @@ -135,7 +135,7 @@ class ProposalDetailsPage extends React.Component { } return (
- {schemeName(proposal.scheme, proposal.scheme.address)} + {schemeName(proposal.scheme, proposal.scheme?.address) ?? "Unknown"} {humanProposalTitle(proposal, 40)}
diff --git a/src/components/Proposal/ProposalSummary/ProposalSummary.tsx b/src/components/Proposal/ProposalSummary/ProposalSummary.tsx index 6bfd2ae0f..05ba14823 100644 --- a/src/components/Proposal/ProposalSummary/ProposalSummary.tsx +++ b/src/components/Proposal/ProposalSummary/ProposalSummary.tsx @@ -2,7 +2,7 @@ import { IDAOState, IProposalState, IProposalType } from "@daostack/arc.js"; import classNames from "classnames"; import { GenericSchemeRegistry } from "genericSchemeRegistry"; import * as React from "react"; -import { IProfileState } from "reducers/profilesReducer"; +import { IProfileState } from "@store/profiles/profilesReducer"; import * as css from "./ProposalSummary.scss"; import ProposalSummaryContributionReward from "./ProposalSummaryContributionReward"; import ProposalSummaryKnownGenericScheme from "./ProposalSummaryKnownGenericScheme"; diff --git a/src/components/Proposal/ProposalSummary/ProposalSummaryContributionReward.tsx b/src/components/Proposal/ProposalSummary/ProposalSummaryContributionReward.tsx index 89c24a96f..91d304e32 100644 --- a/src/components/Proposal/ProposalSummary/ProposalSummaryContributionReward.tsx +++ b/src/components/Proposal/ProposalSummary/ProposalSummaryContributionReward.tsx @@ -3,7 +3,7 @@ import classNames from "classnames"; import AccountPopup from "components/Account/AccountPopup"; import AccountProfileName from "components/Account/AccountProfileName"; import * as React from "react"; -import { IProfileState } from "reducers/profilesReducer"; +import { IProfileState } from "@store/profiles/profilesReducer"; import RewardsString from "../RewardsString"; import * as css from "./ProposalSummary.scss"; diff --git a/src/components/Proposal/ProposalSummary/ProposalSummaryKnownGenericScheme.tsx b/src/components/Proposal/ProposalSummary/ProposalSummaryKnownGenericScheme.tsx index 6e65f7870..3b8cbfc17 100644 --- a/src/components/Proposal/ProposalSummary/ProposalSummaryKnownGenericScheme.tsx +++ b/src/components/Proposal/ProposalSummary/ProposalSummaryKnownGenericScheme.tsx @@ -4,7 +4,7 @@ import { GenericSchemeInfo } from "genericSchemeRegistry"; import { linkToEtherScan, formatTokens, truncateWithEllipses, getNetworkByDAOAddress } from "lib/util"; import CopyToClipboard from "components/Shared/CopyToClipboard"; import * as React from "react"; -import { IProfileState } from "reducers/profilesReducer"; +import { IProfileState } from "@store/profiles/profilesReducer"; import * as css from "./ProposalSummary.scss"; import ProposalSummaryDutchX from "./ProposalSummaryDutchX"; import ProposalSummaryStandardBounties from "./ProposalSummaryStandardBounties"; diff --git a/src/components/Proposal/ProposalSummary/ProposalSummaryMultiCallGenericScheme.tsx b/src/components/Proposal/ProposalSummary/ProposalSummaryMultiCallGenericScheme.tsx index e24161fa1..6314aeb5f 100644 --- a/src/components/Proposal/ProposalSummary/ProposalSummaryMultiCallGenericScheme.tsx +++ b/src/components/Proposal/ProposalSummary/ProposalSummaryMultiCallGenericScheme.tsx @@ -2,7 +2,7 @@ import { IDAOState, IProposalState } from "@daostack/arc.js"; import classNames from "classnames"; import { linkToEtherScan, baseTokenName, truncateWithEllipses, buf2hex, getContractName, fromWei, getNetworkByDAOAddress, Networks } from "lib/util"; import * as React from "react"; -import { IProfileState } from "reducers/profilesReducer"; +import { IProfileState } from "@store/profiles/profilesReducer"; import * as css from "./ProposalSummary.scss"; import * as BN from "bn.js"; import CopyToClipboard from "components/Shared/CopyToClipboard"; @@ -85,7 +85,7 @@ const DecodedData = (props: IDecodedDataProps) => {
{lodaing ?
Loading method info...
: -
Method:
{parseMethodSignature(decodedData)}
+
Method:
{parseMethodSignature(decodedData)}
{methodParams}
}
diff --git a/src/components/Proposal/ProposalSummary/ProposalSummarySchemeRegistrar.tsx b/src/components/Proposal/ProposalSummary/ProposalSummarySchemeRegistrar.tsx index 39f8e0a6f..e57e8c6f3 100644 --- a/src/components/Proposal/ProposalSummary/ProposalSummarySchemeRegistrar.tsx +++ b/src/components/Proposal/ProposalSummary/ProposalSummarySchemeRegistrar.tsx @@ -4,7 +4,7 @@ import { getNetworkByDAOAddress, linkToEtherScan } from "lib/util"; import CopyToClipboard from "components/Shared/CopyToClipboard"; import { schemeNameAndAddress } from "lib/schemeUtils"; import * as React from "react"; -import { IProfileState } from "reducers/profilesReducer"; +import { IProfileState } from "@store/profiles/profilesReducer"; import * as css from "./ProposalSummary.scss"; interface IExternalProps { diff --git a/src/components/Proposal/ProposalSummary/ProposalSummaryUnknownGenericScheme.tsx b/src/components/Proposal/ProposalSummary/ProposalSummaryUnknownGenericScheme.tsx index 88ef6fd2b..5b19d49e9 100644 --- a/src/components/Proposal/ProposalSummary/ProposalSummaryUnknownGenericScheme.tsx +++ b/src/components/Proposal/ProposalSummary/ProposalSummaryUnknownGenericScheme.tsx @@ -2,7 +2,7 @@ import { IDAOState, IProposalState } from "@daostack/arc.js"; import classNames from "classnames"; import { linkToEtherScan, formatTokens, getNetworkByDAOAddress } from "lib/util"; import * as React from "react"; -import { IProfileState } from "reducers/profilesReducer"; +import { IProfileState } from "@store/profiles/profilesReducer"; import * as css from "./ProposalSummary.scss"; interface IProps { diff --git a/src/components/Proposal/Staking/StakeButtons.scss b/src/components/Proposal/Staking/StakeButtons.scss index dd6726384..58faa7451 100644 --- a/src/components/Proposal/Staking/StakeButtons.scss +++ b/src/components/Proposal/Staking/StakeButtons.scss @@ -209,9 +209,10 @@ .enablePredictions { button { - width: 120px; - white-space: nowrap; + width: fit-content; height: auto; + padding-left: 10px; + padding-right: 10px; } } } diff --git a/src/components/Proposal/Staking/StakeButtons.tsx b/src/components/Proposal/Staking/StakeButtons.tsx index 1723389c0..bfa08ffe7 100644 --- a/src/components/Proposal/Staking/StakeButtons.tsx +++ b/src/components/Proposal/Staking/StakeButtons.tsx @@ -1,5 +1,5 @@ import { Address, IDAOState, IProposalOutcome, IProposalStage, IProposalState, Stake } from "@daostack/arc.js"; -import { approveStakingGens, stakeProposal } from "actions/arcActions"; +import { approveStakingGens, stakeProposal } from "@store/arc/arcActions"; import { enableWalletProvider } from "arc"; import * as BN from "bn.js"; @@ -12,8 +12,8 @@ import Tooltip from "rc-tooltip"; import * as React from "react"; import { connect } from "react-redux"; import { Modal } from "react-router-modal"; -import { showNotification } from "reducers/notifications"; -import { IProfileState } from "reducers/profilesReducer"; +import { showNotification } from "@store/notifications/notifications.reducer"; +import { IProfileState } from "@store/profiles/profilesReducer"; import * as css from "./StakeButtons.scss"; diff --git a/src/components/Proposal/Voting/VoteBreakdown.tsx b/src/components/Proposal/Voting/VoteBreakdown.tsx index 9e40d9166..2b6c49e93 100644 --- a/src/components/Proposal/Voting/VoteBreakdown.tsx +++ b/src/components/Proposal/Voting/VoteBreakdown.tsx @@ -7,7 +7,7 @@ import Reputation from "components/Account/Reputation"; import { getNetworkByDAOAddress } from "lib/util"; import * as React from "react"; import { connect } from "react-redux"; -import { showNotification } from "reducers/notifications"; +import { showNotification } from "@store/notifications/notifications.reducer"; import * as css from "./VoteBreakdown.scss"; interface IExternalProps { diff --git a/src/components/Proposal/Voting/VoteButtons.tsx b/src/components/Proposal/Voting/VoteButtons.tsx index a5bb5570d..770bef80b 100644 --- a/src/components/Proposal/Voting/VoteButtons.tsx +++ b/src/components/Proposal/Voting/VoteButtons.tsx @@ -1,5 +1,5 @@ import { Address, IDAOState, IMemberState, IProposalOutcome, IProposalStage, IProposalState } from "@daostack/arc.js"; -import { voteOnProposal } from "actions/arcActions"; +import { voteOnProposal } from "@store/arc/arcActions"; import { enableWalletProvider } from "arc"; import * as BN from "bn.js"; @@ -11,7 +11,7 @@ import { fromWei, getNetworkByDAOAddress } from "lib/util"; import { Page } from "pages"; import * as React from "react"; import { connect } from "react-redux"; -import { showNotification } from "reducers/notifications"; +import { showNotification } from "@store/notifications/notifications.reducer"; import * as css from "./VoteButtons.scss"; interface IExternalProps { diff --git a/src/components/Proposal/Voting/VotersModal.tsx b/src/components/Proposal/Voting/VotersModal.tsx index 8f9418c34..e1bfa46b0 100644 --- a/src/components/Proposal/Voting/VotersModal.tsx +++ b/src/components/Proposal/Voting/VotersModal.tsx @@ -1,5 +1,5 @@ import { Address, IDAOState, IProposalOutcome, IProposalState, Vote } from "@daostack/arc.js"; -import { getProfile } from "actions/profilesActions"; +import { getProfile } from "@store/profiles/profilesActions"; import classNames from "classnames"; import AccountImage from "components/Account/AccountImage"; import AccountProfileName from "components/Account/AccountProfileName"; @@ -7,8 +7,8 @@ import Reputation from "components/Account/Reputation"; import ModalPopup from "components/Shared/ModalPopup"; import withSubscription, { ISubscriptionProps } from "components/Shared/withSubscription"; import * as React from "react"; -import { IProfileState, IProfilesState } from "reducers/profilesReducer"; -import { IRootState } from "reducers"; +import { IProfileState, IProfilesState } from "@store/profiles/profilesReducer"; +import { IRootState } from "@store"; import { connect } from "react-redux"; import VoteGraph from "./VoteGraph"; import { getArcByDAOAddress } from "lib/util"; diff --git a/src/components/Redemptions/RedemptionsMenu.tsx b/src/components/Redemptions/RedemptionsMenu.tsx index b3a1051c9..d103ab06d 100644 --- a/src/components/Redemptions/RedemptionsMenu.tsx +++ b/src/components/Redemptions/RedemptionsMenu.tsx @@ -1,6 +1,6 @@ import { Address, IDAOState, IProposalState, IRewardState, Proposal, Reward } from "@daostack/arc.js"; import { enableWalletProvider } from "arc"; -import { redeemProposal } from "actions/arcActions"; +import { redeemProposal } from "@store/arc/arcActions"; import * as BN from "bn.js"; import withSubscription, { ISubscriptionProps } from "components/Shared/withSubscription"; @@ -12,9 +12,9 @@ import { Page } from "pages"; import * as React from "react"; import { connect } from "react-redux"; import { Link } from "react-router-dom"; -import { IRootState } from "reducers"; -import { showNotification } from "reducers/notifications"; -import { IProfileState } from "reducers/profilesReducer"; +import { IRootState } from "@store"; +import { showNotification } from "@store/notifications/notifications.reducer"; +import { IProfileState } from "@store/profiles/profilesReducer"; import { combineLatest, concat, Observable, of } from "rxjs"; import { defaultIfEmpty, map, mergeMap } from "rxjs/operators"; import * as css from "./RedemptionsMenu.scss"; diff --git a/src/components/Redemptions/RedemptionsPage.tsx b/src/components/Redemptions/RedemptionsPage.tsx index 0b58e7613..c3f6eee47 100644 --- a/src/components/Redemptions/RedemptionsPage.tsx +++ b/src/components/Redemptions/RedemptionsPage.tsx @@ -1,6 +1,6 @@ import { Address, DAOFieldsFragment, IContributionReward, IDAOState, IRewardState, Proposal } from "@daostack/arc.js"; import { enableWalletProvider, getArcs } from "arc"; -import { redeemProposal } from "actions/arcActions"; +import { redeemProposal } from "@store/arc/arcActions"; import * as BN from "bn.js"; import Loading from "components/Shared/Loading"; import withSubscription, { ISubscriptionProps } from "components/Shared/withSubscription"; @@ -13,8 +13,8 @@ import * as React from "react"; import { BreadcrumbsItem } from "react-breadcrumbs-dynamic"; import { connect } from "react-redux"; import * as Sticky from "react-stickynode"; -import { IRootState } from "reducers"; -import { showNotification } from "reducers/notifications"; +import { IRootState } from "@store"; +import { showNotification } from "@store/notifications/notifications.reducer"; import { of, concat } from "rxjs"; import { map, first } from "rxjs/operators"; import ProposalCard from "../Proposal/ProposalCard"; diff --git a/src/components/Scheme/ContributionRewardExtRewarders/Competition/Card.tsx b/src/components/Scheme/ContributionRewardExtRewarders/Competition/Card.tsx index f8c4738be..5f7179f03 100644 --- a/src/components/Scheme/ContributionRewardExtRewarders/Competition/Card.tsx +++ b/src/components/Scheme/ContributionRewardExtRewarders/Competition/Card.tsx @@ -2,8 +2,8 @@ import AccountPopup from "components/Account/AccountPopup"; import AccountProfileName from "components/Account/AccountProfileName"; import { humanProposalTitle } from "lib/util"; import RewardsString from "components/Proposal/RewardsString"; -import { IProfileState } from "reducers/profilesReducer"; -import { IRootState } from "reducers"; +import { IProfileState } from "@store/profiles/profilesReducer"; +import { IRootState } from "@store"; import CountdownText from "components/Scheme/ContributionRewardExtRewarders/Competition/CountdownText"; import { connect } from "react-redux"; import { IDAOState, IProposalState } from "@daostack/arc.js"; diff --git a/src/components/Scheme/ContributionRewardExtRewarders/Competition/CreateProposal.tsx b/src/components/Scheme/ContributionRewardExtRewarders/Competition/CreateProposal.tsx index c680075e3..de7898509 100644 --- a/src/components/Scheme/ContributionRewardExtRewarders/Competition/CreateProposal.tsx +++ b/src/components/Scheme/ContributionRewardExtRewarders/Competition/CreateProposal.tsx @@ -1,5 +1,5 @@ import { IDAOState, ISchemeState, IProposalCreateOptionsCompetition } from "@daostack/arc.js"; -import * as arcActions from "actions/arcActions"; +import * as arcActions from "@store/arc/arcActions"; import { enableWalletProvider, getArc } from "arc"; import withSubscription, { ISubscriptionProps } from "components/Shared/withSubscription"; import { ErrorMessage, Field, Form, Formik, FormikProps } from "formik"; @@ -7,7 +7,7 @@ import { baseTokenName, supportedTokens, toBaseUnit, tokenDetails, toWei, isVali import * as React from "react"; import { connect } from "react-redux"; import Select from "react-select"; -import { showNotification, NotificationStatus } from "reducers/notifications"; +import { showNotification, NotificationStatus } from "@store/notifications/notifications.reducer"; import TagsSelector from "components/Proposal/Create/SchemeForms/TagsSelector"; import TrainingTooltip from "components/Shared/TrainingTooltip"; import * as css from "components/Proposal/Create/CreateProposal.scss"; diff --git a/src/components/Scheme/ContributionRewardExtRewarders/Competition/CreateSubmission.tsx b/src/components/Scheme/ContributionRewardExtRewarders/Competition/CreateSubmission.tsx index c34189120..f2ef00aa3 100644 --- a/src/components/Scheme/ContributionRewardExtRewarders/Competition/CreateSubmission.tsx +++ b/src/components/Scheme/ContributionRewardExtRewarders/Competition/CreateSubmission.tsx @@ -10,7 +10,7 @@ import UserSearchField from "components/Shared/UserSearchField"; import { ICreateSubmissionOptions } from "./utils"; import * as css from "./Competitions.scss"; import { exportUrl, importUrlValues } from "lib/proposalUtils"; -import { showNotification, NotificationStatus } from "reducers/notifications"; +import { showNotification, NotificationStatus } from "@store/notifications/notifications.reducer"; import { connect } from "react-redux"; interface IDispatchProps { diff --git a/src/components/Scheme/ContributionRewardExtRewarders/Competition/Details.tsx b/src/components/Scheme/ContributionRewardExtRewarders/Competition/Details.tsx index 2bdd0c4a9..d6428173d 100644 --- a/src/components/Scheme/ContributionRewardExtRewarders/Competition/Details.tsx +++ b/src/components/Scheme/ContributionRewardExtRewarders/Competition/Details.tsx @@ -1,10 +1,10 @@ -import { IRootState } from "reducers"; -import { IProfilesState } from "reducers/profilesReducer"; +import { IRootState } from "@store"; +import { IProfilesState } from "@store/profiles/profilesReducer"; import { humanProposalTitle, formatFriendlyDateForLocalTimezone, formatTokens, isAddress, getArcByDAOAddress, getNetworkByDAOAddress } from "lib/util"; import { schemeName } from "lib/schemeUtils"; import TagsSelector from "components/Proposal/Create/SchemeForms/TagsSelector"; import RewardsString from "components/Proposal/RewardsString"; -import { showNotification } from "reducers/notifications"; +import { showNotification } from "@store/notifications/notifications.reducer"; import { enableWalletProvider, getArc } from "arc"; import withSubscription, { ISubscriptionProps } from "components/Shared/withSubscription"; import AccountPopup from "components/Account/AccountPopup"; diff --git a/src/components/Scheme/ContributionRewardExtRewarders/Competition/SubmissionDetails.tsx b/src/components/Scheme/ContributionRewardExtRewarders/Competition/SubmissionDetails.tsx index a91ac3fae..ccfed7f90 100644 --- a/src/components/Scheme/ContributionRewardExtRewarders/Competition/SubmissionDetails.tsx +++ b/src/components/Scheme/ContributionRewardExtRewarders/Competition/SubmissionDetails.tsx @@ -4,12 +4,12 @@ import * as React from "react"; import withSubscription, { ISubscriptionProps } from "components/Shared/withSubscription"; import { ensureHttps, formatFriendlyDateForLocalTimezone, formatTokens, getArcByDAOAddress } from "lib/util"; -import { IRootState } from "reducers"; +import { IRootState } from "@store"; import { connect } from "react-redux"; import classNames from "classnames"; import AccountPopup from "components/Account/AccountPopup"; import AccountProfileName from "components/Account/AccountProfileName"; -import { IProfilesState } from "reducers/profilesReducer"; +import { IProfilesState } from "@store/profiles/profilesReducer"; import { combineLatest, of } from "rxjs"; import Tooltip from "rc-tooltip"; import TagsSelector from "components/Proposal/Create/SchemeForms/TagsSelector"; diff --git a/src/components/Scheme/ContributionRewardExtRewarders/Competition/utils.ts b/src/components/Scheme/ContributionRewardExtRewarders/Competition/utils.ts index c7e3ada25..a34b0905d 100644 --- a/src/components/Scheme/ContributionRewardExtRewarders/Competition/utils.ts +++ b/src/components/Scheme/ContributionRewardExtRewarders/Competition/utils.ts @@ -10,8 +10,8 @@ import { ThunkAction } from "redux-thunk"; import * as moment from "moment"; import { getArc } from "arc"; -import { operationNotifierObserver } from "actions/arcActions"; -import { IRootState } from "reducers"; +import { operationNotifierObserver } from "@store/arc/arcActions"; +import { IRootState } from "@store"; import { Observable, of } from "rxjs"; import { map, mergeMap, toArray, first } from "rxjs/operators"; import { GRAPH_POLL_INTERVAL } from "../../../../settings"; diff --git a/src/components/Scheme/ReputationFromToken.tsx b/src/components/Scheme/ReputationFromToken.tsx index c687af7c4..2a33a6464 100644 --- a/src/components/Scheme/ReputationFromToken.tsx +++ b/src/components/Scheme/ReputationFromToken.tsx @@ -5,8 +5,8 @@ import { getWeb3Provider, getArcSettings } from "arc"; import { soliditySHA3 } from "ethereumjs-abi"; import { parse } from "query-string"; import { RouteComponentProps } from "react-router-dom"; -import { NotificationStatus } from "reducers/notifications"; -import { redeemReputationFromToken } from "actions/arcActions"; +import { NotificationStatus } from "@store/notifications/notifications.reducer"; +import { redeemReputationFromToken } from "@store/arc/arcActions"; import { enableWalletProvider, getArc } from "arc"; import { ErrorMessage, Field, Form, Formik, FormikProps } from "formik"; import { fromWei, getArcByDAOAddress, getNetworkByDAOAddress } from "lib/util"; @@ -15,8 +15,8 @@ import * as React from "react"; import { BreadcrumbsItem } from "react-breadcrumbs-dynamic"; import * as Sticky from "react-stickynode"; import { connect } from "react-redux"; -import { IRootState } from "reducers"; -import { showNotification } from "reducers/notifications"; +import { IRootState } from "@store"; +import { showNotification } from "@store/notifications/notifications.reducer"; import * as schemeCss from "./Scheme.scss"; import * as css from "./ReputationFromToken.scss"; diff --git a/src/components/Scheme/SchemeContainer.tsx b/src/components/Scheme/SchemeContainer.tsx index 26de70c65..e3a47e112 100644 --- a/src/components/Scheme/SchemeContainer.tsx +++ b/src/components/Scheme/SchemeContainer.tsx @@ -11,8 +11,8 @@ import { BreadcrumbsItem } from "react-breadcrumbs-dynamic"; import { Helmet } from "react-helmet"; import { Link, Route, RouteComponentProps, Switch } from "react-router-dom"; import * as Sticky from "react-stickynode"; -import { showNotification } from "reducers/notifications"; -import { IRootState } from "reducers"; +import { showNotification } from "@store/notifications/notifications.reducer"; +import { IRootState } from "@store"; import { connect } from "react-redux"; import TrainingTooltip from "components/Shared/TrainingTooltip"; import { combineLatest, Observable, of } from "rxjs"; diff --git a/src/components/Scheme/SchemeProposalsPage.tsx b/src/components/Scheme/SchemeProposalsPage.tsx index 141541a97..96fa89346 100644 --- a/src/components/Scheme/SchemeProposalsPage.tsx +++ b/src/components/Scheme/SchemeProposalsPage.tsx @@ -14,7 +14,7 @@ import { Link } from "react-router-dom"; import { CSSTransition, TransitionGroup } from "react-transition-group"; import { Observable, combineLatest } from "rxjs"; import { connect } from "react-redux"; -import { showNotification } from "reducers/notifications"; +import { showNotification } from "@store/notifications/notifications.reducer"; import TrainingTooltip from "components/Shared/TrainingTooltip"; import ProposalCard from "../Proposal/ProposalCard"; import * as css from "./SchemeProposals.scss"; diff --git a/src/components/Shared/CopyToClipboard.tsx b/src/components/Shared/CopyToClipboard.tsx index a04463095..1466dda61 100644 --- a/src/components/Shared/CopyToClipboard.tsx +++ b/src/components/Shared/CopyToClipboard.tsx @@ -1,5 +1,5 @@ import * as React from "react"; -import { NotificationStatus, showNotification } from "reducers/notifications"; +import { NotificationStatus, showNotification } from "@store/notifications/notifications.reducer"; import * as css from "./CopyToClipboard.scss"; import { connect } from "react-redux"; import { copyToClipboard } from "lib/util"; diff --git a/src/components/Shared/FollowButton.tsx b/src/components/Shared/FollowButton.tsx index 49fa8d504..cdc77a7a0 100644 --- a/src/components/Shared/FollowButton.tsx +++ b/src/components/Shared/FollowButton.tsx @@ -1,13 +1,13 @@ -import { toggleFollow } from "actions/profilesActions"; +import { toggleFollow } from "@store/profiles/profilesActions"; import { enableWalletProvider } from "arc"; import classNames from "classnames"; import ThreeboxModal from "components/Shared/ThreeboxModal"; import Tooltip from "rc-tooltip"; import * as React from "react"; import { connect } from "react-redux"; -import { showNotification } from "reducers/notifications"; -import { IRootState } from "reducers"; -import { FollowType, IProfileState } from "reducers/profilesReducer"; +import { showNotification } from "@store/notifications/notifications.reducer"; +import { IRootState } from "@store"; +import { FollowType, IProfileState } from "@store/profiles/profilesReducer"; import { Networks } from "lib/util"; import * as css from "./FollowButton.scss"; diff --git a/src/components/Shared/Loading.scss b/src/components/Shared/Loading.scss index 63e33d23d..0a1f29015 100644 --- a/src/components/Shared/Loading.scss +++ b/src/components/Shared/Loading.scss @@ -1,7 +1,11 @@ .loading { + width: 50px; + display: block; + margin: auto; &.global { position: fixed; - top: calc(50vh - 100px); - left: calc(50vw - 100px); + top: 50%; + left: 50%; + transform: translate(-50%, -50%); } } diff --git a/src/components/Shared/PreTransactionModal.tsx b/src/components/Shared/PreTransactionModal.tsx index 90ec031fc..b8b79111e 100644 --- a/src/components/Shared/PreTransactionModal.tsx +++ b/src/components/Shared/PreTransactionModal.tsx @@ -13,8 +13,8 @@ import Tooltip from "rc-tooltip"; import * as React from "react"; import { connect } from "react-redux"; import { Modal } from "react-router-modal"; -import { showNotification } from "reducers/notifications"; -import { IProfileState } from "reducers/profilesReducer"; +import { showNotification } from "@store/notifications/notifications.reducer"; +import { IProfileState } from "@store/profiles/profilesReducer"; import * as css from "./PreTransactionModal.scss"; export enum ActionTypes { diff --git a/src/components/Shared/SimpleMessagePopup.tsx b/src/components/Shared/SimpleMessagePopup.tsx index 81bad6efb..af2ef0157 100644 --- a/src/components/Shared/SimpleMessagePopup.tsx +++ b/src/components/Shared/SimpleMessagePopup.tsx @@ -1,9 +1,9 @@ -import * as uiActions from "actions/uiActions"; +import * as uiActions from "@store/ui/uiActions"; import ModalPopup from "./ModalPopup"; import * as React from "react"; import * as css from "./SimpleMessagePopup.scss"; import { connect } from "react-redux"; -import { IRootState } from "reducers"; +import { IRootState } from "@store"; interface IDispatchProps { hideSimpleMessage: typeof uiActions.hideSimpleMessage; diff --git a/src/components/Shared/ThreeboxModal.tsx b/src/components/Shared/ThreeboxModal.tsx index 7258714f2..fc00dee08 100644 --- a/src/components/Shared/ThreeboxModal.tsx +++ b/src/components/Shared/ThreeboxModal.tsx @@ -1,7 +1,7 @@ import * as React from "react"; import { connect } from "react-redux"; import ModalPopup from "components/Shared/ModalPopup"; -import { showNotification } from "reducers/notifications"; +import { showNotification } from "@store/notifications/notifications.reducer"; import * as css from "./ThreeboxModal.scss"; interface IProps { diff --git a/src/components/Shared/TrainingTooltip.tsx b/src/components/Shared/TrainingTooltip.tsx index d48df2827..1b760ca26 100644 --- a/src/components/Shared/TrainingTooltip.tsx +++ b/src/components/Shared/TrainingTooltip.tsx @@ -1,7 +1,7 @@ import {default as Tooltip, RCTooltip} from "rc-tooltip"; import * as React from "react"; import "./TrainingTooltip.scss"; -import { IRootState } from "reducers"; +import { IRootState } from "@store"; import { connect } from "react-redux"; interface IAppStateProps { diff --git a/src/components/Shared/UserSearchField.tsx b/src/components/Shared/UserSearchField.tsx index 070541c8e..8eb521031 100644 --- a/src/components/Shared/UserSearchField.tsx +++ b/src/components/Shared/UserSearchField.tsx @@ -2,8 +2,8 @@ import { Member } from "@daostack/arc.js"; import * as React from "react"; import * as Autosuggest from "react-autosuggest"; import { connect } from "react-redux"; -import { IRootState } from "reducers"; -import { IProfilesState, IProfileState } from "reducers/profilesReducer"; +import { IRootState } from "@store"; +import { IProfilesState, IProfileState } from "@store/profiles/profilesReducer"; import { first } from "rxjs/operators"; import AccountImage from "components/Account/AccountImage"; import Loading from "components/Shared/Loading"; diff --git a/src/configureStore.ts b/src/configureStore.ts index 41be86a27..6b1e3d332 100644 --- a/src/configureStore.ts +++ b/src/configureStore.ts @@ -3,7 +3,7 @@ import { routerMiddleware } from "react-router-redux"; import { applyMiddleware, createStore } from "redux"; import { composeWithDevTools } from "redux-devtools-extension"; import thunkMiddleware from "redux-thunk"; -import reducers from "./reducers"; +import reducers from "@store"; export const history = createBrowserHistory(); diff --git a/src/layouts/AppContainer.tsx b/src/layouts/AppContainer.tsx index 05eb27ea2..b547dccb0 100644 --- a/src/layouts/AppContainer.tsx +++ b/src/layouts/AppContainer.tsx @@ -1,12 +1,12 @@ -import * as uiActions from "actions/uiActions"; -import { threeBoxLogout } from "actions/profilesActions"; -import { setCurrentAccount } from "actions/web3Actions"; +import * as uiActions from "@store/ui/uiActions"; +import { threeBoxLogout } from "@store/profiles/profilesActions"; +import { setCurrentAccount } from "@store/web3/web3Actions"; import Notification, { NotificationViewStatus } from "components/Notification/Notification"; import Analytics from "lib/analytics"; import Header from "layouts/Header"; import SidebarMenu from "layouts/SidebarMenu"; -import { IRootState } from "reducers"; -import { dismissNotification, INotificationsState, NotificationStatus, showNotification, INotification } from "reducers/notifications"; +import { IRootState } from "@store"; +import { dismissNotification, INotificationsState, NotificationStatus, showNotification, INotification } from "@store/notifications/notifications.reducer"; import { getCachedAccount, cacheWeb3Info, logout, pollForAccountChanges } from "arc"; import ErrorUncaught from "components/Errors/ErrorUncaught"; import { parse } from "query-string"; @@ -20,7 +20,7 @@ import { History } from "history"; import classNames from "classnames"; import { captureException, withScope } from "@sentry/browser"; import { Address } from "@daostack/arc.js"; -import { sortedNotifications } from "../selectors/notifications"; +import { sortedNotifications } from "@store/notifications/notifications"; import * as css from "./App.scss"; import SimpleMessagePopup, { ISimpleMessagePopupProps } from "components/Shared/SimpleMessagePopup"; import { initializeUtils, getNetworkName } from "lib/util"; diff --git a/src/layouts/Header.tsx b/src/layouts/Header.tsx index d82151c8a..8abfd88fb 100644 --- a/src/layouts/Header.tsx +++ b/src/layouts/Header.tsx @@ -1,14 +1,14 @@ -import * as uiActions from "actions/uiActions"; -import { threeBoxLogout } from "actions/profilesActions"; +import * as uiActions from "@store/ui/uiActions"; +import { threeBoxLogout } from "@store/profiles/profilesActions"; import { enableWalletProvider, getAccountIsEnabled, logout, getWeb3ProviderInfo, getWeb3Provider, providerHasConfigUi, getArcs } from "arc"; import AccountImage from "components/Account/AccountImage"; import AccountProfileName from "components/Account/AccountProfileName"; import RedemptionsButton from "components/Redemptions/RedemptionsButton"; import withSubscription, { ISubscriptionProps } from "components/Shared/withSubscription"; import CopyToClipboard from "components/Shared/CopyToClipboard"; -import { IRootState } from "reducers"; -import { showNotification } from "reducers/notifications"; -import { IProfileState } from "reducers/profilesReducer"; +import { IRootState } from "@store"; +import { showNotification } from "@store/notifications/notifications.reducer"; +import { IProfileState } from "@store/profiles/profilesReducer"; import TrainingTooltip from "components/Shared/TrainingTooltip"; import { parse } from "query-string"; import * as React from "react"; diff --git a/src/layouts/SidebarMenu.tsx b/src/layouts/SidebarMenu.tsx index 2d9563708..4d78dafb9 100644 --- a/src/layouts/SidebarMenu.tsx +++ b/src/layouts/SidebarMenu.tsx @@ -1,5 +1,5 @@ import { IDAOState, Token } from "@daostack/arc.js"; -import { hideMenu } from "actions/uiActions"; +import { hideMenu } from "@store/ui/uiActions"; import TrainingTooltip from "components/Shared/TrainingTooltip"; import * as BN from "bn.js"; @@ -13,7 +13,7 @@ import { parse } from "query-string"; import * as React from "react"; import { matchPath, Link, RouteComponentProps } from "react-router-dom"; import { first } from "rxjs/operators"; -import { IRootState } from "reducers"; +import { IRootState } from "@store"; import { connect } from "react-redux"; import { of } from "rxjs"; diff --git a/webpack.base.config.js b/webpack.base.config.js index 7340800ed..937ced8cd 100644 --- a/webpack.base.config.js +++ b/webpack.base.config.js @@ -19,8 +19,8 @@ module.exports = { alias: { arc: resolve("src/arc"), - actions: resolve("src/actions"), components: resolve("src/components"), + "@store": resolve("src/@store"), constants: resolve("src/constants"), data: resolve("data"), genericSchemeRegistry: resolve("src/genericSchemeRegistry"), @@ -28,8 +28,6 @@ module.exports = { layouts: resolve("src/layouts"), lib: resolve("src/lib"), pages: resolve("src/pages"), - reducers: resolve("src/reducers"), - selectors: resolve("src/selectors"), src: resolve("src"), "ipfs-api": "ipfs-api/dist", "bn.js": "bn.js/lib/bn.js"