add SafeToken record
This commit is contained in:
parent
f797e2db77
commit
a6249de48d
|
@ -1,10 +1,10 @@
|
|||
// @flow
|
||||
import { List } from 'immutable'
|
||||
import { type Transaction } from '~/routes/safe/store/model/transaction'
|
||||
import { type Transaction } from '~/routes/safe/store/models/transaction'
|
||||
import { executeTransaction, approveTransaction } from '~/logic/safe/safeBlockchainOperations'
|
||||
import { EMPTY_DATA } from '~/logic/wallets/ethTransactions'
|
||||
import { getWeb3 } from '~/logic/wallets/getWeb3'
|
||||
import { type Safe } from '~/routes/safe/store/model/safe'
|
||||
import { type Safe } from '~/routes/safe/store/models/safe'
|
||||
import { getGnosisSafeContract } from '~/logic/contracts/safeContracts'
|
||||
import { storeSubject } from '~/utils/storage/transactions'
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
// @flow
|
||||
import { type Owner } from '~/routes/safe/store/model/owner'
|
||||
import { type Owner } from '~/routes/safe/store/models/owner'
|
||||
import { List, Map } from 'immutable'
|
||||
import { loadFromStorage, saveToStorage } from '~/utils/storage'
|
||||
|
||||
|
|
|
@ -6,15 +6,15 @@ import { type GlobalState } from '~/store/index'
|
|||
import { getActiveTokens } from '~/logic/tokens/utils/tokensStorage'
|
||||
import saveTokens from './saveTokens'
|
||||
|
||||
const loadActiveTokens = (safeAddress: string) => async (dispatch: ReduxDispatch<GlobalState>) => {
|
||||
const loadActiveTokens = () => async (dispatch: ReduxDispatch<GlobalState>) => {
|
||||
try {
|
||||
const tokens: List<TokenProps> = await getActiveTokens(safeAddress)
|
||||
const tokens: List<TokenProps> = await getActiveTokens()
|
||||
|
||||
const tokenRecords: Map<string, Token> = Map().withMutations((map) => {
|
||||
tokens.forEach(token => map.set(token.address, makeToken(token)))
|
||||
})
|
||||
|
||||
dispatch(saveTokens(safeAddress, tokenRecords))
|
||||
dispatch(saveTokens(tokenRecords))
|
||||
} catch (err) {
|
||||
// eslint-disable-next-line
|
||||
console.error('Error while loading active tokens from storage:', err)
|
||||
|
|
|
@ -4,41 +4,38 @@ import { type Token, type TokenProps } from '~/logic/tokens/store/model/token'
|
|||
import { loadFromStorage, saveToStorage } from '~/utils/storage'
|
||||
|
||||
export const ACTIVE_TOKENS_KEY = 'ACTIVE_TOKENS'
|
||||
export const TOKENS_KEY = 'TOKENS'
|
||||
export const CUSTOM_TOKENS_KEY = 'CUSTOM_TOKENS'
|
||||
|
||||
const getActiveTokensKey = (safeAddress: string) => `${ACTIVE_TOKENS_KEY}-${safeAddress}`
|
||||
const getTokensKey = (safeAddress: string) => `${TOKENS_KEY}-${safeAddress}`
|
||||
// Tokens which are active at least in one of used safes in the app should be saved to localstorage
|
||||
// to avoid iterating a large amount of data of tokens from the backend
|
||||
// Custom tokens should be saved too unless they're deleted (marking them as inactive doesn't count)
|
||||
|
||||
export const setActiveTokens = async (safeAddress: string, tokens: List<TokenProps>) => {
|
||||
export const setActiveTokens = async (tokens: List<TokenProps>) => {
|
||||
try {
|
||||
const key = getActiveTokensKey(safeAddress)
|
||||
await saveToStorage(key, tokens.toJS())
|
||||
await saveToStorage(ACTIVE_TOKENS_KEY, tokens.toJS())
|
||||
} catch (err) {
|
||||
// eslint-disable-next-line
|
||||
console.log('Error storing tokens in localstorage')
|
||||
}
|
||||
}
|
||||
|
||||
export const getActiveTokens = async (safeAddress: string): Promise<List<TokenProps>> => {
|
||||
const key = getActiveTokensKey(safeAddress)
|
||||
const data = await loadFromStorage(key)
|
||||
export const getActiveTokens = async (): Promise<List<TokenProps>> => {
|
||||
const data = await loadFromStorage(ACTIVE_TOKENS_KEY)
|
||||
|
||||
return data ? List(data) : List()
|
||||
}
|
||||
|
||||
export const getTokens = async (safeAddress: string): Promise<List<TokenProps>> => {
|
||||
const key = getTokensKey(safeAddress)
|
||||
const data = await loadFromStorage(key)
|
||||
export const getCustomTokens = async (): Promise<List<TokenProps>> => {
|
||||
const data = await loadFromStorage(CUSTOM_TOKENS_KEY)
|
||||
|
||||
return data ? List(data) : List()
|
||||
}
|
||||
|
||||
export const setToken = async (safeAddress: string, token: Token) => {
|
||||
const data: List<TokenProps> = await getTokens(safeAddress)
|
||||
const data: List<TokenProps> = await getCustomTokens()
|
||||
|
||||
try {
|
||||
const key = getTokensKey(safeAddress)
|
||||
await saveToStorage(key, data.push(token))
|
||||
await saveToStorage(CUSTOM_TOKENS_KEY, data.push(token))
|
||||
} catch (err) {
|
||||
// eslint-disable-next-line
|
||||
console.log('Error adding token in localstorage')
|
||||
|
@ -46,12 +43,11 @@ export const setToken = async (safeAddress: string, token: Token) => {
|
|||
}
|
||||
|
||||
export const removeTokenFromStorage = async (safeAddress: string, token: Token) => {
|
||||
const data: List<TokenProps> = await getTokens(safeAddress)
|
||||
const data: List<TokenProps> = await getCustomTokens()
|
||||
|
||||
try {
|
||||
const index = data.indexOf(token)
|
||||
const key = getTokensKey(safeAddress)
|
||||
await saveToStorage(key, data.remove(index))
|
||||
await saveToStorage(CUSTOM_TOKENS_KEY, data.remove(index))
|
||||
} catch (err) {
|
||||
// eslint-disable-next-line
|
||||
console.log('Error removing token in localstorage')
|
||||
|
@ -59,7 +55,7 @@ export const removeTokenFromStorage = async (safeAddress: string, token: Token)
|
|||
}
|
||||
|
||||
export const removeFromActiveTokens = async (safeAddress: string, token: Token) => {
|
||||
const activeTokens = await getActiveTokens(safeAddress)
|
||||
const activeTokens = await getActiveTokens()
|
||||
const index = activeTokens.findIndex(activeToken => activeToken.name === token.name)
|
||||
|
||||
if (index !== -1) {
|
||||
|
|
|
@ -3,8 +3,8 @@ import * as React from 'react'
|
|||
import { List } from 'immutable'
|
||||
import Stepper from '~/components/Stepper'
|
||||
import { connect } from 'react-redux'
|
||||
import { type Safe } from '~/routes/safe/store/model/safe'
|
||||
import { type Owner, makeOwner } from '~/routes/safe/store/model/owner'
|
||||
import { type Safe } from '~/routes/safe/store/models/safe'
|
||||
import { type Owner, makeOwner } from '~/routes/safe/store/models/owner'
|
||||
import { setOwners } from '~/utils/storage'
|
||||
import { getSafeEthereumInstance, createTransaction } from '~/logic/safe/safeFrontendOperations'
|
||||
import AddOwnerForm, { NAME_PARAM, OWNER_ADDRESS_PARAM, INCREASE_PARAM } from './AddOwnerForm'
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
import * as React from 'react'
|
||||
import Stepper from '~/components/Stepper'
|
||||
import { connect } from 'react-redux'
|
||||
import { type Safe } from '~/routes/safe/store/model/safe'
|
||||
import { type Safe } from '~/routes/safe/store/models/safe'
|
||||
import { getSafeEthereumInstance, createTransaction } from '~/logic/safe/safeFrontendOperations'
|
||||
import RemoveOwnerForm, { DECREASE_PARAM } from './RemoveOwnerForm'
|
||||
import Review from './Review'
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
import { List } from 'immutable'
|
||||
import { createStructuredSelector, createSelector } from 'reselect'
|
||||
import { userAccountSelector } from '~/logic/wallets/store/selectors'
|
||||
import { type Transaction } from '~/routes/safe/store/model/transaction'
|
||||
import { type Transaction } from '~/routes/safe/store/models/transaction'
|
||||
import { safeTransactionsSelector } from '~/routes/safe/store/selectors/index'
|
||||
|
||||
const pendingTransactionsSelector = createSelector(
|
||||
|
|
|
@ -15,7 +15,7 @@ import Delete from '@material-ui/icons/Delete'
|
|||
import Person from '@material-ui/icons/Person'
|
||||
import ExpandLess from '@material-ui/icons/ExpandLess'
|
||||
import ExpandMore from '@material-ui/icons/ExpandMore'
|
||||
import { type OwnerProps } from '~/routes/safe/store/model/owner'
|
||||
import { type OwnerProps } from '~/routes/safe/store/models/owner'
|
||||
import { type WithStyles } from '~/theme/mui'
|
||||
import { sameAddress } from '~/logic/wallets/ethAddresses'
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@ import Bold from '~/components/layout/Bold'
|
|||
import Img from '~/components/layout/Img'
|
||||
import Paragraph from '~/components/layout/Paragraph'
|
||||
import Row from '~/components/layout/Row'
|
||||
import { type Safe } from '~/routes/safe/store/model/safe'
|
||||
import { type Safe } from '~/routes/safe/store/models/safe'
|
||||
import { type Token } from '~/logic/tokens/store/model/token'
|
||||
|
||||
import Transactions from '~/routes/safe/component/Transactions'
|
||||
|
|
|
@ -4,7 +4,7 @@ import { BigNumber } from 'bignumber.js'
|
|||
import { connect } from 'react-redux'
|
||||
import Stepper from '~/components/Stepper'
|
||||
import { sleep } from '~/utils/timer'
|
||||
import { type Safe } from '~/routes/safe/store/model/safe'
|
||||
import { type Safe } from '~/routes/safe/store/models/safe'
|
||||
import { getStandardTokenContract } from '~/logic/tokens/store/actions/fetchTokens'
|
||||
import { type Token } from '~/logic/tokens/store/model/token'
|
||||
import { isEther } from '~/logic/tokens/utils/tokens'
|
||||
|
|
|
@ -6,7 +6,7 @@ import OpenPaper from '~/components/Stepper/OpenPaper'
|
|||
import Field from '~/components/forms/Field'
|
||||
import TextField from '~/components/forms/TextField'
|
||||
import { composeValidators, minValue, maxValue, mustBeInteger, required } from '~/components/forms/validator'
|
||||
import { type Safe } from '~/routes/safe/store/model/safe'
|
||||
import { type Safe } from '~/routes/safe/store/models/safe'
|
||||
|
||||
export const THRESHOLD_PARAM = 'threshold'
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@ import * as React from 'react'
|
|||
import Stepper from '~/components/Stepper'
|
||||
import { connect } from 'react-redux'
|
||||
import { getSafeEthereumInstance, createTransaction } from '~/logic/safe/safeFrontendOperations'
|
||||
import { type Safe } from '~/routes/safe/store/model/safe'
|
||||
import { type Safe } from '~/routes/safe/store/models/safe'
|
||||
import ThresholdForm, { THRESHOLD_PARAM } from './ThresholdForm'
|
||||
import selector, { type SelectorProps } from './selector'
|
||||
import actions, { type Actions } from './actions'
|
||||
|
|
|
@ -14,7 +14,7 @@ import Person from '@material-ui/icons/Person'
|
|||
import ExpandLess from '@material-ui/icons/ExpandLess'
|
||||
import ExpandMore from '@material-ui/icons/ExpandMore'
|
||||
import { type WithStyles } from '~/theme/mui'
|
||||
import { type Confirmation, type ConfirmationProps } from '~/routes/safe/store/model/confirmation'
|
||||
import { type Confirmation, type ConfirmationProps } from '~/routes/safe/store/models/confirmation'
|
||||
|
||||
const styles = {
|
||||
nested: {
|
||||
|
|
|
@ -9,7 +9,7 @@ import ListItemText from '~/components/List/ListItemText'
|
|||
import Avatar from '@material-ui/core/Avatar'
|
||||
import Group from '@material-ui/icons/Group'
|
||||
import MailOutline from '@material-ui/icons/MailOutline'
|
||||
import { type Confirmation } from '~/routes/safe/store/model/confirmation'
|
||||
import { type Confirmation } from '~/routes/safe/store/models/confirmation'
|
||||
import Confirmations from './Confirmations'
|
||||
|
||||
type Props = {
|
||||
|
|
|
@ -16,11 +16,11 @@ import Atm from '@material-ui/icons/LocalAtm'
|
|||
import DoneAll from '@material-ui/icons/DoneAll'
|
||||
import CompareArrows from '@material-ui/icons/CompareArrows'
|
||||
import Collapsed from '~/routes/safe/component/Transactions/Collapsed'
|
||||
import { type Transaction } from '~/routes/safe/store/model/transaction'
|
||||
import { type Transaction } from '~/routes/safe/store/models/transaction'
|
||||
import Hairline from '~/components/layout/Hairline/index'
|
||||
import Button from '~/components/layout/Button'
|
||||
import { sameAddress } from '~/logic/wallets/ethAddresses'
|
||||
import { type Confirmation } from '~/routes/safe/store/model/confirmation'
|
||||
import { type Confirmation } from '~/routes/safe/store/models/confirmation'
|
||||
import selector, { type SelectorProps } from './selector'
|
||||
|
||||
type Props = Open &
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
import { createStructuredSelector } from 'reselect'
|
||||
import { confirmationsTransactionSelector } from '~/routes/safe/store/selectors/index'
|
||||
import { userAccountSelector } from '~/logic/wallets/store/selectors'
|
||||
import { type Transaction } from '~/routes/safe/store/model/transaction'
|
||||
import { type Transaction } from '~/routes/safe/store/models/transaction'
|
||||
import { type GlobalState } from '~/store'
|
||||
import { type Confirmation } from '~/routes/safe/store/model/confirmation'
|
||||
import { type Confirmation } from '~/routes/safe/store/models/confirmation'
|
||||
|
||||
export type SelectorProps = {
|
||||
confirmed: confirmationsTransactionSelector,
|
||||
|
|
|
@ -2,11 +2,11 @@
|
|||
import * as React from 'react'
|
||||
import { List } from 'immutable'
|
||||
import { connect } from 'react-redux'
|
||||
import { type Transaction } from '~/routes/safe/store/model/transaction'
|
||||
import { type Transaction } from '~/routes/safe/store/models/transaction'
|
||||
import NoTransactions from '~/routes/safe/component/Transactions/NoTransactions'
|
||||
import GnoTransaction from '~/routes/safe/component/Transactions/Transaction'
|
||||
import { sameAddress } from '~/logic/wallets/ethAddresses'
|
||||
import { type Confirmation } from '~/routes/safe/store/model/confirmation'
|
||||
import { type Confirmation } from '~/routes/safe/store/models/confirmation'
|
||||
import { processTransaction } from '~/logic/safe/safeFrontendOperations'
|
||||
import selector, { type SelectorProps } from './selector'
|
||||
import actions, { type Actions } from './actions'
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
// @flow
|
||||
import { List } from 'immutable'
|
||||
import { createStructuredSelector } from 'reselect'
|
||||
import { type Transaction } from '~/routes/safe/store/model/transaction'
|
||||
import { type Transaction } from '~/routes/safe/store/models/transaction'
|
||||
import { safeTransactionsSelector } from '~/routes/safe/store/selectors/index'
|
||||
import { userAccountSelector } from '~/logic/wallets/store/selectors'
|
||||
|
||||
|
|
|
@ -8,8 +8,8 @@ import {
|
|||
type SafeSelectorProps,
|
||||
} from '~/routes/safe/store/selectors'
|
||||
import { providerNameSelector, userAccountSelector, networkSelector } from '~/logic/wallets/store/selectors'
|
||||
import { type Safe } from '~/routes/safe/store/model/safe'
|
||||
import { type Owner } from '~/routes/safe/store/model/owner'
|
||||
import { type Safe } from '~/routes/safe/store/models/safe'
|
||||
import { type Owner } from '~/routes/safe/store/models/owner'
|
||||
import { type GlobalState } from '~/store'
|
||||
import { sameAddress } from '~/logic/wallets/ethAddresses'
|
||||
import { orderedTokenListSelector, tokensSelector } from '~/logic/tokens/store/selectors'
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
// @flow
|
||||
import { List } from 'immutable'
|
||||
import { createAction } from 'redux-actions'
|
||||
import SafeRecord, { type Safe } from '~/routes/safe/store/model/safe'
|
||||
import SafeRecord, { type Safe } from '~/routes/safe/store/models/safe'
|
||||
import { saveSafes, setOwners } from '~/logic/safe/utils'
|
||||
import { makeOwner, type Owner } from '~/routes/safe/store/model/owner'
|
||||
import { makeOwner, type Owner } from '~/routes/safe/store/models/owner'
|
||||
import type { Dispatch as ReduxDispatch, GetState } from 'redux'
|
||||
import { type GlobalState } from '~/store/index'
|
||||
import { safesMapSelector } from '~/routes/safeList/store/selectors/index'
|
||||
|
|
|
@ -2,8 +2,8 @@
|
|||
import type { Dispatch as ReduxDispatch } from 'redux'
|
||||
import { List, Map } from 'immutable'
|
||||
import { type GlobalState } from '~/store/index'
|
||||
import { makeOwner } from '~/routes/safe/store/model/owner'
|
||||
import SafeRecord, { type SafeProps } from '~/routes/safe/store/model/safe'
|
||||
import { makeOwner } from '~/routes/safe/store/models/owner'
|
||||
import SafeRecord, { type SafeProps } from '~/routes/safe/store/models/safe'
|
||||
import { addSafe } from '~/routes/safe/store/actions/addSafe'
|
||||
import { getOwners, getSafeName } from '~/logic/safe/utils'
|
||||
import { getGnosisSafeContract } from '~/logic/contracts/safeContracts'
|
||||
|
|
|
@ -3,9 +3,9 @@ import { List, Map } from 'immutable'
|
|||
import axios from 'axios'
|
||||
import type { Dispatch as ReduxDispatch } from 'redux'
|
||||
import { type GlobalState } from '~/store/index'
|
||||
import { makeOwner } from '~/routes/safe/store/model/owner'
|
||||
import { makeTransaction, type Transaction } from '~/routes/safe/store/model/transaction'
|
||||
import { makeConfirmation } from '~/routes/safe/store/model/confirmation'
|
||||
import { makeOwner } from '~/routes/safe/store/models/owner'
|
||||
import { makeTransaction, type Transaction } from '~/routes/safe/store/models/transaction'
|
||||
import { makeConfirmation } from '~/routes/safe/store/models/confirmation'
|
||||
import { loadSafeSubjects } from '~/utils/storage/transactions'
|
||||
import { buildTxServiceUrlFrom, type TxServiceType } from '~/logic/safe/safeTxHistory'
|
||||
import { getOwners } from '~/logic/safe/utils'
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
import type { Dispatch as ReduxDispatch } from 'redux'
|
||||
import { type GlobalState } from '~/store/index'
|
||||
import { SAFES_KEY } from '~/logic/safe/utils'
|
||||
import { type SafeProps } from '~/routes/safe/store/model/safe'
|
||||
import { type SafeProps } from '~/routes/safe/store/models/safe'
|
||||
import { loadFromStorage } from '~/utils/storage'
|
||||
import { addSafe } from './addSafe'
|
||||
import { buildSafe } from '~/routes/safe/store/reducer/safe'
|
||||
|
|
|
@ -0,0 +1,7 @@
|
|||
// @flow
|
||||
import updateSafe from './updateSafe'
|
||||
import type { SafeToken, Token } from '~/logic/tokens/store/model'
|
||||
|
||||
const updateActiveTokens = (tokenAddress: string) => {
|
||||
|
||||
}
|
|
@ -1,7 +1,7 @@
|
|||
// @flow
|
||||
import { Record } from 'immutable'
|
||||
import type { RecordFactory, RecordOf } from 'immutable'
|
||||
import { makeOwner, type Owner } from '~/routes/safe/store/model/owner'
|
||||
import { makeOwner, type Owner } from '~/routes/safe/store/models/owner'
|
||||
import { type TxServiceType } from '~/logic/safe/safeTxHistory'
|
||||
|
||||
export type ConfirmationProps = {
|
|
@ -1,7 +1,8 @@
|
|||
// @flow
|
||||
import { List, Record, Map } from 'immutable'
|
||||
import { List, Record } from 'immutable'
|
||||
import type { RecordFactory, RecordOf } from 'immutable'
|
||||
import type { Owner } from '~/routes/safe/store/model/owner'
|
||||
import type { Owner } from '~/routes/safe/store/models/owner'
|
||||
import type { SafeToken } from '~/routes/safe/store/models/safeToken'
|
||||
|
||||
export type SafeProps = {
|
||||
name: string,
|
||||
|
@ -9,7 +10,7 @@ export type SafeProps = {
|
|||
threshold: number,
|
||||
ethBalance: string,
|
||||
owners: List<Owner>,
|
||||
tokens?: List<Object>,
|
||||
tokens?: List<SafeToken>,
|
||||
}
|
||||
|
||||
const SafeRecord: RecordFactory<SafeProps> = Record({
|
|
@ -0,0 +1,17 @@
|
|||
// @flow
|
||||
import { Record } from 'immutable'
|
||||
import type { RecordFactory, RecordOf } from 'immutable'
|
||||
|
||||
export type SafeTokenProps = {
|
||||
address: string,
|
||||
balance: string,
|
||||
}
|
||||
|
||||
const SafeTokenRecord: RecordFactory<SafeTokenProps> = Record({
|
||||
address: '',
|
||||
balance: '0',
|
||||
})
|
||||
|
||||
export type SafeToken = RecordOf<SafeTokenProps>
|
||||
|
||||
export default SafeTokenRecord
|
|
@ -1,7 +1,7 @@
|
|||
// @flow
|
||||
import { List, Record } from 'immutable'
|
||||
import type { RecordFactory, RecordOf } from 'immutable'
|
||||
import { type Confirmation } from '~/routes/safe/store/model/confirmation'
|
||||
import { type Confirmation } from '~/routes/safe/store/models/confirmation'
|
||||
|
||||
export type TransactionProps = {
|
||||
name: string,
|
|
@ -2,8 +2,8 @@
|
|||
import { Map } from 'immutable'
|
||||
import { handleActions, type ActionType } from 'redux-actions'
|
||||
import { ADD_SAFE, buildOwnersFrom } from '~/routes/safe/store/actions/addSafe'
|
||||
import SafeRecord, { type Safe, type SafeProps } from '~/routes/safe/store/model/safe'
|
||||
import { type OwnerProps } from '~/routes/safe/store/model/owner'
|
||||
import SafeRecord, { type Safe, type SafeProps } from '~/routes/safe/store/models/safe'
|
||||
import { type OwnerProps } from '~/routes/safe/store/models/owner'
|
||||
import { loadFromStorage } from '~/utils/storage'
|
||||
import { SAFES_KEY } from '~/logic/safe/utils'
|
||||
import { UPDATE_SAFE } from '~/routes/safe/store/actions/updateSafe'
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
import { List, Map } from 'immutable'
|
||||
import { handleActions, type ActionType } from 'redux-actions'
|
||||
import addTransactions, { ADD_TRANSACTIONS } from '~/routes/safe/store/actions/addTransactions'
|
||||
import { type Transaction } from '~/routes/safe/store/model/transaction'
|
||||
import { type Transaction } from '~/routes/safe/store/models/transaction'
|
||||
|
||||
export const TRANSACTIONS_REDUCER_ID = 'transactions'
|
||||
|
||||
|
|
|
@ -4,11 +4,11 @@ import { type Match } from 'react-router-dom'
|
|||
import { createSelector, createStructuredSelector, type Selector } from 'reselect'
|
||||
import { type GlobalState } from '~/store/index'
|
||||
import { SAFE_PARAM_ADDRESS } from '~/routes/routes'
|
||||
import { type Safe } from '~/routes/safe/store/model/safe'
|
||||
import { type Safe } from '~/routes/safe/store/models/safe'
|
||||
import { safesMapSelector } from '~/routes/safeList/store/selectors'
|
||||
import { type State as TransactionsState, TRANSACTIONS_REDUCER_ID } from '~/routes/safe/store/reducer/transactions'
|
||||
import { type Transaction } from '~/routes/safe/store/model/transaction'
|
||||
import { type Confirmation } from '~/routes/safe/store/model/confirmation'
|
||||
import { type Transaction } from '~/routes/safe/store/models/transaction'
|
||||
import { type Confirmation } from '~/routes/safe/store/models/confirmation'
|
||||
|
||||
export type RouterProps = {
|
||||
match: Match,
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
// @flow
|
||||
import SafeRecord, { type Safe } from '~/routes/safe/store/model/safe'
|
||||
import SafeRecord, { type Safe } from '~/routes/safe/store/models/safe'
|
||||
import { buildOwnersFrom } from '~/routes/safe/store/actions/addSafe'
|
||||
|
||||
class SafeBuilder {
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
import { Map } from 'immutable'
|
||||
import { type Match } from 'react-router-dom'
|
||||
import { SAFE_REDUCER_ID } from '~/routes/safe/store/reducer/safe'
|
||||
import { type Safe } from '~/routes/safe/store/model/safe'
|
||||
import { type Safe } from '~/routes/safe/store/models/safe'
|
||||
import { SafeFactory } from '~/routes/safe/store/test/builder/safe.builder'
|
||||
import { buildMathPropsFrom } from '~/test/utils/buildReactRouterProps'
|
||||
import { getProviderInfo } from '~/logic/wallets/getWeb3'
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
import { Map } from 'immutable'
|
||||
import { type Match } from 'react-router-dom'
|
||||
import { SAFE_REDUCER_ID } from '~/routes/safe/store/reducer/safe'
|
||||
import { type Safe } from '~/routes/safe/store/model/safe'
|
||||
import { type Safe } from '~/routes/safe/store/models/safe'
|
||||
import { SafeFactory } from '~/routes/safe/store/test/builder/safe.builder'
|
||||
import { buildMathPropsFrom } from '~/test/utils/buildReactRouterProps'
|
||||
import { safeSelector } from '../selectors'
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
import { List } from 'immutable'
|
||||
import * as React from 'react'
|
||||
import NoSafe from '~/components/NoSafe'
|
||||
import { type Safe } from '~/routes/safe/store/model/safe'
|
||||
import { type Safe } from '~/routes/safe/store/models/safe'
|
||||
import SafeTable from '~/routes/safeList/components/SafeTable'
|
||||
|
||||
type Props = {
|
||||
|
|
|
@ -6,7 +6,7 @@ import Link from '~/components/layout/Link'
|
|||
import Table, {
|
||||
TableBody, TableCell, TableHead, TableRow,
|
||||
} from '~/components/layout/Table'
|
||||
import { type Safe } from '~/routes/safe/store/model/safe'
|
||||
import { type Safe } from '~/routes/safe/store/models/safe'
|
||||
import { SAFELIST_ADDRESS } from '~/routes/routes'
|
||||
|
||||
type Props = {
|
||||
|
|
|
@ -3,7 +3,7 @@ import { List } from 'immutable'
|
|||
import * as React from 'react'
|
||||
import { connect } from 'react-redux'
|
||||
import Page from '~/components/layout/Page'
|
||||
import { type Safe } from '~/routes/safe/store/model/safe'
|
||||
import { type Safe } from '~/routes/safe/store/models/safe'
|
||||
import Layout from '../components/Layout'
|
||||
import selector from './selector'
|
||||
|
||||
|
|
|
@ -2,9 +2,9 @@
|
|||
import { List, Map } from 'immutable'
|
||||
import { createSelector, type Selector } from 'reselect'
|
||||
import { type GlobalState } from '~/store/index'
|
||||
import { type Safe } from '~/routes/safe/store/model/safe'
|
||||
import { type Safe } from '~/routes/safe/store/models/safe'
|
||||
import { userAccountSelector } from '~/logic/wallets/store/selectors'
|
||||
import { type Owner } from '~/routes/safe/store/model/owner'
|
||||
import { type Owner } from '~/routes/safe/store/models/owner'
|
||||
import { sameAddress } from '~/logic/wallets/ethAddresses'
|
||||
import { SAFE_REDUCER_ID } from '~/routes/safe/store/reducer/safe'
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
// @flow
|
||||
import { List, Map } from 'immutable'
|
||||
import { SAFE_REDUCER_ID } from '~/routes/safe/store/reducer/safe'
|
||||
import { type Safe } from '~/routes/safe/store/model/safe'
|
||||
import { type Safe } from '~/routes/safe/store/models/safe'
|
||||
import { getProviderInfo } from '~/logic/wallets/getWeb3'
|
||||
import { SafeFactory } from '~/routes/safe/store/test/builder/safe.builder'
|
||||
import { PROVIDER_REDUCER_ID } from '~/logic/wallets/store/reducer/provider'
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
// @flow
|
||||
import SafeRecord, { type Safe } from '~/routes/safe/store/model/safe'
|
||||
import SafeRecord, { type Safe } from '~/routes/safe/store/models/safe'
|
||||
import addSafe, { buildOwnersFrom } from '~/routes/safe/store/actions/addSafe'
|
||||
import {
|
||||
FIELD_NAME,
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
// @flow
|
||||
import { Map, List } from 'immutable'
|
||||
import { type Safe } from '~/routes/safe/store/model/safe'
|
||||
import { type Safe } from '~/routes/safe/store/models/safe'
|
||||
import { aNewStore } from '~/store'
|
||||
import { aMinedSafe } from '~/test/builder/safe.redux.builder'
|
||||
import updateSafe from '~/routes/safe/store/actions/updateSafe'
|
||||
import { loadSafe } from '~/routes/load/container/Load'
|
||||
import { safesMapSelector } from '~/routes/safeList/store/selectors'
|
||||
import { makeOwner, type Owner } from '~/routes/safe/store/model/owner'
|
||||
import { makeOwner, type Owner } from '~/routes/safe/store/models/owner'
|
||||
import { getWeb3 } from '~/logic/wallets/getWeb3'
|
||||
import { safesInitialState } from '~/routes/safe/store/reducer/safe'
|
||||
import { setOwners, OWNERS_KEY } from '~/utils/storage'
|
||||
|
|
|
@ -4,7 +4,7 @@ import { aNewStore } from '~/store'
|
|||
import { getWeb3 } from '~/logic/wallets/getWeb3'
|
||||
import { confirmationsTransactionSelector, safeTransactionsSelector } from '~/routes/safe/store/selectors'
|
||||
import fetchTransactions from '~/routes/safe/store/actions/fetchTransactions'
|
||||
import { type Safe } from '~/routes/safe/store/model/safe'
|
||||
import { type Safe } from '~/routes/safe/store/models/safe'
|
||||
import { getGnosisSafeInstanceAt } from '~/logic/contracts/safeContracts'
|
||||
import { aMinedSafe } from '~/test/builder/safe.redux.builder'
|
||||
import { NAME_PARAM, OWNER_ADDRESS_PARAM, INCREASE_PARAM } from '~/routes/safe/component/AddOwner/AddOwnerForm'
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
// @flow
|
||||
import { List } from 'immutable'
|
||||
import { getSafeEthereumInstance, createTransaction } from '~/logic/safe/safeFrontendOperations'
|
||||
import { type Safe } from '~/routes/safe/store/model/safe'
|
||||
import { makeOwner } from '~/routes/safe/store/model/owner'
|
||||
import { type Safe } from '~/routes/safe/store/models/safe'
|
||||
import { makeOwner } from '~/routes/safe/store/models/owner'
|
||||
import fetchTransactions from '~/routes/safe/store/actions/fetchTransactions'
|
||||
import { makeConfirmation } from '~/routes/safe/store/model/confirmation'
|
||||
import { makeConfirmation } from '~/routes/safe/store/models/confirmation'
|
||||
import { aNewStore } from '~/store'
|
||||
import { aMinedSafe } from '~/test/builder/safe.redux.builder'
|
||||
import { getSafeFrom } from '~/test/utils/safeHelper'
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
// @flow
|
||||
import { List, Map } from 'immutable'
|
||||
import { type Confirmation } from '~/routes/safe/store/model/confirmation'
|
||||
import { type Transaction } from '~/routes/safe/store/model/transaction'
|
||||
import { type Confirmation } from '~/routes/safe/store/models/confirmation'
|
||||
import { type Transaction } from '~/routes/safe/store/models/transaction'
|
||||
import { sameAddress } from '~/logic/wallets/ethAddresses'
|
||||
|
||||
export const testSizeOfSafesWith = (transactions: Map<string, List<Transaction>>, size: number) => {
|
||||
|
|
|
@ -3,7 +3,7 @@ import { buildMathPropsFrom } from '~/test/utils/buildReactRouterProps'
|
|||
import { safeSelector } from '~/routes/safe/store/selectors/index'
|
||||
import { type Match } from 'react-router-dom'
|
||||
import { type GlobalState } from '~/store'
|
||||
import { type Safe } from '~/routes/safe/store/model/safe'
|
||||
import { type Safe } from '~/routes/safe/store/models/safe'
|
||||
|
||||
export const getSafeFrom = (state: GlobalState, safeAddress: string): Safe => {
|
||||
const match: Match = buildMathPropsFrom(safeAddress)
|
||||
|
|
Loading…
Reference in New Issue