Skip to content

Commit

Permalink
Split AssetsController into TokensController and CollectiblesController
Browse files Browse the repository at this point in the history
  • Loading branch information
adonesky1 committed Jul 9, 2021
1 parent df45133 commit 4698667
Show file tree
Hide file tree
Showing 51 changed files with 181 additions and 118 deletions.
2 changes: 1 addition & 1 deletion app/components/Nav/Main/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -777,7 +777,7 @@ const mapStateToProps = state => ({
thirdPartyApiMode: state.privacy.thirdPartyApiMode,
selectedAddress: state.engine.backgroundState.PreferencesController.selectedAddress,
chainId: state.engine.backgroundState.NetworkController.provider.chainId,
tokens: state.engine.backgroundState.AssetsController.tokens,
tokens: state.engine.backgroundState.TokensController.tokens,
dappTransactionModalVisible: state.modals.dappTransactionModalVisible,
approveModalVisible: state.modals.approveModalVisible,
swapsTransactions: state.engine.backgroundState.TransactionController.swapsTransactions || {},
Expand Down
2 changes: 1 addition & 1 deletion app/components/UI/AccountApproval/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -212,7 +212,7 @@ class AccountApproval extends PureComponent {

const mapStateToProps = state => ({
accountsLength: Object.keys(state.engine.backgroundState.AccountTrackerController.accounts || {}).length,
tokensLength: state.engine.backgroundState.AssetsController.tokens.length,
tokensLength: state.engine.backgroundState.TokensController.tokens.length,
networkType: state.engine.backgroundState.NetworkController.provider.type,
chainId: state.engine.backgroundState.NetworkController.provider.chainId
});
Expand Down
2 changes: 1 addition & 1 deletion app/components/UI/AccountApproval/index.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ describe('AccountApproval', () => {
type: ROPSTEN
}
},
AssetsController: {
TokensController: {
tokens: []
},
PreferencesController: {
Expand Down
4 changes: 2 additions & 2 deletions app/components/UI/AddCustomCollectible/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -94,9 +94,9 @@ class AddCustomCollectible extends PureComponent {
this.handleNotCollectibleOwner();
return;
}
const { AssetsController } = Engine.context;
const { CollectiblesController } = Engine.context;
const { address, tokenId } = this.state;
AssetsController.addCollectible(address, tokenId);
CollectiblesController.addCollectible(address, tokenId);

AnalyticsV2.trackEvent(AnalyticsV2.ANALYTICS_EVENTS.COLLECTIBLE_ADDED, this.getAnalyticsParams());

Expand Down
4 changes: 2 additions & 2 deletions app/components/UI/AddCustomToken/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -70,9 +70,9 @@ export default class AddCustomToken extends PureComponent {

addToken = async () => {
if (!(await this.validateCustomToken())) return;
const { AssetsController } = Engine.context;
const { TokensController } = Engine.context;
const { address, symbol, decimals } = this.state;
await AssetsController.addToken(address, symbol, decimals);
await TokensController.addToken(address, symbol, decimals);

AnalyticsV2.trackEvent(AnalyticsV2.ANALYTICS_EVENTS.TOKEN_ADDED, this.getAnalyticsParams());

Expand Down
2 changes: 1 addition & 1 deletion app/components/UI/ApproveTransactionReview/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -731,7 +731,7 @@ const mapStateToProps = state => ({
ticker: state.engine.backgroundState.NetworkController.provider.ticker,
transaction: getNormalizedTxState(state),
accountsLength: Object.keys(state.engine.backgroundState.AccountTrackerController.accounts || {}).length,
tokensLength: state.engine.backgroundState.AssetsController.tokens.length,
tokensLength: state.engine.backgroundState.TokensController.tokens.length,
providerType: state.engine.backgroundState.NetworkController.provider.type,
primaryCurrency: state.settings.primaryCurrency,
activeTabUrl: getActiveTabUrl(state),
Expand Down
2 changes: 1 addition & 1 deletion app/components/UI/ApproveTransactionReview/index.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ describe('ApproveTransactionModal', () => {
type: 'ETH'
}
},
AssetsController: {
TokensController: {
tokens: []
}
}
Expand Down
6 changes: 3 additions & 3 deletions app/components/UI/CollectibleContractElement/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -108,9 +108,9 @@ function CollectibleContractElement({
}, []);

const removeCollectible = () => {
const { AssetsController } = Engine.context;
const { CollectiblesController } = Engine.context;
removeFavoriteCollectible(selectedAddress, chainId, collectibleToRemove.current);
AssetsController.removeAndIgnoreCollectible(
CollectiblesController.removeAndIgnoreCollectible(
collectibleToRemove.current.address,
collectibleToRemove.current.tokenId
);
Expand Down Expand Up @@ -227,7 +227,7 @@ CollectibleContractElement.propTypes = {
};

const mapStateToProps = state => ({
collectibleContracts: state.engine.backgroundState.AssetsController.collectibleContracts,
collectibleContracts: state.engine.backgroundState.CollectiblesController.collectibleContracts,
chainId: state.engine.backgroundState.NetworkController.provider.chainId,
selectedAddress: state.engine.backgroundState.PreferencesController.selectedAddress
});
Expand Down
2 changes: 1 addition & 1 deletion app/components/UI/CollectibleContractOverview/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -140,7 +140,7 @@ class CollectibleContractOverview extends PureComponent {
}

const mapStateToProps = state => ({
collectibles: state.engine.backgroundState.AssetsController.collectibles
collectibles: state.engine.backgroundState.CollectiblesController.collectibles
});

const mapDispatchToProps = dispatch => ({
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ describe('CollectibleContractOverview', () => {
const initialState = {
engine: {
backgroundState: {
AssetsController: {
CollectiblesController: {
collectibles: []
}
}
Expand Down
4 changes: 2 additions & 2 deletions app/components/UI/CollectibleContracts/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -188,8 +188,8 @@ CollectibleContracts.propTypes = {
};

const mapStateToProps = state => ({
collectibleContracts: state.engine.backgroundState.AssetsController.collectibleContracts,
collectibles: state.engine.backgroundState.AssetsController.collectibles,
collectibleContracts: state.engine.backgroundState.CollectiblesController.collectibleContracts,
collectibles: state.engine.backgroundState.CollectiblesController.collectibles,
favoriteCollectibles: favoritesCollectiblesObjectSelector(state)
});

Expand Down
2 changes: 1 addition & 1 deletion app/components/UI/CollectibleContracts/index.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ describe('CollectibleContracts', () => {
PreferencesController: {
selectedAddress: '0x1'
},
AssetsController: {
CollectiblesController: {
collectibleContracts: [
{
name: 'name',
Expand Down
7 changes: 5 additions & 2 deletions app/components/UI/Collectibles/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -109,8 +109,11 @@ export default class Collectibles extends PureComponent {
};

removeCollectible = () => {
const { AssetsController } = Engine.context;
AssetsController.removeAndIgnoreCollectible(this.collectibleToRemove.address, this.collectibleToRemove.tokenId);
const { CollectiblesController } = Engine.context;
CollectiblesController.removeAndIgnoreCollectible(
this.collectibleToRemove.address,
this.collectibleToRemove.tokenId
);
Alert.alert(strings('wallet.collectible_removed_title'), strings('wallet.collectible_removed_desc'));
};

Expand Down
4 changes: 2 additions & 2 deletions app/components/UI/DrawerView/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -1089,9 +1089,9 @@ const mapStateToProps = state => ({
wizard: state.wizard,
chainId: state.engine.backgroundState.NetworkController.provider.chainId,
ticker: state.engine.backgroundState.NetworkController.provider.ticker,
tokens: state.engine.backgroundState.AssetsController.tokens,
tokens: state.engine.backgroundState.TokensController.tokens,
tokenBalances: state.engine.backgroundState.TokenBalancesController.contractBalances,
collectibles: state.engine.backgroundState.AssetsController.collectibles,
collectibles: state.engine.backgroundState.CollectiblesController.collectibles,
seedphraseBackedUp: state.user.seedphraseBackedUp
});

Expand Down
4 changes: 2 additions & 2 deletions app/components/UI/EthInput/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -690,9 +690,9 @@ const mapStateToProps = state => ({
currentCurrency: state.engine.backgroundState.CurrencyRateController.currentCurrency,
contractExchangeRates: state.engine.backgroundState.TokenRatesController.contractExchangeRates,
selectedAddress: state.engine.backgroundState.PreferencesController.selectedAddress,
tokens: state.engine.backgroundState.AssetsController.tokens,
tokens: state.engine.backgroundState.TokensController.tokens,
tokenBalances: state.engine.backgroundState.TokenBalancesController.contractBalances,
collectibles: state.engine.backgroundState.AssetsController.collectibles,
collectibles: state.engine.backgroundState.CollectiblesController.collectibles,
transaction: getNormalizedTxState(state),
primaryCurrency: state.settings.primaryCurrency,
ticker: state.engine.backgroundState.NetworkController.provider.ticker
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -375,11 +375,11 @@ const mapStateToProps = state => ({
transactions: state.engine.backgroundState.TransactionController.transactions,
ticker: state.engine.backgroundState.NetworkController.provider.ticker,
chainId: state.engine.backgroundState.NetworkController.provider.chainId,
tokens: state.engine.backgroundState.AssetsController.tokens.reduce((tokens, token) => {
tokens: state.engine.backgroundState.TokensController.tokens.reduce((tokens, token) => {
tokens[token.address] = token;
return tokens;
}, {}),
collectibleContracts: state.engine.backgroundState.AssetsController.collectibleContracts,
collectibleContracts: state.engine.backgroundState.CollectiblesController.collectibleContracts,
contractExchangeRates: state.engine.backgroundState.TokenRatesController.contractExchangeRates,
conversionRate: state.engine.backgroundState.CurrencyRateController.conversionRate,
currentCurrency: state.engine.backgroundState.CurrencyRateController.currentCurrency,
Expand Down
2 changes: 1 addition & 1 deletion app/components/UI/PaymentRequest/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -700,7 +700,7 @@ const mapStateToProps = state => ({
contractExchangeRates: state.engine.backgroundState.TokenRatesController.contractExchangeRates,
searchEngine: state.settings.searchEngine,
selectedAddress: state.engine.backgroundState.PreferencesController.selectedAddress,
tokens: state.engine.backgroundState.AssetsController.tokens,
tokens: state.engine.backgroundState.TokensController.tokens,
primaryCurrency: state.settings.primaryCurrency,
ticker: state.engine.backgroundState.NetworkController.provider.ticker,
chainId: state.engine.backgroundState.NetworkController.provider.chainId
Expand Down
4 changes: 2 additions & 2 deletions app/components/UI/SearchTokenAutocomplete/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -67,9 +67,9 @@ export default class SearchTokenAutocomplete extends PureComponent {
};

addToken = async () => {
const { AssetsController } = Engine.context;
const { TokensController } = Engine.context;
const { address, symbol, decimals } = this.state.selectedAsset;
await AssetsController.addToken(address, symbol, decimals);
await TokensController.addToken(address, symbol, decimals);

AnalyticsV2.trackEvent(AnalyticsV2.ANALYTICS_EVENTS.TOKEN_ADDED, this.getAnalyticsParams());

Expand Down
4 changes: 2 additions & 2 deletions app/components/UI/Swaps/QuotesView.js
Original file line number Diff line number Diff line change
Expand Up @@ -224,15 +224,15 @@ async function resetAndStartPolling({ slippage, sourceToken, destinationToken, s
if (!sourceToken || !destinationToken) {
return;
}
const { SwapsController, TokenRatesController, AssetsController } = Engine.context;
const { SwapsController, TokenRatesController, TokensController } = Engine.context;
const contractExchangeRates = TokenRatesController.state.contractExchangeRates;
// ff the token is not in the wallet, we'll add it
if (
!isSwapsNativeAsset(destinationToken) &&
!(safeToChecksumAddress(destinationToken.address) in contractExchangeRates)
) {
const { address, symbol, decimals } = destinationToken;
await AssetsController.addToken(address, symbol, decimals);
await TokensController.addToken(address, symbol, decimals);
await new Promise(resolve =>
setTimeout(() => {
resolve();
Expand Down
4 changes: 2 additions & 2 deletions app/components/UI/Swaps/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -341,9 +341,9 @@ function SwapsAmountView({
return;
}
if (!isSwapsNativeAsset(sourceToken) && !isTokenInBalances && !balanceAsUnits?.isZero()) {
const { AssetsController } = Engine.context;
const { TokensController } = Engine.context;
const { address, symbol, decimals } = sourceToken;
await AssetsController.addToken(address, symbol, decimals);
await TokensController.addToken(address, symbol, decimals);
}
return navigation.navigate(
'SwapsQuotesView',
Expand Down
4 changes: 2 additions & 2 deletions app/components/UI/Tokens/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -293,8 +293,8 @@ class Tokens extends PureComponent {
};

removeToken = () => {
const { AssetsController } = Engine.context;
AssetsController.removeAndIgnoreToken(this.tokenToRemove.address);
const { TokensController } = Engine.context;
TokensController.removeAndIgnoreToken(this.tokenToRemove.address);
Alert.alert(strings('wallet.token_removed_title'), strings('wallet.token_removed_desc'));
};

Expand Down
10 changes: 5 additions & 5 deletions app/components/UI/Tokens/index.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ describe('Tokens', () => {
const initialState = {
engine: {
backgroundState: {
AssetsController: {
TokensController: {
tokens: []
},
TokenRatesController: {
Expand Down Expand Up @@ -44,7 +44,7 @@ describe('Tokens', () => {
const initialState = {
engine: {
backgroundState: {
AssetsController: {
TokensController: {
tokens: [
{ symbol: 'ETH', address: '0x0', decimals: 18, isETH: true },
{ symbol: 'BAT', address: '0x01', decimals: 18 },
Expand Down Expand Up @@ -75,7 +75,7 @@ describe('Tokens', () => {
}
};

const wrapper = shallow(<Tokens tokens={initialState.engine.backgroundState.AssetsController.tokens} />, {
const wrapper = shallow(<Tokens tokens={initialState.engine.backgroundState.TokensController.tokens} />, {
context: { store: mockStore(initialState) }
});
// ETH and BAT should display
Expand All @@ -86,7 +86,7 @@ describe('Tokens', () => {
const initialState = {
engine: {
backgroundState: {
AssetsController: {
TokensController: {
tokens: [
{ symbol: 'ETH', address: '0x0', decimals: 18, isETH: true },
{ symbol: 'BAT', address: '0x01', decimals: 18 },
Expand Down Expand Up @@ -117,7 +117,7 @@ describe('Tokens', () => {
}
};

const wrapper = shallow(<Tokens tokens={initialState.engine.backgroundState.AssetsController.tokens} />, {
const wrapper = shallow(<Tokens tokens={initialState.engine.backgroundState.TokensController.tokens} />, {
context: { store: mockStore(initialState) }
});
// All three should display
Expand Down
4 changes: 2 additions & 2 deletions app/components/UI/TransactionEditor/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -659,11 +659,11 @@ class TransactionEditor extends PureComponent {

const mapStateToProps = state => ({
accounts: state.engine.backgroundState.AccountTrackerController.accounts,
collectibles: state.engine.backgroundState.AssetsController.collectibles,
collectibles: state.engine.backgroundState.CollectiblesController.collectibles,
contractBalances: state.engine.backgroundState.TokenBalancesController.contractBalances,
networkType: state.engine.backgroundState.NetworkController.provider.type,
selectedAddress: state.engine.backgroundState.PreferencesController.selectedAddress,
tokens: state.engine.backgroundState.AssetsController.tokens,
tokens: state.engine.backgroundState.TokensController.tokens,
ticker: state.engine.backgroundState.NetworkController.provider.ticker,
transaction: getNormalizedTxState(state),
activeTabUrl: getActiveTabUrl(state)
Expand Down
6 changes: 4 additions & 2 deletions app/components/UI/TransactionEditor/index.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,10 @@ describe('TransactionEditor', () => {
PreferencesController: {
selectedAddress: '0x0'
},
AssetsController: {
tokens: [],
TokensController: {
tokens: []
},
CollectiblesController: {
collectibles: []
},
NetworkController: {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ describe('TransactionReviewSummary', () => {
currentCurrency: 'usd',
conversionRate: 0.1
},
AssetsController: {
TokensController: {
tokens: []
},
NetworkController: {
Expand Down
2 changes: 1 addition & 1 deletion app/components/UI/TransactionReview/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -364,7 +364,7 @@ class TransactionReview extends PureComponent {

const mapStateToProps = state => ({
accounts: state.engine.backgroundState.AccountTrackerController.accounts,
tokens: state.engine.backgroundState.AssetsController.tokens,
tokens: state.engine.backgroundState.TokensController.tokens,
currentCurrency: state.engine.backgroundState.CurrencyRateController.currentCurrency,
contractExchangeRates: state.engine.backgroundState.TokenRatesController.contractExchangeRates,
conversionRate: state.engine.backgroundState.CurrencyRateController.conversionRate,
Expand Down
2 changes: 1 addition & 1 deletion app/components/UI/TransactionReview/index.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ describe('TransactionReview', () => {
AccountTrackerController: {
accounts: []
},
AssetsController: {
TokensController: {
tokens: []
},
CurrencyRateController: {
Expand Down
4 changes: 2 additions & 2 deletions app/components/UI/Transactions/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -372,13 +372,13 @@ class Transactions extends PureComponent {

const mapStateToProps = state => ({
accounts: state.engine.backgroundState.AccountTrackerController.accounts,
collectibleContracts: state.engine.backgroundState.AssetsController.collectibleContracts,
collectibleContracts: state.engine.backgroundState.CollectiblesController.collectibleContracts,
contractExchangeRates: state.engine.backgroundState.TokenRatesController.contractExchangeRates,
conversionRate: state.engine.backgroundState.CurrencyRateController.conversionRate,
currentCurrency: state.engine.backgroundState.CurrencyRateController.currentCurrency,
selectedAddress: state.engine.backgroundState.PreferencesController.selectedAddress,
thirdPartyApiMode: state.privacy.thirdPartyApiMode,
tokens: state.engine.backgroundState.AssetsController.tokens.reduce((tokens, token) => {
tokens: state.engine.backgroundState.TokensController.tokens.reduce((tokens, token) => {
tokens[token.address] = token;
return tokens;
}, {})
Expand Down
5 changes: 4 additions & 1 deletion app/components/UI/Transactions/index.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -19,12 +19,15 @@ describe('Transactions', () => {
AccountTrackerController: {
accounts: {}
},
AssetsController: {
TokensController: {
tokens: []
},
TokenRatesController: {
contractExchangeRates: {}
},
CollectiblesController: {
collectibleContracts: {}
},
CurrencyRateController: {
currentCurrency: 'USD',
conversionRate: 1
Expand Down
8 changes: 4 additions & 4 deletions app/components/UI/WatchAssetRequest/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -131,15 +131,15 @@ class WatchAssetRequest extends PureComponent {
};

componentWillUnmount = async () => {
const { AssetsController } = Engine.context;
const { TokensController } = Engine.context;
const { suggestedAssetMeta } = this.props;
await AssetsController.rejectWatchAsset(suggestedAssetMeta.id);
await TokensController.rejectWatchAsset(suggestedAssetMeta.id);
};

onConfirm = async () => {
const { onConfirm, suggestedAssetMeta } = this.props;
const { AssetsController } = Engine.context;
await AssetsController.acceptWatchAsset(suggestedAssetMeta.id);
const { TokensController } = Engine.context;
await TokensController.acceptWatchAsset(suggestedAssetMeta.id);
AnalyticsV2.trackEvent(AnalyticsV2.ANALYTICS_EVENTS.TOKEN_ADDED, this.getAnalyticsParams());
onConfirm && onConfirm();
};
Expand Down
Loading

0 comments on commit 4698667

Please sign in to comment.