mirror of
https://github.com/status-im/safe-react.git
synced 2025-01-11 10:34:06 +00:00
47d20aa645
* Add types for redux actions (#1737) * solve errors after rebase - added `isStoredTransaction` to differentiate tx provided to `isCancelTransaction` Co-authored-by: Mati Dastugue <matiasdastugue@gmail.com> * Add types + loadGateway transactions cosumer * add client-gateway endpoints to networks configs * add client-gateway getters * WIP: consume gateway-client endpoint - added the history transactions to the store - updated types to `/queued` and `/history` endpoints Co-authored-by: Mati Dastugue <matiasdastugue@gmail.com> * add queued transactions to the store Co-authored-by: Mati Dastugue <matiasdastugue@gmail.com> * add queued transactions selectors Co-authored-by: Mati Dastugue <matiasdastugue@gmail.com> * WIP: display history transactions Co-authored-by: Mati Dastugue <matiasdastugue@gmail.com> * WIP: arrange lists queue/history * prevent loading data from txs-service * cherry-pick TokenTransferAmount component * extract queue transactions logic into a hook `useQueueTransactions` * Add TxType and TokenTransferAmount components Co-authored-by: fernandomg <fernando.greco@altoros.com> * wip: history transactions * wip: use grid to display list content * wip: use Accordion * wip: tx history Co-authored-by: Mati Dastugue <matiasdastugue@gmail.com> * wip: tx details Co-authored-by: Mati Dastugue <matiasdastugue@gmail.com> * wip: TxInfo Co-authored-by: Mati Dastugue <matiasdastugue@gmail.com> * wip: TxSummary Co-authored-by: Mati Dastugue <matiasdastugue@gmail.com> * wip: TxSettingsInfo Co-authored-by: Mati Dastugue <matiasdastugue@gmail.com> * Wip: style owners list Co-authored-by: fernandomg <fernando.greco@altoros.com> * wip: Owners List Co-authored-by: Mati Dastugue <matiasdastugue@gmail.com> * wip: TxInfoCreation Co-authored-by: Mati Dastugue <matiasdastugue@gmail.com> * wip: stop using backOff for client-gateway requests Co-authored-by: Mati Dastugue <matiasdastugue@gmail.com> * refactor reorganize files and components Co-authored-by: Mati Dastugue <matiasdastugue@gmail.com> * refactor - Accordion implementation - extract summaryContent to a reusable component Co-authored-by: Mati Dastugue <matiasdastugue@gmail.com> * Fix prettier issue in src/config/index * add methods names and descriptions to collapsed row Co-authored-by: Mati Dastugue <matiasdastugue@gmail.com> * wip: split components to render tx-data depending on the tx type Co-authored-by: Mati Dastugue <matiasdastugue@gmail.com> * add multiSend tx details Co-authored-by: Mati Dastugue <matiasdastugue@gmail.com> * refactor TxData - separate into specified components `HexEncodedData`, `MethodDetails` & `MultiSendDetails` * remove unused imported type * wip: infinite-scroll Co-authored-by: Mati Dastugue <matiasdastugue@gmail.com> * refactor `ADD_HISTORY_TRANSACTIONS` reducer Co-authored-by: Mati Dastugue <matiasdastugue@gmail.com> * implement infinite scroll pagination Co-authored-by: Mati Dastugue <matiasdastugue@gmail.com> * avoid defining `page_url` param * refactor InfiniteScroll implementation - created a wrapper component to simplify interface - rearranged code * add `missingSigners` key to `ExecutionInfo` type * add `lodash.get` * update `useTransactionStatus` hook to support queued transactions * use `lodash.get` to access queued objects * add votes info to TxCollapsed * add TxQueueCollapsed - also update the usage of `useTransactionStatus` hook * split `TxRow` into `TxHistoryRow` and `TxQueueRow` * use `txLocation` instead of `title` for `QueueTxList` component * make `TxDetails` generic * fix queue list elements arrangement * export `useTransactionDetails` return type [skip ci] * wip: group txs by nonce [skip ci] * request tx details on demand [skip ci] * display cancelling message in queued transactions only [skip ci] * wip: implement tree view for grouped transactions * styled components - reorganized - added comments where necessary - refactored * refactor QueueTxList [skip ci] * update styled-component [skip ci] * refactor - Accordion implementation - extract summaryContent to a reusable component Co-authored-by: Mati Dastugue <matiasdastugue@gmail.com> * update safe-react-components Co-authored-by: Mati Dastugue <matiasdastugue@gmail.com> * update styled-component [skip ci] * fix most-recent list of history transactions update * make queued transactions list scrollable * make scrollableTarget a const * styles fixes - queued grouped transactions styles - add styles to scrollbar in scrollable areas * add safe apps info to tx lists * wip: add action buttons to tx details * fix column distribution for transactions rows * display action count for multiSend transactions * TxExpandedActions * add action buttons - also did a slight refactor around grouped vs. not-grouped transactions * fix txDetails selector * adapt button to current SRC specs * wip: action buttons "action" - TODO: handle the store update -> screen refresh * fix execution/confirmation conditions - fixed modals conditions for execution when last confirmation is able to execute * fix tree view (no <p> as descendant of <p>) * wip: handle transactions actions through a context provider * provide txLocation through context * fix `react-hooks/exhaustive-deps` warnings * Sort history list * Add objects utils * add `lodash.merge` as a dependency Co-authored-by: Mati Dastugue <matiasdastugue@gmail.com> * update `ADD_QUEUED_TRANSACTIONS` reducer Co-authored-by: Mati Dastugue <matiasdastugue@gmail.com> * implement pagination for `queued` transactions Co-authored-by: Mati Dastugue <matiasdastugue@gmail.com> * prevent rendering action modal if `txDetails` is not available Co-authored-by: Mati Dastugue <matiasdastugue@gmail.com> * pending status for tx execution * small style-based behavior fixes * allow to identify txs to be replaced * redirect to `gatewayTransaction` * adjust behavior for grouped vs individual transactions * add help links * display execute action only when threshold is reached * make `setActiveHover` required * prevent `<p />` as child of `<p />` * fix cards background colors * revert staging config * fix linting errors * prevent using `no-owner` class in history list * add `PENDING` status to confirmation transactions This will mark as _pending_ a transaction by its id, the rest of the txs that share same nonce will remain untouched * unify action buttons status - created `useActionButtonsHandler` hook - extracted `CollapsedActions` into `TxCollapsedActions` component Co-authored-by: Mati Dastugue <matiasdastugue@gmail.com> * fix wording * fix pending status Co-authored-by: Mati Dastugue <matiasdastugue@gmail.com> * fix close Action modal Co-authored-by: Mati Dastugue <matiasdastugue@gmail.com> * extract `addressInList` as a util function Co-authored-by: Mati Dastugue <matiasdastugue@gmail.com> * fix action buttons' "disabled" status condition Co-authored-by: Mati Dastugue <matiasdastugue@gmail.com> * provide proper `to` and `value` for `processTransaction` based on Transfer Type (ERC20, ERC721 or ETHER) Co-authored-by: Mati Dastugue <matiasdastugue@gmail.com> * update queued transactions pointers if we reached the last page Co-authored-by: Mati Dastugue <matiasdastugue@gmail.com> * use `as string` for `next` pointer - also fixed typo Co-authored-by: Mati Dastugue <matiasdastugue@gmail.com> * add JSDocs * explicitly discard unused client-gateway headers Co-authored-by: Mati Dastugue <matiasdastugue@gmail.com> Co-authored-by: nicosampler <nf.dominguez.87@gmail.com> * add loading status to the queue transactions list * fix tx actions after rebase of v2.19.1 * fix issue with safe data update * fix types issues * skip `isCancelTransaction` tests * fix loading status for queue transactions * Update notifications for tx-list v2 (#1839) Co-authored-by: Mati Dastugue <matiasdastugue@gmail.com> * use `sameString` to verify `method` value Co-authored-by: Mati Dastugue <matiasdastugue@gmail.com> * TxDetails refactor cancelTxDetails condition Co-authored-by: Mati Dastugue <matiasdastugue@gmail.com> * remove unused TxType component Co-authored-by: Mati Dastugue <matiasdastugue@gmail.com> * remove unused `isReadyToExecute` function Co-authored-by: Mati Dastugue <matiasdastugue@gmail.com> * Fix eslint * Update txs details after `PENDING` status update * remove log * Fix send transaction because of removed notification message * Cleanup pending unwanted notifications * wip: ellipsis actions * wip: ellipsis actions - fix tokenAmount * Refactor to txInfoDetails * refactor `TxInfoDetails` * remove old `utils.tsx` file * support SpendingLimit transactions * fix `isSpendingLimitMethod` * Fix styles for tx list v2 (#1859) Co-authored-by: fernandomg <fernando.greco@gmail.com> Co-authored-by: Agustín Longoni <agustin.longoni@altoros.com> * wip: performance enhancement Co-authored-by: Mati Dastugue <matiasdastugue@gmail.com> Co-authored-by: nicosampler <nf.dominguez.87@gmail.com> * wip: extract data calculation to a hook * refactor huge ternaries * fix columns styles for small screens Co-authored-by: Mati Dastugue <matiasdastugue@gmail.com> * add extra information for `Cancel` transaction identification * undo custom selector Co-authored-by: Mati Dastugue <matiasdastugue@gmail.com> * undo custom selector * Pass `action` by prop to TxDetails Co-authored-by: Mati Dastugue <matiasdastugue@gmail.com> Co-authored-by: nicosampler <nf.dominguez.87@gmail.com> * Unify `processTransaction` / `createTransaction` actions Co-authored-by: Mati Dastugue <matiasdastugue@gmail.com> Co-authored-by: nicosampler <nf.dominguez.87@gmail.com> Co-authored-by: Daniel Sanchez <daniel.sanchez@gnosis.pm> * Disable send again when the user is offline * set pending status for the executed tx only (not the group by nonce) Co-authored-by: Mati Dastugue <matiasdastugue@gmail.com> Co-authored-by: nicosampler <nf.dominguez.87@gmail.com> Co-authored-by: Daniel Sanchez <daniel.sanchez@gnosis.pm> * Use gatewayTransactions as default transaction list * fix styles for TxDetails row Co-authored-by: Mati Dastugue <matiasdastugue@gmail.com> Co-authored-by: nicosampler <nf.dominguez.87@gmail.com> Co-authored-by: Daniel Sanchez <daniel.sanchez@gnosis.pm> * Remove old transactions list legacy code Move gatewayTransactions within transactions folder * Remove allTransactions legacy code * Types * Fix redirect after createTransaction * fix performance issue for `ApproveTxModal` Co-authored-by: Mati Dastugue <matiasdastugue@gmail.com> Co-authored-by: nicosampler <nf.dominguez.87@gmail.com> Co-authored-by: Agustin Pane <agustin.pane@gmail.com> * fix asset icon size * fix status wording * add time tooltip * add _breadcrumb_ * properly identify non existing nonce * fix open cookie banner types after merge * add isCancellation flag support * fix expanded tx styles Co-authored-by: Mati Dastugue <matiasdastugue@gmail.com> Co-authored-by: Mati Dastugue <mdastugu@amazon.com> Co-authored-by: Daniel Sanchez <daniel.sanchez@gnosis.pm> Co-authored-by: nicosampler <nf.dominguez.87@gmail.com> Co-authored-by: Mati Dastugue <matias.dastugue@altoros.com> Co-authored-by: Agustin Pane <agustin.pane@gmail.com> Co-authored-by: nicolas <nicosampler@users.noreply.github.com> Co-authored-by: Agustín Longoni <agustin.longoni@altoros.com>
283 lines
8.7 KiB
JSON
283 lines
8.7 KiB
JSON
{
|
|
"name": "safe-react",
|
|
"version": "2.19.2",
|
|
"description": "Allowing crypto users manage funds in a safer way",
|
|
"website": "https://github.com/gnosis/safe-react#readme",
|
|
"bugs": {
|
|
"url": "https://github.com/gnosis/safe-react/issues"
|
|
},
|
|
"repository": {
|
|
"type": "git",
|
|
"url": "https://github.com/gnosis/safe-react.git"
|
|
},
|
|
"license": "MIT",
|
|
"author": {
|
|
"name": "Gnosis Team",
|
|
"email": "safe@gnosis.io"
|
|
},
|
|
"main": "public/electron.js",
|
|
"scripts": {
|
|
"analyze": "source-map-explorer 'build/static/js/*.js'",
|
|
"build-desktop": "cross-env REACT_APP_BUILD_FOR_DESKTOP=true REACT_APP_ENV=production yarn build-mainnet",
|
|
"build-mainnet": "cross-env REACT_APP_NETWORK=mainnet yarn build",
|
|
"build": "cross-env REACT_APP_APP_VERSION=$npm_package_version rescripts --max-old-space-size=8192 build",
|
|
"eject": "rescripts eject",
|
|
"electron-build": "electron-builder --mac --windows --linux",
|
|
"electron-dev": "concurrently \"BROWSER=none yarn start\" \"wait-on http://localhost:3000 && electron .\"",
|
|
"format:staged": "lint-staged",
|
|
"generate-types": "yarn generate-types:contracts && yarn generate-types:spendingLimit",
|
|
"generate-types:contracts": "cross-env typechain --target=web3-v1 --outDir './src/types/contracts' './node_modules/@gnosis.pm/safe-contracts/build/contracts/*.json'",
|
|
"generate-types:spendingLimit": "cross-env typechain --target=web3-v1 --outDir './src/types/contracts' ./src/logic/contracts/artifacts/*.json",
|
|
"lint:check": "eslint './src/**/*.{js,jsx,ts,tsx}'",
|
|
"lint:fix": "yarn lint:check --fix",
|
|
"postinstall": "patch-package && electron-builder install-app-deps && yarn generate-types",
|
|
"preelectron-pack": "yarn build",
|
|
"prettier:check": "yarn prettier --check",
|
|
"prettier:fix": "yarn prettier --write",
|
|
"prettier": "prettier './src/**/*.{js,jsx,ts,tsx}'",
|
|
"release": "electron-builder --mac --linux --windows -p always",
|
|
"start-mainnet": "REACT_APP_NETWORK=mainnet yarn start",
|
|
"start": "rescripts start",
|
|
"test": "rescripts test --env=jsdom",
|
|
"test:coverage": "yarn test --coverage --watchAll=false",
|
|
"coveralls": "cat ./coverage/lcov.info | coveralls",
|
|
"storybook": "start-storybook -p 9009 -s public",
|
|
"build-storybook": "build-storybook -s public",
|
|
"sentry-upload-sourcemaps": "sentry-cli --auth-token $SENTRY_AUTH_TOKEN releases -o $SENTRY_ORG -p $SENTRY_PROJECT files $npm_package_version upload-sourcemaps ./build/static/js/"
|
|
},
|
|
"husky": {
|
|
"hooks": {
|
|
"pre-commit": "lint-staged --allow-empty",
|
|
"pre-push": "tsc --noEmit --incremental"
|
|
}
|
|
},
|
|
"lint-staged": {
|
|
"src/**/*.{js,jsx,ts,tsx}": [
|
|
"eslint --fix",
|
|
"prettier --write"
|
|
]
|
|
},
|
|
"jest": {
|
|
"collectCoverageFrom": [
|
|
"src/**/*.{js,jsx,ts,tsx}",
|
|
"!src/**/*.{.test.*}",
|
|
"!src/**/test/**/*",
|
|
"!src/**/assets/**"
|
|
]
|
|
},
|
|
"productName": "Safe Multisig",
|
|
"build": {
|
|
"appId": "io.gnosis.safe",
|
|
"afterSign": "scripts/notarize.js",
|
|
"extends": null,
|
|
"productName": "Safe Multisig",
|
|
"asar": true,
|
|
"publish": [
|
|
{
|
|
"provider": "github",
|
|
"owner": "gnosis",
|
|
"repo": "safe-react"
|
|
}
|
|
],
|
|
"dmg": {
|
|
"sign": false,
|
|
"contents": [
|
|
{
|
|
"x": 110,
|
|
"y": 150
|
|
},
|
|
{
|
|
"x": 240,
|
|
"y": 150,
|
|
"type": "link",
|
|
"path": "/Applications"
|
|
}
|
|
]
|
|
},
|
|
"files": [
|
|
"build",
|
|
"patches",
|
|
"public",
|
|
"scripts",
|
|
"dev-app-update.yml",
|
|
"package.json"
|
|
],
|
|
"directories": {
|
|
"buildResources": "public/resources"
|
|
},
|
|
"mac": {
|
|
"category": "public.app-category.productivity",
|
|
"hardenedRuntime": true,
|
|
"entitlements": "public/resources/entitlements.mac.plist",
|
|
"gatekeeperAssess": false,
|
|
"entitlementsInherit": "public/resources/entitlements.mac.plist",
|
|
"target": [
|
|
"dmg",
|
|
"zip"
|
|
],
|
|
"publish": [
|
|
{
|
|
"provider": "github",
|
|
"owner": "gnosis",
|
|
"repo": "safe-react"
|
|
}
|
|
]
|
|
},
|
|
"nsis": {
|
|
"deleteAppDataOnUninstall": true
|
|
},
|
|
"linux": {
|
|
"category": "Finance",
|
|
"target": [
|
|
"AppImage",
|
|
"deb",
|
|
"zip"
|
|
]
|
|
},
|
|
"win": {
|
|
"target": [
|
|
"nsis"
|
|
],
|
|
"icon": "public/resources/icon.ico"
|
|
}
|
|
},
|
|
"resolutions": {
|
|
"@babel/core": "^7.12.0",
|
|
"sass-loader": "^9.0.0"
|
|
},
|
|
"browserslist": {
|
|
"production": [
|
|
">0.2%",
|
|
"not dead",
|
|
"not op_mini all"
|
|
],
|
|
"development": [
|
|
"last 1 chrome version",
|
|
"last 1 firefox version",
|
|
"last 1 safari version"
|
|
]
|
|
},
|
|
"dependencies": {
|
|
"@gnosis.pm/safe-apps-sdk": "1.0.3",
|
|
"@gnosis.pm/safe-apps-sdk-v1": "npm:@gnosis.pm/safe-apps-sdk@0.4.2",
|
|
"@gnosis.pm/safe-contracts": "1.1.1-dev.2",
|
|
"@gnosis.pm/safe-react-components": "https://github.com/gnosis/safe-react-components.git#8dea3a6",
|
|
"@gnosis.pm/util-contracts": "2.0.6",
|
|
"@ledgerhq/hw-transport-node-hid-singleton": "5.41.0",
|
|
"@material-ui/core": "^4.11.0",
|
|
"@material-ui/icons": "^4.11.0",
|
|
"@material-ui/lab": "4.0.0-alpha.57",
|
|
"@openzeppelin/contracts": "3.1.0",
|
|
"@sentry/react": "^5.30.0",
|
|
"@sentry/tracing": "^5.30.0",
|
|
"@truffle/contract": "^4.3.0",
|
|
"@unstoppabledomains/resolution": "^1.17.0",
|
|
"async-sema": "^3.1.0",
|
|
"axios": "0.21.1",
|
|
"bignumber.js": "9.0.1",
|
|
"bnc-onboard": "^1.16.1",
|
|
"classnames": "^2.2.6",
|
|
"concurrently": "^5.3.0",
|
|
"connected-react-router": "6.8.0",
|
|
"coveralls": "^3.1.0",
|
|
"currency-flags": "2.1.2",
|
|
"date-fns": "2.16.1",
|
|
"detect-port": "^1.3.0",
|
|
"electron-is-dev": "^1.2.0",
|
|
"electron-log": "^4.3.0",
|
|
"electron-settings": "^4.0.2",
|
|
"electron-updater": "4.3.5",
|
|
"eth-sig-util": "^2.5.3",
|
|
"ethereum-blockies-base64": "^1.0.2",
|
|
"ethereumjs-abi": "0.6.8",
|
|
"exponential-backoff": "^3.1.0",
|
|
"express": "^4.17.1",
|
|
"final-form": "^4.20.1",
|
|
"final-form-calculate": "^1.3.2",
|
|
"history": "4.10.1",
|
|
"immortal-db": "^1.1.0",
|
|
"immutable": "^4.0.0-rc.12",
|
|
"js-cookie": "^2.2.1",
|
|
"lodash.debounce": "^4.0.8",
|
|
"lodash.get": "^4.4.2",
|
|
"lodash.isequal": "^4.5.0",
|
|
"lodash.memoize": "^4.1.2",
|
|
"lodash.merge": "^4.6.2",
|
|
"material-ui-search-bar": "^1.0.0",
|
|
"notistack": "https://github.com/gnosis/notistack.git#v0.9.4",
|
|
"object-hash": "^2.1.1",
|
|
"qrcode.react": "1.0.1",
|
|
"query-string": "6.13.8",
|
|
"react": "16.13.1",
|
|
"react-device-detect": "^1.15.0",
|
|
"react-dom": "16.13.1",
|
|
"react-final-form": "^6.5.2",
|
|
"react-final-form-listeners": "^1.0.2",
|
|
"react-ga": "3.3.0",
|
|
"react-hot-loader": "4.13.0",
|
|
"react-infinite-scroll-component": "^5.1.0",
|
|
"react-qr-reader": "^2.2.1",
|
|
"react-redux": "7.2.2",
|
|
"react-router-dom": "5.2.0",
|
|
"react-scripts": "^4.0.1",
|
|
"react-window": "^1.8.6",
|
|
"redux": "4.0.5",
|
|
"redux-actions": "^2.6.5",
|
|
"redux-thunk": "^2.3.0",
|
|
"reselect": "^4.0.0",
|
|
"semver": "^7.3.2",
|
|
"styled-components": "^5.2.1",
|
|
"web3": "1.2.11",
|
|
"web3-core": "^1.2.11",
|
|
"web3-eth-contract": "^1.2.11",
|
|
"web3-utils": "^1.2.11"
|
|
},
|
|
"devDependencies": {
|
|
"@rescripts/cli": "^0.0.15",
|
|
"@sentry/cli": "^1.62.0",
|
|
"@storybook/addon-actions": "^5.3.19",
|
|
"@storybook/addon-links": "^5.3.19",
|
|
"@storybook/addons": "^5.3.19",
|
|
"@storybook/preset-create-react-app": "^3.1.5",
|
|
"@storybook/react": "^5.3.19",
|
|
"@testing-library/jest-dom": "^5.11.6",
|
|
"@testing-library/react": "^11.2.2",
|
|
"@typechain/web3-v1": "^2.0.0",
|
|
"@types/history": "4.6.2",
|
|
"@types/jest": "^26.0.16",
|
|
"@types/lodash.get": "^4.4.6",
|
|
"@types/lodash.memoize": "^4.1.6",
|
|
"@types/node": "^14.14.10",
|
|
"@types/react": "^16.9.55",
|
|
"@types/react-dom": "^16.9.9",
|
|
"@types/react-redux": "^7.1.11",
|
|
"@types/react-router-dom": "^5.1.6",
|
|
"@types/redux-actions": "^2.6.1",
|
|
"@types/styled-components": "^5.1.4",
|
|
"@typescript-eslint/eslint-plugin": "^4.14.0",
|
|
"@typescript-eslint/parser": "^4.14.0",
|
|
"cross-env": "^7.0.3",
|
|
"dotenv": "^8.2.0",
|
|
"dotenv-expand": "^5.1.0",
|
|
"electron": "^9.4.0",
|
|
"electron-builder": "22.9.1",
|
|
"electron-notarize": "1.0.0",
|
|
"eslint": "^7.17.0",
|
|
"eslint-config-prettier": "^7.2.0",
|
|
"eslint-plugin-import": "^2.22.1",
|
|
"eslint-plugin-jsx-a11y": "^6.3.1",
|
|
"eslint-plugin-prettier": "^3.1.4",
|
|
"eslint-plugin-react": "^7.21.5",
|
|
"eslint-plugin-sort-destructure-keys": "^1.3.5",
|
|
"husky": "^4.3.0",
|
|
"lint-staged": "^10.5.2",
|
|
"patch-package": "^6.2.2",
|
|
"postinstall-postinstall": "^2.1.0",
|
|
"prettier": "^2.2.0",
|
|
"sass": "^1.32.0",
|
|
"typechain": "^4.0.0",
|
|
"typescript": "4.1.3",
|
|
"wait-on": "5.2.1"
|
|
}
|
|
}
|