diff --git a/README.md b/README.md index 3cda472..6365370 100644 --- a/README.md +++ b/README.md @@ -3,6 +3,9 @@ Decentralized mutual credit system based on Ethereum smart contracts. **For the moment this is an implementation of a Proof of Concept.** +![reciprokaWallet](https://raw.githubusercontent.com/arnaucode/reciproka/master/r1.png "reciprokaWallet") +![reciprokaWallet](https://raw.githubusercontent.com/arnaucode/reciproka/master/r2.png "reciprokaWallet") + ## Components - Smart contracts - Ethereum Solidity diff --git a/contracts/account.sol b/contracts/accounts.sol similarity index 90% rename from contracts/account.sol rename to contracts/accounts.sol index db02abf..aab104c 100644 --- a/contracts/account.sol +++ b/contracts/accounts.sol @@ -13,8 +13,8 @@ contract Accounts { event BalanceUpdated(address sender, address receiver, int64 value); function updateBalance(address _receiver, int64 _value) public { - // get Account of _sender // check if balance of _sender is under the limit + require(accounts[msg.sender].Balance - _value > -100, "too much negative balance"); // substract _value from _sender account accounts[msg.sender].Balance = accounts[msg.sender].Balance - _value; // add _value to _receiver account diff --git a/r1.png b/r1.png new file mode 100644 index 0000000..03e2d9f Binary files /dev/null and b/r1.png differ diff --git a/r2.png b/r2.png new file mode 100644 index 0000000..a179b1c Binary files /dev/null and b/r2.png differ diff --git a/wallet/.gitignore b/wallet/.gitignore index d30f40e..ca20921 100644 --- a/wallet/.gitignore +++ b/wallet/.gitignore @@ -19,3 +19,5 @@ npm-debug.log* yarn-debug.log* yarn-error.log* + +src/kit diff --git a/wallet/package-lock.json b/wallet/package-lock.json index 62e23e0..9719e04 100644 --- a/wallet/package-lock.json +++ b/wallet/package-lock.json @@ -4,14 +4,6 @@ "lockfileVersion": 1, "requires": true, "dependencies": { - "@sambego/storybook-state": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/@sambego/storybook-state/-/storybook-state-1.0.7.tgz", - "integrity": "sha512-DxNt+qVttXhYIbZ7tOT+zIuCDg/ePfhYI2CNCYFyXO/gO183xNX5i+cs0UgAO7xLfqAo165zTY33rn45QoQNBw==", - "requires": { - "uuid": "3.3.2" - } - }, "abab": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/abab/-/abab-1.0.4.tgz", @@ -76,6 +68,14 @@ } } }, + "add-dom-event-listener": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/add-dom-event-listener/-/add-dom-event-listener-1.0.2.tgz", + "integrity": "sha1-j67SxBAIchzxEdodMNmVuFvkK+0=", + "requires": { + "object-assign": "4.1.1" + } + }, "address": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/address/-/address-1.0.3.tgz", @@ -158,6 +158,61 @@ "color-convert": "1.9.2" } }, + "antd": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/antd/-/antd-3.8.0.tgz", + "integrity": "sha512-xwtDq+CVkZboqpi7OdEN3TVWFTwHC2Z0NBekoCX4xVG4c6GrzpzMsYigGuxqzjXS3kk1FoDb3OC/f/ICLGKSbw==", + "requires": { + "array-tree-filter": "2.1.0", + "babel-runtime": "6.26.0", + "classnames": "2.2.6", + "create-react-class": "15.6.3", + "create-react-context": "0.2.2", + "css-animation": "1.4.1", + "dom-closest": "0.2.0", + "enquire.js": "2.1.6", + "intersperse": "1.0.0", + "lodash": "4.17.10", + "moment": "2.22.1", + "omit.js": "1.0.0", + "prop-types": "15.6.2", + "raf": "3.4.0", + "rc-animate": "2.4.4", + "rc-calendar": "9.6.2", + "rc-cascader": "0.14.0", + "rc-checkbox": "2.1.5", + "rc-collapse": "1.9.3", + "rc-dialog": "7.2.0", + "rc-drawer": "1.6.3", + "rc-dropdown": "2.2.0", + "rc-editor-mention": "1.1.7", + "rc-form": "2.2.1", + "rc-input-number": "4.0.12", + "rc-menu": "7.0.5", + "rc-notification": "3.2.0", + "rc-pagination": "1.16.5", + "rc-progress": "2.2.5", + "rc-rate": "2.4.0", + "rc-select": "8.1.1", + "rc-slider": "8.6.1", + "rc-steps": "3.1.1", + "rc-switch": "1.6.0", + "rc-table": "6.2.8", + "rc-tabs": "9.3.6", + "rc-time-picker": "3.3.1", + "rc-tooltip": "3.7.2", + "rc-tree": "1.13.1", + "rc-tree-select": "2.0.11", + "rc-trigger": "2.5.4", + "rc-upload": "2.5.1", + "rc-util": "4.5.1", + "react-lazy-load": "3.0.13", + "react-lifecycles-compat": "3.0.4", + "react-slick": "0.23.1", + "shallowequal": "1.1.0", + "warning": "4.0.1" + } + }, "any-promise": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", @@ -320,6 +375,11 @@ "resolved": "https://registry.npmjs.org/array-reduce/-/array-reduce-0.0.0.tgz", "integrity": "sha1-FziZ0//Rx9k4PkR5Ul2+J4yrXys=" }, + "array-tree-filter": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-tree-filter/-/array-tree-filter-2.1.0.tgz", + "integrity": "sha512-4ROwICNlNw/Hqa9v+rk5h22KjmzB1JGTMVKP2AKJBOCgb0yL0ASf0+YvCcLNNwquOHNX48jkeZIJ3a+oOQqKcw==" + }, "array-union": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", @@ -422,6 +482,14 @@ "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.0.tgz", "integrity": "sha512-jp/uFnooOiO+L211eZOoSyzpOITMXx1rBITauYykG3BRYPu8h0UcxsPNB04RR5vo4Tyz3+ay17tR6JVf9qzYWg==" }, + "async-validator": { + "version": "1.8.5", + "resolved": "https://registry.npmjs.org/async-validator/-/async-validator-1.8.5.tgz", + "integrity": "sha512-tXBM+1m056MAX0E8TL2iCjg8WvSyXu0Zc8LNtYqrVeyoL3+esHRZ4SieE9fKQyyU09uONjnMEjrNBMqT0mbvmA==", + "requires": { + "babel-runtime": "6.26.0" + } + }, "asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", @@ -1823,16 +1891,44 @@ } } }, - "change-emitter": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/change-emitter/-/change-emitter-0.1.6.tgz", - "integrity": "sha1-6LL+PX8at9aaMhma/5HqaTFAlRU=" - }, "chardet": { "version": "0.4.2", "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.4.2.tgz", "integrity": "sha1-tUc7M9yXxCTl2Y3IfVXU2KKci/I=" }, + "chart.js": { + "version": "2.7.2", + "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-2.7.2.tgz", + "integrity": "sha512-90wl3V9xRZ8tnMvMlpcW+0Yg13BelsGS9P9t0ClaDxv/hdypHDr/YAGf+728m11P5ljwyB0ZHfPKCapZFqSqYA==", + "requires": { + "chartjs-color": "2.2.0", + "moment": "2.22.1" + } + }, + "chartjs-color": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/chartjs-color/-/chartjs-color-2.2.0.tgz", + "integrity": "sha1-hKL7dVeH7YXDndbdjHsdiEKbrq4=", + "requires": { + "chartjs-color-string": "0.5.0", + "color-convert": "0.5.3" + }, + "dependencies": { + "color-convert": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-0.5.3.tgz", + "integrity": "sha1-vbbGnOZg+t/+CwAHzER+G59ygr0=" + } + } + }, + "chartjs-color-string": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/chartjs-color-string/-/chartjs-color-string-0.5.0.tgz", + "integrity": "sha512-amWNvCOXlOUYxZVDSa0YOab5K/lmEhbFNKI55PWc4mlv28BDzA7zaoQTGxSBgJMHIW+hGX8YUrvw/FH4LyhwSQ==", + "requires": { + "color-name": "1.1.1" + } + }, "chokidar": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.0.4.tgz", @@ -2100,11 +2196,24 @@ "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-3.3.0.tgz", "integrity": "sha512-MAAAIOdi2s4Gl6rZ76PNcUa9IOYB+5ICdT41o5uMRf09aEu/F9RK+qhe8RjXNPwcTjGV7KU7h2P/fljThFVqyQ==" }, + "component-classes": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/component-classes/-/component-classes-1.2.6.tgz", + "integrity": "sha1-xkI5TDYYpNiwuJGe/Mu9kw5c1pE=", + "requires": { + "component-indexof": "0.0.3" + } + }, "component-emitter": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=" }, + "component-indexof": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/component-indexof/-/component-indexof-0.0.3.tgz", + "integrity": "sha1-EdCRMSI5648yyPJa6csAL/6NPCQ=" + }, "compressible": { "version": "2.0.14", "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.14.tgz", @@ -2311,6 +2420,15 @@ "object-assign": "4.1.1" } }, + "create-react-context": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/create-react-context/-/create-react-context-0.2.2.tgz", + "integrity": "sha512-KkpaLARMhsTsgp0d2NA/R94F/eDLbhXERdIq3LvX2biCAXcDvHYoOqHfWCHf1+OLj+HKBotLG3KqaOOf+C1C+A==", + "requires": { + "fbjs": "0.8.17", + "gud": "1.0.0" + } + }, "cross-spawn": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", @@ -2344,6 +2462,15 @@ "resolved": "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-1.0.0.tgz", "integrity": "sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4=" }, + "css-animation": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/css-animation/-/css-animation-1.4.1.tgz", + "integrity": "sha1-W4gTEl3g+7uwu+G0cq6EIhRpt6g=", + "requires": { + "babel-runtime": "6.26.0", + "component-classes": "1.2.6" + } + }, "css-color-names": { "version": "0.0.4", "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz", @@ -2892,6 +3019,19 @@ "esutils": "2.0.2" } }, + "dom-align": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/dom-align/-/dom-align-1.8.0.tgz", + "integrity": "sha512-B85D4ef2Gj5lw0rK0KM2+D5/pH7yqNxg2mB+E8uzFaolpm7RQmsxEfjyEuNiF8UBBkffumYDeKRzTzc3LePP+w==" + }, + "dom-closest": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/dom-closest/-/dom-closest-0.2.0.tgz", + "integrity": "sha1-69n5HRvyLo1vR3h2u80+yQIWwM8=", + "requires": { + "dom-matches": "2.0.0" + } + }, "dom-converter": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.1.4.tgz", @@ -2907,6 +3047,16 @@ } } }, + "dom-matches": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-matches/-/dom-matches-2.0.0.tgz", + "integrity": "sha1-0nKLQWqHUzmA6wibhI0lPPI6dYw=" + }, + "dom-scroll-into-view": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/dom-scroll-into-view/-/dom-scroll-into-view-1.2.1.tgz", + "integrity": "sha1-6PNnMt0ImwIBqI14Fdw/iObWbH4=" + }, "dom-serializer": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz", @@ -2981,6 +3131,16 @@ "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-4.2.0.tgz", "integrity": "sha1-3vHxyl1gWdJKdm5YeULCEQbOEnU=" }, + "draft-js": { + "version": "0.10.5", + "resolved": "https://registry.npmjs.org/draft-js/-/draft-js-0.10.5.tgz", + "integrity": "sha512-LE6jSCV9nkPhfVX2ggcRLA4FKs6zWq9ceuO/88BpXdNCS7mjRTgs0NsV6piUCJX9YxMsB9An33wnkMmU2sD2Zg==", + "requires": { + "fbjs": "0.8.17", + "immutable": "3.7.6", + "object-assign": "4.1.1" + } + }, "duplexer": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz", @@ -3067,6 +3227,11 @@ "tapable": "0.2.8" } }, + "enquire.js": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/enquire.js/-/enquire.js-2.1.6.tgz", + "integrity": "sha1-PoeAybi4NQhMP2DhZtvDwqPImBQ=" + }, "entities": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.1.tgz", @@ -3585,6 +3750,11 @@ "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-3.1.0.tgz", "integrity": "sha512-ivIvhpq/Y0uSjcHDcOIccjmYjGLcP09MFGE7ysAwkAvkXfpZlC985pH2/ui64DKazbTW/4kN3yqozUxlXzI6cA==" }, + "eventlistener": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/eventlistener/-/eventlistener-0.0.1.tgz", + "integrity": "sha1-7Suqu4UiJ68rz4iRUscsY8pTLrg=" + }, "events": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/events/-/events-1.1.1.tgz", @@ -4825,6 +4995,11 @@ "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", "integrity": "sha1-8QdIy+dq+WS3yWyTxrzCivEgwIE=" }, + "gud": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/gud/-/gud-1.0.0.tgz", + "integrity": "sha512-zGEOVKFM5sVPPrYs7J5/hYEw2Pof8KCyOwyhG8sAF26mCAeUFAcYPu1mwB7hhpIP29zOIBaDqwuHdLp0jvZXjw==" + }, "gzip-size": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-3.0.0.tgz", @@ -4833,6 +5008,11 @@ "duplexer": "0.1.1" } }, + "hammerjs": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/hammerjs/-/hammerjs-2.0.8.tgz", + "integrity": "sha1-BO93hiz/K7edMPdpIJWTAiK/YPE=" + }, "handle-thing": { "version": "1.2.5", "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-1.2.5.tgz", @@ -5369,6 +5549,11 @@ "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz", "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==" }, + "immutable": { + "version": "3.7.6", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-3.7.6.tgz", + "integrity": "sha1-E7TTyxK++hVIKib+Gy665kAHHks=" + }, "import-lazy": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz", @@ -5484,6 +5669,11 @@ "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.1.0.tgz", "integrity": "sha1-ftGxQQxqDg94z5XTuEQMY/eLhhQ=" }, + "intersperse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/intersperse/-/intersperse-1.0.0.tgz", + "integrity": "sha1-8lYfsc/vn1J3zDNHoiiGtDUaUYE=" + }, "invariant": { "version": "2.2.4", "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", @@ -5682,6 +5872,11 @@ "resolved": "https://registry.npmjs.org/is-natural-number/-/is-natural-number-4.0.1.tgz", "integrity": "sha1-q5124dtM7VHjXeDHLr7PCfc0zeg=" }, + "is-negative-zero": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.0.tgz", + "integrity": "sha1-lVOxIbD6wohp2p7UWeIMdUN4hGE=" + }, "is-npm": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-npm/-/is-npm-1.0.0.tgz", @@ -6638,6 +6833,14 @@ "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=" }, + "json2mq": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/json2mq/-/json2mq-0.2.0.tgz", + "integrity": "sha1-tje9O6nqvhIsg+lyBIOusQ0skEo=", + "requires": { + "string-convert": "0.2.1" + } + }, "json3": { "version": "3.3.2", "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.2.tgz", @@ -6826,6 +7029,11 @@ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.10.tgz", "integrity": "sha512-UejweD1pDoXu+AD825lWwp4ZGtSwgnpZxb3JDViD7StjQz+Nb/6l093lx4OQ0foGWNRoc19mWy7BzL+UAK2iVg==" }, + "lodash._getnative": { + "version": "3.9.1", + "resolved": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz", + "integrity": "sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U=" + }, "lodash._reinterpolate": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz", @@ -6851,6 +7059,26 @@ "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz", "integrity": "sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw=" }, + "lodash.isarguments": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz", + "integrity": "sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo=" + }, + "lodash.isarray": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz", + "integrity": "sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U=" + }, + "lodash.keys": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz", + "integrity": "sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=", + "requires": { + "lodash._getnative": "3.9.1", + "lodash.isarguments": "3.1.0", + "lodash.isarray": "3.0.4" + } + }, "lodash.memoize": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", @@ -6873,6 +7101,11 @@ "lodash._reinterpolate": "3.0.0" } }, + "lodash.throttle": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz", + "integrity": "sha1-wj6RtxAkKscMN/HhzaknTMOb8vQ=" + }, "lodash.uniq": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", @@ -7110,6 +7343,16 @@ "dom-walk": "0.1.1" } }, + "mini-store": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/mini-store/-/mini-store-1.1.0.tgz", + "integrity": "sha512-/Ou2jdD7/CDyJBjHnpRuc8aehh2WHxBpUpVvVHn0XhvLHk35YOiUlOYhX55NX00/e4phr1F3aNnhWKkGMqLUfQ==", + "requires": { + "hoist-non-react-statics": "2.5.5", + "prop-types": "15.6.2", + "shallowequal": "1.1.0" + } + }, "minimalistic-assert": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", @@ -7508,15 +7751,12 @@ "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==" }, - "oce-components": { - "version": "git+https://github.com/opencooperativeecosystem/kit.git#a766d29f9a50d04a9a548d691b8037534f49a2e5", + "omit.js": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/omit.js/-/omit.js-1.0.0.tgz", + "integrity": "sha512-O1rwbvEfAdhtonTv+v6IQeMOKTi/wlHcXpI3hehyPDlujkjSBQC6Vtzg0mdy+v2KVDmuPf7hAbHlTBM6q1bUHQ==", "requires": { - "@sambego/storybook-state": "1.0.7", - "moment": "2.22.1", - "rc-progress": "2.2.5", - "react-datepicker": "1.5.0", - "react-timeout": "1.1.1", - "recompose": "0.27.1" + "babel-runtime": "6.26.0" } }, "on-finished": { @@ -7857,11 +8097,6 @@ "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-7.0.0.tgz", "integrity": "sha512-ARhBOdzS3e41FbkW/XWrTEtukqqLoK5+Z/4UeDaLuSW+39JPeFgs4gCGqsrJHVZX0fUrx//4OF0K1CUGwlIFow==" }, - "popper.js": { - "version": "1.14.4", - "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.14.4.tgz", - "integrity": "sha1-juwdj/AqWjoVLdQ0FKFce3n9abY=" - }, "portfinder": { "version": "1.0.15", "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.15.tgz", @@ -9287,6 +9522,226 @@ } } }, + "rc-align": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/rc-align/-/rc-align-2.4.3.tgz", + "integrity": "sha512-h5KgyB5IXYR7iKpYFcMr54cuQ2eozPCZ11kbXPG5+6CWvmyJ+c0R/yjndVndiNk2G3MKcTMbJNdDv5DIckLAxQ==", + "requires": { + "babel-runtime": "6.26.0", + "dom-align": "1.8.0", + "prop-types": "15.6.2", + "rc-util": "4.5.1" + } + }, + "rc-animate": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/rc-animate/-/rc-animate-2.4.4.tgz", + "integrity": "sha512-DjJLTUQj7XKKcuS8cczN0uOLfuSmgrVXFGieP1SZc87xUUTFGh8B/KjNmEtlfvxkSrSuVfb2rrEPER4SqKUtEA==", + "requires": { + "babel-runtime": "6.26.0", + "css-animation": "1.4.1", + "prop-types": "15.6.2" + } + }, + "rc-calendar": { + "version": "9.6.2", + "resolved": "https://registry.npmjs.org/rc-calendar/-/rc-calendar-9.6.2.tgz", + "integrity": "sha512-RtWav1aeYEFiFWxc0toYga06orrw3229qwDSsQu4RcaS7+swja14+nxOpWCMic7K2AakBZh4OfJ/ZEdCMvHewQ==", + "requires": { + "babel-runtime": "6.26.0", + "classnames": "2.2.6", + "create-react-class": "15.6.3", + "moment": "2.22.1", + "prop-types": "15.6.2", + "rc-trigger": "2.5.4", + "rc-util": "4.5.1" + } + }, + "rc-cascader": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/rc-cascader/-/rc-cascader-0.14.0.tgz", + "integrity": "sha512-+wSriiSOC4B/9oTld3zaZ5aLFsYreGM4jdvFa6X1zZ9j3K9PfkvIO6OGv8slJQEXSv1E3HInbk/j6bGtYoesmg==", + "requires": { + "array-tree-filter": "1.0.1", + "prop-types": "15.6.2", + "rc-trigger": "2.5.4", + "rc-util": "4.5.1", + "shallow-equal": "1.0.0", + "warning": "4.0.1" + }, + "dependencies": { + "array-tree-filter": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/array-tree-filter/-/array-tree-filter-1.0.1.tgz", + "integrity": "sha1-CorR7v04zoiFhjL5zAQj12NOTV0=" + } + } + }, + "rc-checkbox": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/rc-checkbox/-/rc-checkbox-2.1.5.tgz", + "integrity": "sha512-WXKnZV6ipS3Jsmd7mVenVUQf+ictgWZW0RqiH+7MeYdzGj/SL4g/S6MZgRdgzaBS2tGBCp4bvhGcyZLns6uQxw==", + "requires": { + "babel-runtime": "6.26.0", + "classnames": "2.2.6", + "prop-types": "15.6.2", + "rc-util": "4.5.1" + } + }, + "rc-collapse": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/rc-collapse/-/rc-collapse-1.9.3.tgz", + "integrity": "sha512-8cG+FzudmgFCC9zRGKXJZA36zoI9Dmyjp6UDi8N80sXUch0JOpsZDxgcFzw4HPpPpK/dARtTilEe9zyuspnW0w==", + "requires": { + "classnames": "2.2.6", + "css-animation": "1.4.1", + "prop-types": "15.6.2", + "rc-animate": "2.4.4" + } + }, + "rc-dialog": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/rc-dialog/-/rc-dialog-7.2.0.tgz", + "integrity": "sha512-kOeyxREcdFocHZc+fFqn55guxVQ2n6+vfqxB8FKWxIeoWxnRSFX60s+vxXIlb9JPFOdgdSQWddxPzkQOy0WnWw==", + "requires": { + "babel-runtime": "6.26.0", + "rc-animate": "2.4.4", + "rc-util": "4.5.1" + } + }, + "rc-drawer": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/rc-drawer/-/rc-drawer-1.6.3.tgz", + "integrity": "sha512-zIXoXsBV8WaQhRpHWnWpW5heq4wwopzySkHOrVxuH8Vl6xNa6BBCLZGZvp6kISEYzvc8Xz+igex8YSA2IY2Rqw==", + "requires": { + "babel-runtime": "6.26.0", + "classnames": "2.2.6", + "prop-types": "15.6.2", + "rc-util": "4.5.1" + } + }, + "rc-dropdown": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/rc-dropdown/-/rc-dropdown-2.2.0.tgz", + "integrity": "sha512-gVqR8eC4iGuDeIIXm3vcfoo4Ui9FvjE2Gh1FSbztWE7Lr68zI/8Zb4Pc/Z1ZGJflpo6PGMCwy5zWyuIFH28G7Q==", + "requires": { + "babel-runtime": "6.26.0", + "prop-types": "15.6.2", + "rc-trigger": "2.5.4", + "react-lifecycles-compat": "3.0.4" + } + }, + "rc-editor-core": { + "version": "0.8.6", + "resolved": "https://registry.npmjs.org/rc-editor-core/-/rc-editor-core-0.8.6.tgz", + "integrity": "sha512-6M4C0qLTf/UvQA0XNb8BWlb5+tZ5LCZKc9Hs0oH6Fn+18XMRILYiUKBCdLObaj0LVeq5vhq+zra9sjfqBEguHQ==", + "requires": { + "babel-runtime": "6.26.0", + "classnames": "2.2.6", + "draft-js": "0.10.5", + "immutable": "3.7.6", + "lodash": "4.17.10", + "prop-types": "15.6.2", + "setimmediate": "1.0.5" + } + }, + "rc-editor-mention": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/rc-editor-mention/-/rc-editor-mention-1.1.7.tgz", + "integrity": "sha512-5z9OX8gxh76oD8kx0Hi2fTZEyrmrfDo35ouFgpFrhB3H1L+WY4yvi1yUUZJG1uAxq/3Hlhnet4AFy1SnepinyQ==", + "requires": { + "babel-runtime": "6.26.0", + "classnames": "2.2.6", + "dom-scroll-into-view": "1.2.1", + "draft-js": "0.10.5", + "prop-types": "15.6.2", + "rc-animate": "2.4.4", + "rc-editor-core": "0.8.6" + } + }, + "rc-form": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/rc-form/-/rc-form-2.2.1.tgz", + "integrity": "sha512-Hwzq2IL4gdbEgbG3wXtkUA37QXQxfXFp93PGmwlnHzbH7A8TiLQiiI8quS3b2FMtSVjBw3922E6yl6PmPGbfWw==", + "requires": { + "async-validator": "1.8.5", + "babel-runtime": "6.26.0", + "create-react-class": "15.6.3", + "dom-scroll-into-view": "1.2.1", + "hoist-non-react-statics": "2.5.5", + "lodash": "4.17.10", + "warning": "3.0.0" + }, + "dependencies": { + "warning": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/warning/-/warning-3.0.0.tgz", + "integrity": "sha1-MuU3fLVy3kqwR1O9+IIcAe1gW3w=", + "requires": { + "loose-envify": "1.4.0" + } + } + } + }, + "rc-hammerjs": { + "version": "0.6.9", + "resolved": "https://registry.npmjs.org/rc-hammerjs/-/rc-hammerjs-0.6.9.tgz", + "integrity": "sha512-4llgWO3RgLyVbEqUdGsDfzUDqklRlQW5VEhE3x35IvhV+w//VPRG34SBavK3D2mD/UaLKaohgU41V4agiftC8g==", + "requires": { + "babel-runtime": "6.26.0", + "hammerjs": "2.0.8", + "prop-types": "15.6.2" + } + }, + "rc-input-number": { + "version": "4.0.12", + "resolved": "https://registry.npmjs.org/rc-input-number/-/rc-input-number-4.0.12.tgz", + "integrity": "sha512-lVop5/bJPqNF57kT8Y9gr1bhKF0twEv44z4OYswN4YTWLJtCLoeT+6Hv4IJABOfGQbyK5owXki7zKEVcOehNMQ==", + "requires": { + "babel-runtime": "6.26.0", + "classnames": "2.2.6", + "is-negative-zero": "2.0.0", + "prop-types": "15.6.2", + "rc-util": "4.5.1", + "rmc-feedback": "2.0.0" + } + }, + "rc-menu": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/rc-menu/-/rc-menu-7.0.5.tgz", + "integrity": "sha512-VG8Ncjb4UuklxZvk/u3gN4vU8xuJF5WJfdLQIVWB3fu01lnMZF8adN1YWWvpftM0t9zGEppDkNGumZFKmx0WGA==", + "requires": { + "babel-runtime": "6.26.0", + "classnames": "2.2.6", + "dom-scroll-into-view": "1.2.1", + "mini-store": "1.1.0", + "prop-types": "15.6.2", + "rc-animate": "2.4.4", + "rc-trigger": "2.5.4", + "rc-util": "4.5.1" + } + }, + "rc-notification": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/rc-notification/-/rc-notification-3.2.0.tgz", + "integrity": "sha512-UUr9WDjZ/4dHNGSNDMfpt8ut1w/Ed7ZaXAR/yVyFjPo/RxFE22alGWDfCD4W/kcGx+H5sI2wY5w7pTWToSdK6A==", + "requires": { + "babel-runtime": "6.26.0", + "classnames": "2.2.6", + "prop-types": "15.6.2", + "rc-animate": "2.4.4", + "rc-util": "4.5.1" + } + }, + "rc-pagination": { + "version": "1.16.5", + "resolved": "https://registry.npmjs.org/rc-pagination/-/rc-pagination-1.16.5.tgz", + "integrity": "sha512-h8xUK5JeFMBH23wVOZ2HuqUPM+jss37yemxDlDCjhKeur5Ne2z6Q8L8gz+pKoE5Qz7kqLi7Vp7U2aogrwK9WtA==", + "requires": { + "babel-runtime": "6.26.0", + "prop-types": "15.6.2" + } + }, "rc-progress": { "version": "2.2.5", "resolved": "https://registry.npmjs.org/rc-progress/-/rc-progress-2.2.5.tgz", @@ -9296,6 +9751,340 @@ "prop-types": "15.6.2" } }, + "rc-rate": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/rc-rate/-/rc-rate-2.4.0.tgz", + "integrity": "sha512-gYHxaXqObiIw1ekRS8tq2YUKpTGL/Q9LxMdSCXZS++d5bVsmmTCZUvJFKEt0IfLb19sZtxCaQvwanzNpqaxY7Q==", + "requires": { + "babel-runtime": "6.26.0", + "classnames": "2.2.6", + "prop-types": "15.6.2", + "rc-util": "4.5.1" + } + }, + "rc-select": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/rc-select/-/rc-select-8.1.1.tgz", + "integrity": "sha512-cx1ojLw5Vly4b1/NDII5Zwk3sQBvVazbivZ2FxqdoYFyzVU5tUxqW+5SxxlYErwGyJvw4aTHbYPEFDs26lMrMQ==", + "requires": { + "babel-runtime": "6.26.0", + "classnames": "2.2.6", + "component-classes": "1.2.6", + "dom-scroll-into-view": "1.2.1", + "prop-types": "15.6.2", + "raf": "3.4.0", + "rc-animate": "2.4.4", + "rc-menu": "7.0.5", + "rc-trigger": "2.5.4", + "rc-util": "4.5.1", + "react-lifecycles-compat": "3.0.4", + "warning": "3.0.0" + }, + "dependencies": { + "warning": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/warning/-/warning-3.0.0.tgz", + "integrity": "sha1-MuU3fLVy3kqwR1O9+IIcAe1gW3w=", + "requires": { + "loose-envify": "1.4.0" + } + } + } + }, + "rc-slider": { + "version": "8.6.1", + "resolved": "https://registry.npmjs.org/rc-slider/-/rc-slider-8.6.1.tgz", + "integrity": "sha512-6DoLW5pWR8K/7Z55E5wKZGGa22HFY6LB4Z0PegzSXrQ/RqUHm9hFHRA3FYCuPOsg/Zsi+SgGPvzC2P/I/YZ6Lg==", + "requires": { + "babel-runtime": "6.26.0", + "classnames": "2.2.6", + "prop-types": "15.6.2", + "rc-tooltip": "3.7.2", + "rc-util": "4.5.1", + "shallowequal": "1.1.0", + "warning": "3.0.0" + }, + "dependencies": { + "warning": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/warning/-/warning-3.0.0.tgz", + "integrity": "sha1-MuU3fLVy3kqwR1O9+IIcAe1gW3w=", + "requires": { + "loose-envify": "1.4.0" + } + } + } + }, + "rc-steps": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/rc-steps/-/rc-steps-3.1.1.tgz", + "integrity": "sha512-oon2VdAHWrZmkB07MUMhq7k2IazFmtOi+6CCPn1ao3ZJ/89/aArP9/3pDQBm88FBQBcDh1E04kSHufbdY1kxfw==", + "requires": { + "babel-runtime": "6.26.0", + "classnames": "2.2.6", + "lodash": "4.17.10", + "prop-types": "15.6.2" + } + }, + "rc-switch": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/rc-switch/-/rc-switch-1.6.0.tgz", + "integrity": "sha512-tlnYj92N/PxFLWJObATgSPYWESCFTUtdFjDRbCJFvSd4j2a8IFLz20X/5d3OTnFtf7DcxLTa/aGIPmsI3mFn3g==", + "requires": { + "babel-runtime": "6.26.0", + "classnames": "2.2.6", + "prop-types": "15.6.2" + } + }, + "rc-table": { + "version": "6.2.8", + "resolved": "https://registry.npmjs.org/rc-table/-/rc-table-6.2.8.tgz", + "integrity": "sha512-XnYEtA0a9fg1MKTjhuTmzmKIJysTVOBJkf557ZYvCznfY1IbJMZZSYNwzmfTJclbog0oiC9GrEtg3IruALQs1Q==", + "requires": { + "babel-runtime": "6.26.0", + "classnames": "2.2.6", + "component-classes": "1.2.6", + "lodash": "4.17.10", + "mini-store": "1.1.0", + "prop-types": "15.6.2", + "rc-util": "4.5.1", + "react-lifecycles-compat": "3.0.4", + "shallowequal": "1.1.0", + "warning": "3.0.0" + }, + "dependencies": { + "warning": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/warning/-/warning-3.0.0.tgz", + "integrity": "sha1-MuU3fLVy3kqwR1O9+IIcAe1gW3w=", + "requires": { + "loose-envify": "1.4.0" + } + } + } + }, + "rc-tabs": { + "version": "9.3.6", + "resolved": "https://registry.npmjs.org/rc-tabs/-/rc-tabs-9.3.6.tgz", + "integrity": "sha512-4hX2+jgnXoGdDZUlBaySKgOKYcnwuCz/ehEaz5ky0gqKyOJfOQi9rwW7Yzy3FzAbcrp70Hyoakvb+SkhHVT1zg==", + "requires": { + "babel-runtime": "6.26.0", + "classnames": "2.2.6", + "lodash": "4.17.10", + "prop-types": "15.6.2", + "rc-hammerjs": "0.6.9", + "rc-util": "4.5.1", + "warning": "3.0.0" + }, + "dependencies": { + "warning": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/warning/-/warning-3.0.0.tgz", + "integrity": "sha1-MuU3fLVy3kqwR1O9+IIcAe1gW3w=", + "requires": { + "loose-envify": "1.4.0" + } + } + } + }, + "rc-time-picker": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/rc-time-picker/-/rc-time-picker-3.3.1.tgz", + "integrity": "sha512-iCo6Fs6Bp/HjjSvdA+nv/yJEWSe+vDyunV57uVzZkW+4QDQ+BOvZGGwJcfL407u/eP1QKmeljZN8Iu3KjdKIGg==", + "requires": { + "babel-runtime": "6.26.0", + "classnames": "2.2.6", + "moment": "2.22.1", + "prop-types": "15.6.2", + "rc-trigger": "2.5.4" + } + }, + "rc-tooltip": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/rc-tooltip/-/rc-tooltip-3.7.2.tgz", + "integrity": "sha512-vsF29ohlfgr7lEP12aJ5j4U/4hzqSBYjWQo8I09re+q95v1o4nDjH1q/B3qFkf9aml2FbgdkJw9KYz/zXUgApA==", + "requires": { + "babel-runtime": "6.26.0", + "prop-types": "15.6.2", + "rc-trigger": "2.5.4" + } + }, + "rc-tree": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/rc-tree/-/rc-tree-1.13.1.tgz", + "integrity": "sha512-gleNlpSjHPk6Fc8WyeYTL/xnWCW0YGOSs8OTcWwWIJUkz5qC45VLqUj4fXFi3Sz0TUDoAHdl2nBh/ebXDFQIAg==", + "requires": { + "babel-runtime": "6.26.0", + "classnames": "2.2.6", + "prop-types": "15.6.2", + "rc-animate": "3.0.0-rc.1", + "rc-util": "4.5.1", + "react-lifecycles-compat": "3.0.4", + "warning": "3.0.0" + }, + "dependencies": { + "rc-animate": { + "version": "3.0.0-rc.1", + "resolved": "https://registry.npmjs.org/rc-animate/-/rc-animate-3.0.0-rc.1.tgz", + "integrity": "sha512-wlFdca44Y0PE/0FdK6FWs1BXVMiYsp0ighUCw97oaELTpxxZ5wA9fkfCzVhYc3xiCQHP20fSjYp77ZcalO6h/A==", + "requires": { + "babel-runtime": "6.26.0", + "classnames": "2.2.6", + "component-classes": "1.2.6", + "fbjs": "0.8.17", + "prop-types": "15.6.2", + "raf": "3.4.0", + "rc-util": "4.5.1", + "react-lifecycles-compat": "3.0.4" + } + }, + "warning": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/warning/-/warning-3.0.0.tgz", + "integrity": "sha1-MuU3fLVy3kqwR1O9+IIcAe1gW3w=", + "requires": { + "loose-envify": "1.4.0" + } + } + } + }, + "rc-tree-select": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/rc-tree-select/-/rc-tree-select-2.0.11.tgz", + "integrity": "sha512-bvuMk1+xwoSPv2525YHqakKeoLNanD38Qg8Rnb0XE9fX1qPR4DpYZZQSwGEH/eHi6mWu5LEJqu8isUmupR4h0g==", + "requires": { + "babel-runtime": "6.26.0", + "classnames": "2.2.6", + "prop-types": "15.6.2", + "raf": "3.4.0", + "rc-animate": "3.0.0-rc.4", + "rc-tree": "1.12.7", + "rc-trigger": "3.0.0-rc.3", + "rc-util": "4.5.1", + "react-lifecycles-compat": "3.0.4", + "shallowequal": "1.1.0", + "warning": "4.0.1" + }, + "dependencies": { + "rc-animate": { + "version": "3.0.0-rc.4", + "resolved": "https://registry.npmjs.org/rc-animate/-/rc-animate-3.0.0-rc.4.tgz", + "integrity": "sha512-LQN68EPY52qCth5N52UBdFQtKgXq0bspSpF2e4CMa4uMoKPUlKTnGglzYsEJZyuyP+fqwBURyT8yjjEWk+hPLw==", + "requires": { + "babel-runtime": "6.26.0", + "classnames": "2.2.6", + "component-classes": "1.2.6", + "fbjs": "0.8.17", + "prop-types": "15.6.2", + "raf": "3.4.0", + "rc-util": "4.5.1", + "react-lifecycles-compat": "3.0.4" + } + }, + "rc-tree": { + "version": "1.12.7", + "resolved": "https://registry.npmjs.org/rc-tree/-/rc-tree-1.12.7.tgz", + "integrity": "sha512-7hlBMBgSQrzFB4Tp3WFVHy1O2yUxpXknWhndrRZbCFdiQvPENvBM+n+At+ZadRHgwah5xD9pY4LLcEsMasX8KA==", + "requires": { + "babel-runtime": "6.26.0", + "classnames": "2.2.6", + "prop-types": "15.6.2", + "rc-animate": "2.4.4", + "rc-util": "4.5.1", + "warning": "3.0.0" + }, + "dependencies": { + "rc-animate": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/rc-animate/-/rc-animate-2.4.4.tgz", + "integrity": "sha512-DjJLTUQj7XKKcuS8cczN0uOLfuSmgrVXFGieP1SZc87xUUTFGh8B/KjNmEtlfvxkSrSuVfb2rrEPER4SqKUtEA==", + "requires": { + "babel-runtime": "6.26.0", + "css-animation": "1.4.1", + "prop-types": "15.6.2" + } + }, + "warning": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/warning/-/warning-3.0.0.tgz", + "integrity": "sha1-MuU3fLVy3kqwR1O9+IIcAe1gW3w=", + "requires": { + "loose-envify": "1.4.0" + } + } + } + }, + "rc-trigger": { + "version": "3.0.0-rc.3", + "resolved": "https://registry.npmjs.org/rc-trigger/-/rc-trigger-3.0.0-rc.3.tgz", + "integrity": "sha512-4vB6cpxcUdm2qO5VtB9q1TZz0MoWm9BzFLvGknulphGrl1qI6uxUsPDCvqnmujdpDdAKGGfjxntFpA7RtAwkFQ==", + "requires": { + "babel-runtime": "6.26.0", + "classnames": "2.2.6", + "prop-types": "15.6.2", + "raf": "3.4.0", + "rc-align": "2.4.3", + "rc-animate": "3.0.0-rc.4", + "rc-util": "4.5.1" + } + } + } + }, + "rc-trigger": { + "version": "2.5.4", + "resolved": "https://registry.npmjs.org/rc-trigger/-/rc-trigger-2.5.4.tgz", + "integrity": "sha512-clgXOdazDW2qg4vTZSAExpvOuojPNuMoamG+SxAm5Ih+rpVcrtEiDlDZWY4yUHyfEWJZBzgbrr4np/z2FK6RfA==", + "requires": { + "babel-runtime": "6.26.0", + "classnames": "2.2.6", + "prop-types": "15.6.2", + "rc-align": "2.4.3", + "rc-animate": "2.4.4", + "rc-util": "4.5.1" + } + }, + "rc-upload": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/rc-upload/-/rc-upload-2.5.1.tgz", + "integrity": "sha512-tFZTEfWlIqlKrvl9UHLGkSXj8oOrOsXcILVjMwTZCf61gJNZXMfyigifClsPqz+EEXkQvpovu/9zgLqBpbJlLA==", + "requires": { + "babel-runtime": "6.26.0", + "classnames": "2.2.6", + "prop-types": "15.6.2", + "warning": "2.1.0" + }, + "dependencies": { + "warning": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/warning/-/warning-2.1.0.tgz", + "integrity": "sha1-ISINnGOvx3qMkhEeARr3Bc4MaQE=", + "requires": { + "loose-envify": "1.4.0" + } + } + } + }, + "rc-util": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/rc-util/-/rc-util-4.5.1.tgz", + "integrity": "sha512-PdCmHyBBodZdw6Oaikt0l+/R79IcRXpYkTrqD/Rbl4ZdoOi61t5TtEe40Q+A7rkWG5U1xjcN+h8j9H6GdtnICw==", + "requires": { + "add-dom-event-listener": "1.0.2", + "babel-runtime": "6.26.0", + "prop-types": "15.6.2", + "shallowequal": "0.2.2" + }, + "dependencies": { + "shallowequal": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-0.2.2.tgz", + "integrity": "sha1-HjL9W8q2rWiKSBLLDMBO/HXHAU4=", + "requires": { + "lodash.keys": "3.1.2" + } + } + } + }, "react": { "version": "16.4.2", "resolved": "https://registry.npmjs.org/react/-/react-16.4.2.tgz", @@ -9307,15 +10096,13 @@ "prop-types": "15.6.2" } }, - "react-datepicker": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/react-datepicker/-/react-datepicker-1.5.0.tgz", - "integrity": "sha512-Neh1rz0d1QeR7KuoTiYeR6oj73DJkqt0vuNSgfMuxXEwGmz/4sPynouYGo6gdKiQbxIXBJJ/FLDLHJEr5XNThw==", + "react-chartjs-2": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/react-chartjs-2/-/react-chartjs-2-2.7.4.tgz", + "integrity": "sha512-lXTpBaDlk9rIMjRONjZd76dIUhEm3vOp2jOrJrsFG/UpFI5VqX8Xw83apVHTnUGJ968f8i/i/syLddls4NHy2g==", "requires": { - "classnames": "2.2.6", - "prop-types": "15.6.2", - "react-onclickoutside": "6.7.1", - "react-popper": "0.9.5" + "lodash": "4.17.10", + "prop-types": "15.6.2" } }, "react-dev-utils": { @@ -9359,25 +10146,22 @@ "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-4.0.0.tgz", "integrity": "sha512-FlsPxavEyMuR6TjVbSSywovXSEyOg6ZDj5+Z8nbsRl9EkOzAhEIcS+GLoQDC5fz/t9suhUXWmUrOBrgeUvrMxw==" }, + "react-lazy-load": { + "version": "3.0.13", + "resolved": "https://registry.npmjs.org/react-lazy-load/-/react-lazy-load-3.0.13.tgz", + "integrity": "sha1-OwqS0zbUPT8Nc8vm81sXBQsIuCQ=", + "requires": { + "eventlistener": "0.0.1", + "lodash.debounce": "4.0.8", + "lodash.throttle": "4.1.1", + "prop-types": "15.6.2" + } + }, "react-lifecycles-compat": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz", "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==" }, - "react-onclickoutside": { - "version": "6.7.1", - "resolved": "https://registry.npmjs.org/react-onclickoutside/-/react-onclickoutside-6.7.1.tgz", - "integrity": "sha512-p84kBqGaMoa7VYT0vZ/aOYRfJB+gw34yjpda1Z5KeLflg70HipZOT+MXQenEhdkPAABuE2Astq4zEPdMqUQxcg==" - }, - "react-popper": { - "version": "0.9.5", - "resolved": "https://registry.npmjs.org/react-popper/-/react-popper-0.9.5.tgz", - "integrity": "sha1-AqJO8+7DOvnlToNYq3DrDjMe3QU=", - "requires": { - "popper.js": "1.14.4", - "prop-types": "15.6.2" - } - }, "react-router": { "version": "4.3.1", "resolved": "https://registry.npmjs.org/react-router/-/react-router-4.3.1.tgz", @@ -9466,14 +10250,16 @@ } } }, - "react-timeout": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/react-timeout/-/react-timeout-1.1.1.tgz", - "integrity": "sha512-zEJYHb3WvVq0/RdAOw5KHaOjTrN5Sm4fssJMPhqcu3efunecgQLfLfrKG5tfRM4IdjNJ3FCPI5hEKv62IHyZTw==", + "react-slick": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/react-slick/-/react-slick-0.23.1.tgz", + "integrity": "sha512-vn4E+JeTUrjRgXDEV0QEiWo3fNdB6Lg/e8eMYSh3OjuadqYBsgn0OfbqNxVJs7cv1VmSKm14razHEbpRFP/mvw==", "requires": { - "create-react-class": "15.6.3", - "hoist-non-react-statics": "2.5.5", - "object-assign": "4.1.1" + "classnames": "2.2.6", + "enquire.js": "2.1.6", + "json2mq": "0.2.0", + "lodash.debounce": "4.0.8", + "resize-observer-polyfill": "1.5.0" } }, "read-pkg": { @@ -9539,19 +10325,6 @@ "set-immediate-shim": "1.0.1" } }, - "recompose": { - "version": "0.27.1", - "resolved": "https://registry.npmjs.org/recompose/-/recompose-0.27.1.tgz", - "integrity": "sha512-p7xsyi/rfNjHfdP7vPU02uSFa+Q1eHhjKrvO+3+kRP4Ortj+MxEmpmd+UQtBGM2D2iNAjzNI5rCyBKp9Ob5McA==", - "requires": { - "babel-runtime": "6.26.0", - "change-emitter": "0.1.6", - "fbjs": "0.8.17", - "hoist-non-react-statics": "2.5.5", - "react-lifecycles-compat": "3.0.4", - "symbol-observable": "1.2.0" - } - }, "recursive-readdir": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.1.tgz", @@ -9813,6 +10586,11 @@ "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=" }, + "resize-observer-polyfill": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/resize-observer-polyfill/-/resize-observer-polyfill-1.5.0.tgz", + "integrity": "sha512-M2AelyJDVR/oLnToJLtuDJRBBWUGUvvGigj1411hXhAdyFWqMaqHp7TixW3FpiLuVaikIcR1QL+zqoJoZlOgpg==" + }, "resolve": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.6.0.tgz", @@ -9899,6 +10677,15 @@ "inherits": "2.0.3" } }, + "rmc-feedback": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/rmc-feedback/-/rmc-feedback-2.0.0.tgz", + "integrity": "sha512-5PWOGOW7VXks/l3JzlOU9NIxRpuaSS8d9zA3UULUCuTKnpwBHNvv1jSJzxgbbCQeYzROWUpgKI4za3X4C/mKmQ==", + "requires": { + "babel-runtime": "6.26.0", + "classnames": "2.2.6" + } + }, "run-async": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.3.0.tgz", @@ -10184,6 +10971,16 @@ "nan": "2.10.0" } }, + "shallow-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shallow-equal/-/shallow-equal-1.0.0.tgz", + "integrity": "sha1-UI0YOLPeWQq4dXsBGyXkMJAJRfc=" + }, + "shallowequal": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz", + "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==" + }, "shebang-command": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", @@ -10569,6 +11366,11 @@ "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=" }, + "string-convert": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/string-convert/-/string-convert-0.2.1.tgz", + "integrity": "sha1-aYLMMEn7tM2F+LJFaLnZvznu/5c=" + }, "string-length": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/string-length/-/string-length-1.0.1.tgz", @@ -10795,11 +11597,6 @@ } } }, - "symbol-observable": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz", - "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==" - }, "symbol-tree": { "version": "3.2.2", "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.2.tgz", diff --git a/wallet/package.json b/wallet/package.json index c9b66ff..0053b45 100644 --- a/wallet/package.json +++ b/wallet/package.json @@ -3,8 +3,11 @@ "version": "0.1.0", "private": true, "dependencies": { + "antd": "^3.8.0", + "chart.js": "^2.7.2", "oce-components": "git+https://github.com/opencooperativeecosystem/kit.git", "react": "^16.4.2", + "react-chartjs-2": "^2.7.4", "react-dom": "^16.4.2", "react-router": "^4.2.0", "react-router-dom": "^4.2.2", diff --git a/wallet/src/App.js b/wallet/src/App.js index 617cfa5..6b97b74 100644 --- a/wallet/src/App.js +++ b/wallet/src/App.js @@ -2,7 +2,12 @@ import React, { Component } from 'react'; import {BrowserRouter, Route, Switch} from 'react-router-dom' import './App.css'; -import dashboardView from './views/dashboard/dashboard'; + +import { Row, Col } from 'antd'; + +import DashboardView from './views/dashboard/dashboard'; +import NewTxView from './views/newtx/newtx'; +import SidemenuView from './views/sidemenu/sidemenu'; import './eth/eth.js'; @@ -16,20 +21,25 @@ class App extends Component { {/* */} -
-
-
+ + + + + + +
- + + -
-
- + + ); diff --git a/wallet/src/eth/eth.js b/wallet/src/eth/eth.js index 215de84..4dec363 100644 --- a/wallet/src/eth/eth.js +++ b/wallet/src/eth/eth.js @@ -3,6 +3,7 @@ const web3 = new Web3("https://ropsten.infura.io/TFnR8BWJlqZOKxHHZNcs"); var account = web3.eth.accounts.create() console.log("account", account) +console.log("address", account.address) web3.eth.getAccounts(function(error, result){ console.log(result) }) diff --git a/wallet/src/views/dashboard/dashboard.js b/wallet/src/views/dashboard/dashboard.js index 5939a0d..93dd509 100644 --- a/wallet/src/views/dashboard/dashboard.js +++ b/wallet/src/views/dashboard/dashboard.js @@ -1,6 +1,38 @@ import React, { Component } from 'react'; -import {card, tx} from 'oce-components' +// import {card, tx} from '../../kit/lib' +import { Card, Button, Timeline, Row, Col, List, Icon } from 'antd'; +import 'antd/dist/antd.css'; + + +import {Line, Doughnut} from 'react-chartjs-2'; + +var chartLineData = { + labels: ['September', 'October', 'January', 'February', 'March', 'April', 'May', 'June', 'July', 'August'], + datasets: [{ + label: 'Balance', + backgroundColor: 'rgba(54, 162, 235, 0)', + borderColor: 'rgba(54, 162, 235, 1)', + borderWidth: 1, + hoverBackgroundColor: 'rgba(54, 162, 235,0.4)', + hoverBorderColor: 'rgba(54, 162, 235,1)', + data: [0, 59, 55, -50, -56, 120, 40, -20, 10, 45] + }] +}; +var chartDoughnutData = { + labels: ['Received', 'Sended'], + datasets: [{ + label: 'Identities use', + backgroundColor: ['#36A2EB', '#FF6384'], + hoverBackgroundColor: ['#36A2EB', '#FF6384'], + data: [25, 20] + }] +}; + +const listData = [ + 'New transaction received', + 'Sended new transaction' +]; class dashboard extends Component { constructor(props) { @@ -12,7 +44,67 @@ class dashboard extends Component { render() { return (
- + + + + + + More}> + + + Transaction received + + + Transaction sended + + + Backup imported + + + Backup exported + + + + + +
+ + + More}> + + + Received 10 credits · 2018-08-07 + + + Sended 20 credits · 2018-08-06 + + + Received 15 credits · 2018-08-05 + + + Sended 20 credits · 2018-08-05 + + + Received 15 credits · 2018-08-04 + + + Account created · 2018-08-03 + + + + + + + + + +
); } diff --git a/wallet/src/views/newtx/newtx.js b/wallet/src/views/newtx/newtx.js new file mode 100644 index 0000000..a988124 --- /dev/null +++ b/wallet/src/views/newtx/newtx.js @@ -0,0 +1,48 @@ +import React, { Component } from 'react'; + +// import {card, tx} from '../../kit/lib' +import { Card, Button, Timeline, Row, Col, List, Icon, + Form, Input, InputNumber, Checkbox } from 'antd'; +import 'antd/dist/antd.css'; +const FormItem = Form.Item; + + + +class newtx extends Component { + constructor(props) { + super(props); + this.state = { + receiver: '', + value: 0 + }; + + } + render() { + const { receiver, value } = this.state; + return ( +
+ + + + } + style={{ width: 200 }} + /> +

+ + + +
+ +
+ +
+ ); + } +} + +export default newtx; diff --git a/wallet/src/views/sidemenu/sidemenu.js b/wallet/src/views/sidemenu/sidemenu.js new file mode 100644 index 0000000..c786173 --- /dev/null +++ b/wallet/src/views/sidemenu/sidemenu.js @@ -0,0 +1,44 @@ +import React, { Component } from 'react'; +import ReactDOM from 'react-dom'; +import { BrowserRouter, Route, NavLink } from 'react-router-dom' + +import { Menu, Icon } from 'antd'; + +const SubMenu = Menu.SubMenu; +const MenuItemGroup = Menu.ItemGroup; + + + +class dashboard extends Component { + constructor(props) { + super(props); + this.state = { + }; + + } + render() { + return ( + + + + Dashboard + + + + + New transaction + + + History + Stats + + ); + } +} + +export default dashboard;