mirror of
https://github.com/kremalicious/metamask-extension.git
synced 2024-11-28 23:06:37 +01:00
c2163434db
* Fix and test log.info calls run for each migration In migrator/index.js, log.info is called before an after each migration. These calls are intended to produce breadcrumbs to be captured by sentry in cases where errors happen during or shortly after migrations are run. These calls were not causing any output to the console because the log.setLevel calls in ui/index.js were setting a 'warn value in local storage that was being used by logLevel in the background. This commit fixes the problem by setting the `persist` param of setLevel to false, so that the background no longer reads the ui's log level. Tests are added to verify that these logs are captured in sentry breadcrumbs when there is a migration error due to an invariant state. * Improve breadcrumb message matching The test modified in this commit asserts eqaulity of messages from breadcrumbs and hard coded expected results. This could cause failures, as sometimes the messages contain whitespace characters. This commit ensures the assertions only check that the expected string is within the message string, ignoring extra characters.
1480 lines
44 KiB
JavaScript
1480 lines
44 KiB
JavaScript
const {
|
|
WALLET_SNAP_PERMISSION_KEY,
|
|
SnapCaveatType,
|
|
} = require('@metamask/snaps-utils');
|
|
const { merge } = require('lodash');
|
|
const { toHex } = require('@metamask/controller-utils');
|
|
const { CHAIN_IDS } = require('../../shared/constants/network');
|
|
const {
|
|
ACTION_QUEUE_METRICS_E2E_TEST,
|
|
} = require('../../shared/constants/test-flags');
|
|
const { SMART_CONTRACTS } = require('./seeder/smart-contracts');
|
|
const { DAPP_URL } = require('./helpers');
|
|
|
|
function defaultFixture() {
|
|
return {
|
|
data: {
|
|
AlertController: {
|
|
alertEnabledness: {
|
|
unconnectedAccount: true,
|
|
web3ShimUsage: true,
|
|
},
|
|
unconnectedAccountAlertShownOrigins: {},
|
|
web3ShimUsageOrigins: {},
|
|
},
|
|
AnnouncementController: {
|
|
announcements: {
|
|
1: {
|
|
date: '2021-03-17',
|
|
id: 1,
|
|
image: {
|
|
height: '230px',
|
|
placeImageBelowDescription: true,
|
|
src: 'images/mobile-link-qr.svg',
|
|
width: '230px',
|
|
},
|
|
isShown: false,
|
|
},
|
|
3: {
|
|
date: '2021-03-08',
|
|
id: 3,
|
|
isShown: false,
|
|
},
|
|
4: {
|
|
date: '2021-05-11',
|
|
id: 4,
|
|
image: {
|
|
src: 'images/source-logos-bsc.svg',
|
|
width: '100%',
|
|
},
|
|
isShown: false,
|
|
},
|
|
5: {
|
|
date: '2021-06-09',
|
|
id: 5,
|
|
isShown: false,
|
|
},
|
|
6: {
|
|
date: '2021-05-26',
|
|
id: 6,
|
|
isShown: false,
|
|
},
|
|
7: {
|
|
date: '2021-09-17',
|
|
id: 7,
|
|
isShown: false,
|
|
},
|
|
8: {
|
|
date: '2021-11-01',
|
|
id: 8,
|
|
isShown: false,
|
|
},
|
|
9: {
|
|
date: '2021-12-07',
|
|
id: 9,
|
|
image: {
|
|
src: 'images/txinsights.png',
|
|
width: '80%',
|
|
},
|
|
isShown: false,
|
|
},
|
|
10: {
|
|
date: '2022-09-15',
|
|
id: 10,
|
|
image: {
|
|
src: 'images/token-detection.svg',
|
|
width: '100%',
|
|
},
|
|
isShown: false,
|
|
},
|
|
11: {
|
|
date: '2022-09-15',
|
|
id: 11,
|
|
isShown: false,
|
|
},
|
|
12: {
|
|
date: '2022-05-18',
|
|
id: 12,
|
|
image: {
|
|
src: 'images/darkmode-banner.png',
|
|
width: '100%',
|
|
},
|
|
isShown: false,
|
|
},
|
|
13: {
|
|
date: '2022-09-15',
|
|
id: 13,
|
|
isShown: false,
|
|
},
|
|
14: {
|
|
date: '2022-09-15',
|
|
id: 14,
|
|
isShown: false,
|
|
},
|
|
15: {
|
|
date: '2022-09-15',
|
|
id: 15,
|
|
isShown: false,
|
|
},
|
|
16: {
|
|
date: null,
|
|
id: 16,
|
|
isShown: false,
|
|
},
|
|
17: {
|
|
date: null,
|
|
id: 17,
|
|
isShown: false,
|
|
},
|
|
18: {
|
|
date: null,
|
|
id: 18,
|
|
isShown: true,
|
|
},
|
|
19: {
|
|
date: null,
|
|
id: 19,
|
|
isShown: true,
|
|
},
|
|
21: {
|
|
date: null,
|
|
id: 21,
|
|
isShown: true,
|
|
},
|
|
22: {
|
|
date: null,
|
|
id: 22,
|
|
isShown: true,
|
|
},
|
|
},
|
|
},
|
|
AppStateController: {
|
|
browserEnvironment: {},
|
|
nftsDropdownState: {},
|
|
connectedStatusPopoverHasBeenShown: true,
|
|
termsOfUseLastAgreed:
|
|
'__FIXTURE_SUBSTITUTION__currentDateInMilliseconds',
|
|
defaultHomeActiveTabName: null,
|
|
fullScreenGasPollTokens: [],
|
|
notificationGasPollTokens: [],
|
|
popupGasPollTokens: [],
|
|
qrHardware: {},
|
|
recoveryPhraseReminderHasBeenShown: true,
|
|
recoveryPhraseReminderLastShown:
|
|
'__FIXTURE_SUBSTITUTION__currentDateInMilliseconds',
|
|
showTestnetMessageInDropdown: true,
|
|
trezorModel: null,
|
|
usedNetworks: {
|
|
[CHAIN_IDS.MAINNET]: true,
|
|
[CHAIN_IDS.LINEA_MAINNET]: true,
|
|
[CHAIN_IDS.GOERLI]: true,
|
|
[CHAIN_IDS.LOCALHOST]: true,
|
|
},
|
|
snapsInstallPrivacyWarningShown: true,
|
|
},
|
|
CachedBalancesController: {
|
|
cachedBalances: {
|
|
[CHAIN_IDS.LOCALHOST]: {},
|
|
},
|
|
},
|
|
CurrencyController: {
|
|
conversionDate: 1665507600.0,
|
|
conversionRate: 1300.0,
|
|
currentCurrency: 'usd',
|
|
nativeCurrency: 'ETH',
|
|
usdConversionRate: 1300.0,
|
|
},
|
|
GasFeeController: {
|
|
estimatedGasFeeTimeBounds: {},
|
|
gasEstimateType: 'none',
|
|
gasFeeEstimates: {},
|
|
},
|
|
IncomingTransactionsController: {
|
|
incomingTransactions: {},
|
|
incomingTxLastFetchedBlockByChainId: {
|
|
[CHAIN_IDS.MAINNET]: null,
|
|
[CHAIN_IDS.LINEA_MAINNET]: null,
|
|
[CHAIN_IDS.GOERLI]: null,
|
|
[CHAIN_IDS.SEPOLIA]: null,
|
|
[CHAIN_IDS.LINEA_GOERLI]: null,
|
|
},
|
|
},
|
|
KeyringController: {
|
|
vault:
|
|
'{"data":"s6TpYjlUNsn7ifhEFTkuDGBUM1GyOlPrim7JSjtfIxgTt8/6MiXgiR/CtFfR4dWW2xhq85/NGIBYEeWrZThGdKGarBzeIqBfLFhw9n509jprzJ0zc2Rf+9HVFGLw+xxC4xPxgCS0IIWeAJQ+XtGcHmn0UZXriXm8Ja4kdlow6SWinB7sr/WM3R0+frYs4WgllkwggDf2/Tv6VHygvLnhtzp6hIJFyTjh+l/KnyJTyZW1TkZhDaNDzX3SCOHT","iv":"FbeHDAW5afeWNORfNJBR0Q==","salt":"TxZ+WbCW6891C9LK/hbMAoUsSEW1E8pyGLVBU6x5KR8="}',
|
|
},
|
|
MetaMetricsController: {
|
|
eventsBeforeMetricsOptIn: [],
|
|
fragments: {},
|
|
metaMetricsId: null,
|
|
participateInMetaMetrics: false,
|
|
traits: {},
|
|
},
|
|
NetworkController: {
|
|
networkId: '1337',
|
|
networkStatus: 'available',
|
|
providerConfig: {
|
|
chainId: CHAIN_IDS.LOCALHOST,
|
|
nickname: 'Localhost 8545',
|
|
rpcPrefs: {},
|
|
rpcUrl: 'http://localhost:8545',
|
|
ticker: 'ETH',
|
|
type: 'rpc',
|
|
id: 'networkConfigurationId',
|
|
},
|
|
networkConfigurations: {
|
|
networkConfigurationId: {
|
|
chainId: CHAIN_IDS.LOCALHOST,
|
|
nickname: 'Localhost 8545',
|
|
rpcPrefs: {},
|
|
rpcUrl: 'http://localhost:8545',
|
|
ticker: 'ETH',
|
|
networkConfigurationId: 'networkConfigurationId',
|
|
},
|
|
},
|
|
},
|
|
OnboardingController: {
|
|
completedOnboarding: true,
|
|
firstTimeFlowType: 'import',
|
|
onboardingTabs: {},
|
|
seedPhraseBackedUp: true,
|
|
},
|
|
PermissionController: {
|
|
subjects: {},
|
|
},
|
|
PreferencesController: {
|
|
advancedGasFee: null,
|
|
currentLocale: 'en',
|
|
dismissSeedBackUpReminder: true,
|
|
featureFlags: {
|
|
showIncomingTransactions: true,
|
|
},
|
|
forgottenPassword: false,
|
|
identities: {
|
|
'0x5cfe73b6021e818b776b421b1c4db2474086a7e1': {
|
|
address: '0x5cfe73b6021e818b776b421b1c4db2474086a7e1',
|
|
lastSelected: 1665507600000,
|
|
name: 'Account 1',
|
|
},
|
|
},
|
|
infuraBlocked: false,
|
|
ipfsGateway: 'dweb.link',
|
|
knownMethodData: {},
|
|
ledgerTransportType: 'webhid',
|
|
lostIdentities: {},
|
|
openSeaEnabled: false,
|
|
preferences: {
|
|
hideZeroBalanceTokens: false,
|
|
showFiatInTestnets: false,
|
|
showTestNetworks: false,
|
|
useNativeCurrencyAsPrimaryCurrency: true,
|
|
},
|
|
selectedAddress: '0x5cfe73b6021e818b776b421b1c4db2474086a7e1',
|
|
theme: 'light',
|
|
useBlockie: false,
|
|
useNftDetection: false,
|
|
useNonceField: false,
|
|
usePhishDetect: true,
|
|
useTokenDetection: false,
|
|
useCurrencyRateCheck: true,
|
|
useMultiAccountBalanceChecker: true,
|
|
},
|
|
SmartTransactionsController: {
|
|
smartTransactionsState: {
|
|
fees: {},
|
|
liveness: true,
|
|
smartTransactions: {
|
|
[CHAIN_IDS.MAINNET]: [],
|
|
},
|
|
},
|
|
},
|
|
SubjectMetadataController: {
|
|
subjectMetadata: {
|
|
'https://metamask.github.io': {
|
|
extensionId: null,
|
|
iconUrl: null,
|
|
name: 'MetaMask < = > Ledger Bridge',
|
|
origin: 'https://metamask.github.io',
|
|
subjectType: 'website',
|
|
},
|
|
},
|
|
},
|
|
TokensController: {
|
|
allDetectedTokens: {},
|
|
allIgnoredTokens: {},
|
|
allTokens: {},
|
|
detectedTokens: [],
|
|
ignoredTokens: [],
|
|
tokens: [],
|
|
},
|
|
TransactionController: {
|
|
transactions: {},
|
|
},
|
|
config: {},
|
|
firstTimeInfo: {
|
|
date: 1665507600000,
|
|
version: '10.21.0',
|
|
},
|
|
},
|
|
};
|
|
}
|
|
function onboardingFixture() {
|
|
return {
|
|
data: {
|
|
AppStateController: {
|
|
browserEnvironment: {},
|
|
nftsDropdownState: {},
|
|
connectedStatusPopoverHasBeenShown: true,
|
|
defaultHomeActiveTabName: null,
|
|
fullScreenGasPollTokens: [],
|
|
notificationGasPollTokens: [],
|
|
popupGasPollTokens: [],
|
|
qrHardware: {},
|
|
recoveryPhraseReminderHasBeenShown: false,
|
|
recoveryPhraseReminderLastShown:
|
|
'__FIXTURE_SUBSTITUTION__currentDateInMilliseconds',
|
|
showTestnetMessageInDropdown: true,
|
|
trezorModel: null,
|
|
usedNetworks: {
|
|
[CHAIN_IDS.MAINNET]: true,
|
|
[CHAIN_IDS.LINEA_MAINNET]: true,
|
|
[CHAIN_IDS.GOERLI]: true,
|
|
[CHAIN_IDS.LOCALHOST]: true,
|
|
},
|
|
[ACTION_QUEUE_METRICS_E2E_TEST]: false,
|
|
},
|
|
NetworkController: {
|
|
networkId: '1337',
|
|
networkStatus: 'available',
|
|
providerConfig: {
|
|
ticker: 'ETH',
|
|
type: 'rpc',
|
|
rpcUrl: 'http://localhost:8545',
|
|
chainId: CHAIN_IDS.LOCALHOST,
|
|
nickname: 'Localhost 8545',
|
|
id: 'networkConfigurationId',
|
|
},
|
|
networkConfigurations: {
|
|
networkConfigurationId: {
|
|
chainId: CHAIN_IDS.LOCALHOST,
|
|
nickname: 'Localhost 8545',
|
|
rpcPrefs: {},
|
|
rpcUrl: 'http://localhost:8545',
|
|
ticker: 'ETH',
|
|
networkConfigurationId: 'networkConfigurationId',
|
|
type: 'rpc',
|
|
},
|
|
},
|
|
},
|
|
PreferencesController: {
|
|
advancedGasFee: null,
|
|
currentLocale: 'en',
|
|
dismissSeedBackUpReminder: false,
|
|
featureFlags: {
|
|
showIncomingTransactions: true,
|
|
},
|
|
forgottenPassword: false,
|
|
identities: {},
|
|
infuraBlocked: false,
|
|
ipfsGateway: 'dweb.link',
|
|
knownMethodData: {},
|
|
ledgerTransportType: 'webhid',
|
|
lostIdentities: {},
|
|
openSeaEnabled: false,
|
|
preferences: {
|
|
hideZeroBalanceTokens: false,
|
|
showFiatInTestnets: false,
|
|
showTestNetworks: false,
|
|
useNativeCurrencyAsPrimaryCurrency: true,
|
|
},
|
|
theme: 'light',
|
|
useBlockie: false,
|
|
useNftDetection: false,
|
|
useNonceField: false,
|
|
usePhishDetect: true,
|
|
useTokenDetection: false,
|
|
useCurrencyRateCheck: true,
|
|
useMultiAccountBalanceChecker: true,
|
|
},
|
|
SmartTransactionsController: {
|
|
smartTransactionsState: {
|
|
fees: {},
|
|
liveness: true,
|
|
smartTransactions: {
|
|
[CHAIN_IDS.MAINNET]: [],
|
|
},
|
|
},
|
|
},
|
|
TokensController: {
|
|
allDetectedTokens: {},
|
|
allIgnoredTokens: {},
|
|
allTokens: {},
|
|
detectedTokens: [],
|
|
ignoredTokens: [],
|
|
tokens: [],
|
|
},
|
|
config: {},
|
|
firstTimeInfo: {
|
|
date: 1665507600000,
|
|
version: '10.21.0',
|
|
},
|
|
},
|
|
};
|
|
}
|
|
|
|
class FixtureBuilder {
|
|
constructor({ onboarding = false } = {}) {
|
|
this.fixture = onboarding === true ? onboardingFixture() : defaultFixture();
|
|
}
|
|
|
|
withAddressBookController(data) {
|
|
merge(
|
|
this.fixture.data.AddressBookController
|
|
? this.fixture.data.AddressBookController
|
|
: (this.fixture.data.AddressBookController = {}),
|
|
data,
|
|
);
|
|
return this;
|
|
}
|
|
|
|
withAlertController(data) {
|
|
merge(this.fixture.data.AlertController, data);
|
|
return this;
|
|
}
|
|
|
|
withAnnouncementController(data) {
|
|
merge(this.fixture.data.AnnouncementController, data);
|
|
return this;
|
|
}
|
|
|
|
withAppStateController(data) {
|
|
merge(this.fixture.data.AppStateController, data);
|
|
return this;
|
|
}
|
|
|
|
withCachedBalancesController(data) {
|
|
merge(this.fixture.data.CachedBalancesController, data);
|
|
return this;
|
|
}
|
|
|
|
withCurrencyController(data) {
|
|
merge(this.fixture.data.CurrencyController, data);
|
|
return this;
|
|
}
|
|
|
|
withGasFeeController(data) {
|
|
merge(this.fixture.data.GasFeeController, data);
|
|
return this;
|
|
}
|
|
|
|
withIncomingTransactionsController(data) {
|
|
merge(
|
|
this.fixture.data.IncomingTransactionsController
|
|
? this.fixture.data.IncomingTransactionsController
|
|
: (this.fixture.data.IncomingTransactionsController = {}),
|
|
data,
|
|
);
|
|
return this;
|
|
}
|
|
|
|
withIncomingTransactionsControllerOneTransaction() {
|
|
return this.withIncomingTransactionsController({
|
|
incomingTransactions: {
|
|
'0xf1af8286e4fa47578c2aec5f08c108290643df978ebc766d72d88476eee90bab': {
|
|
blockNumber: '1',
|
|
chainId: CHAIN_IDS.LOCALHOST,
|
|
hash: '0xf1af8286e4fa47578c2aec5f08c108290643df978ebc766d72d88476eee90bab',
|
|
id: 5748272735958807,
|
|
metamaskNetworkId: '1337',
|
|
status: 'confirmed',
|
|
time: 1671635520000,
|
|
txParams: {
|
|
from: '0xc87261ba337be737fa744f50e7aaf4a920bdfcd6',
|
|
gas: '0x5208',
|
|
gasPrice: '0x329af9707',
|
|
to: '0x5cfe73b6021e818b776b421b1c4db2474086a7e1',
|
|
value: '0xDE0B6B3A7640000',
|
|
},
|
|
type: 'incoming',
|
|
},
|
|
},
|
|
});
|
|
}
|
|
|
|
withKeyringController(data) {
|
|
merge(this.fixture.data.KeyringController, data);
|
|
return this;
|
|
}
|
|
|
|
withKeyringControllerImportedAccountVault() {
|
|
return this.withKeyringController({
|
|
vault:
|
|
'{"data":"Ot+BTtJPag0xubdiv1nO9bsSvTHivHCd6CD7Lxgb1McYw3VqMjgp5rPMZmblJ1lscuMxyiqp99G52uXO9S0em6F9htpa+t/wn6qubRKTTNG9fxNzQrKXRDNhdgfYckVk5VAZ4fgl2iMZcRDvS8H/+gucVKJ33Sl6mXyPofdexXhWDCU6uR2YecnfaIum9cL2u/GqOMPE3jxzy0Wip0x2Jyp3QOKhvu8A3GIjzagLOaQ7a1APdl8=","iv":"lbsyPeGYWU6U1+jvmW9UHg==","salt":"Zmbhpskwxe4rYfXtELBvlcvW4HISPBATRmMqzsnZPMg="}',
|
|
});
|
|
}
|
|
|
|
withMetaMetricsController(data) {
|
|
merge(this.fixture.data.MetaMetricsController, data);
|
|
return this;
|
|
}
|
|
|
|
withNetworkController(data) {
|
|
merge(this.fixture.data.NetworkController, data);
|
|
return this;
|
|
}
|
|
|
|
withNftController(data) {
|
|
merge(
|
|
this.fixture.data.NftController
|
|
? this.fixture.data.NftController
|
|
: (this.fixture.data.NftController = {}),
|
|
data,
|
|
);
|
|
return this;
|
|
}
|
|
|
|
withNftControllerERC1155() {
|
|
return this.withNftController({
|
|
allNftContracts: {
|
|
'0x5cfe73b6021e818b776b421b1c4db2474086a7e1': {
|
|
[toHex(1337)]: [
|
|
{
|
|
address: `__FIXTURE_SUBSTITUTION__CONTRACT${SMART_CONTRACTS.ERC1155}`,
|
|
},
|
|
],
|
|
},
|
|
},
|
|
allNfts: {
|
|
'0x5cfe73b6021e818b776b421b1c4db2474086a7e1': {
|
|
[toHex(1337)]: [
|
|
{
|
|
address: `__FIXTURE_SUBSTITUTION__CONTRACT${SMART_CONTRACTS.ERC1155}`,
|
|
tokenId: '1',
|
|
favorite: false,
|
|
isCurrentlyOwned: true,
|
|
name: 'Rocks',
|
|
description: 'This is a collection of Rock NFTs.',
|
|
image:
|
|
'ipfs://bafkreifvhjdf6ve4jfv6qytqtux5nd4nwnelioeiqx5x2ez5yrgrzk7ypi',
|
|
standard: 'ERC1155',
|
|
},
|
|
],
|
|
},
|
|
},
|
|
ignoredNfts: [],
|
|
});
|
|
}
|
|
|
|
withNftControllerERC721() {
|
|
return this.withNftController({
|
|
allNftContracts: {
|
|
'0x5cfe73b6021e818b776b421b1c4db2474086a7e1': {
|
|
[toHex(1337)]: [
|
|
{
|
|
address: `__FIXTURE_SUBSTITUTION__CONTRACT${SMART_CONTRACTS.NFTS}`,
|
|
name: 'TestDappNFTs',
|
|
symbol: 'TDC',
|
|
},
|
|
],
|
|
},
|
|
},
|
|
allNfts: {
|
|
'0x5cfe73b6021e818b776b421b1c4db2474086a7e1': {
|
|
[toHex(1337)]: [
|
|
{
|
|
address: `__FIXTURE_SUBSTITUTION__CONTRACT${SMART_CONTRACTS.NFTS}`,
|
|
description: 'Test Dapp NFTs for testing.',
|
|
favorite: false,
|
|
image:
|
|
'data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjM1MCIgd2lkdGg9IjM1MCIgdmlld0JveD0iMCAwIDEwMCAxMDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGRlZnM+PHBhdGggaWQ9Ik15UGF0aCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJyZWQiIGQ9Ik0xMCw5MCBROTAsOTAgOTAsNDUgUTkwLDEwIDUwLDEwIFExMCwxMCAxMCw0MCBRMTAsNzAgNDUsNzAgUTcwLDcwIDc1LDUwIiAvPjwvZGVmcz48dGV4dD48dGV4dFBhdGggaHJlZj0iI015UGF0aCI+UXVpY2sgYnJvd24gZm94IGp1bXBzIG92ZXIgdGhlIGxhenkgZG9nLjwvdGV4dFBhdGg+PC90ZXh0Pjwvc3ZnPg==',
|
|
isCurrentlyOwned: true,
|
|
name: 'Test Dapp NFTs #1',
|
|
standard: 'ERC721',
|
|
tokenId: '1',
|
|
},
|
|
],
|
|
},
|
|
},
|
|
ignoredNfts: [],
|
|
});
|
|
}
|
|
|
|
withOnboardingController(data) {
|
|
merge(this.fixture.data.OnboardingController, data);
|
|
return this;
|
|
}
|
|
|
|
withPermissionController(data) {
|
|
merge(this.fixture.data.PermissionController, data);
|
|
return this;
|
|
}
|
|
|
|
withPermissionControllerConnectedToTestDapp() {
|
|
return this.withPermissionController({
|
|
subjects: {
|
|
[DAPP_URL]: {
|
|
origin: DAPP_URL,
|
|
permissions: {
|
|
eth_accounts: {
|
|
id: 'ZaqPEWxyhNCJYACFw93jE',
|
|
parentCapability: 'eth_accounts',
|
|
invoker: DAPP_URL,
|
|
caveats: [
|
|
{
|
|
type: 'restrictReturnedAccounts',
|
|
value: ['0x5cfe73b6021e818b776b421b1c4db2474086a7e1'],
|
|
},
|
|
],
|
|
date: 1664388714636,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
});
|
|
}
|
|
|
|
withPermissionControllerConnectedToSnapDapp() {
|
|
return this.withPermissionController({
|
|
subjects: {
|
|
'https://metamask.github.io': {
|
|
origin: 'https://metamask.github.io',
|
|
permissions: {
|
|
[WALLET_SNAP_PERMISSION_KEY]: {
|
|
caveats: [
|
|
{
|
|
type: SnapCaveatType.SnapIds,
|
|
value: {
|
|
'npm@metamask/test-snap-bip32': {},
|
|
'npm@metamask/test-snap-bip44': {},
|
|
'npm@metamask/test-snap-error': {},
|
|
'npm@metamask/test-snap-managestate': {},
|
|
'npm@metamask/test-snap-notification': {},
|
|
},
|
|
},
|
|
],
|
|
id: 'CwdJq0x8N_b9FNxn6dVuP',
|
|
parentCapability: WALLET_SNAP_PERMISSION_KEY,
|
|
invoker: 'https://metamask.github.io',
|
|
date: 1664388714636,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
});
|
|
}
|
|
|
|
withPermissionLogController(data) {
|
|
merge(
|
|
this.fixture.data.PermissionLogController
|
|
? this.fixture.data.PermissionLogController
|
|
: (this.fixture.data.PermissionLogController = {}),
|
|
data,
|
|
);
|
|
return this;
|
|
}
|
|
|
|
withPreferencesController(data) {
|
|
merge(this.fixture.data.PreferencesController, data);
|
|
return this;
|
|
}
|
|
|
|
withPreferencesControllerImportedAccountIdentities() {
|
|
return this.withPreferencesController({
|
|
identities: {
|
|
'0x0cc5261ab8ce458dc977078a3623e2badd27afd3': {
|
|
name: 'Account 1',
|
|
address: '0x0cc5261ab8ce458dc977078a3623e2badd27afd3',
|
|
lastSelected: 1665507600000,
|
|
},
|
|
'0x3ed0ee22e0685ebbf07b2360a8331693c413cc59': {
|
|
name: 'Account 2',
|
|
address: '0x3ed0ee22e0685ebbf07b2360a8331693c413cc59',
|
|
},
|
|
'0xd38d853771fb546bd8b18b2f3638491bc0b0e906': {
|
|
name: 'Account 3',
|
|
address: '0xd38d853771fb546bd8b18b2f3638491bc0b0e906',
|
|
},
|
|
},
|
|
selectedAddress: '0x0cc5261ab8ce458dc977078a3623e2badd27afd3',
|
|
});
|
|
}
|
|
|
|
withSmartTransactionsController(data) {
|
|
merge(this.fixture.data.SmartTransactionsController, data);
|
|
return this;
|
|
}
|
|
|
|
withSubjectMetadataController(data) {
|
|
merge(this.fixture.data.SubjectMetadataController, data);
|
|
return this;
|
|
}
|
|
|
|
withTokenListController(data) {
|
|
merge(
|
|
this.fixture.data.TokenListController
|
|
? this.fixture.data.TokenListController
|
|
: (this.fixture.data.TokenListController = {}),
|
|
data,
|
|
);
|
|
return this;
|
|
}
|
|
|
|
withTokensController(data) {
|
|
merge(this.fixture.data.TokensController, data);
|
|
return this;
|
|
}
|
|
|
|
withBadPreferencesControllerState() {
|
|
merge(this.fixture.data, {
|
|
PreferencesController: 5,
|
|
});
|
|
return this;
|
|
}
|
|
|
|
withTokensControllerERC20() {
|
|
merge(this.fixture.data.TokensController, {
|
|
tokens: [
|
|
{
|
|
address: `__FIXTURE_SUBSTITUTION__CONTRACT${SMART_CONTRACTS.HST}`,
|
|
symbol: 'TST',
|
|
decimals: 4,
|
|
image:
|
|
'https://static.metafi.codefi.network/api/v1/tokenIcons/1337/0x581c3c1a2a4ebde2a0df29b5cf4c116e42945947.png',
|
|
isERC721: false,
|
|
aggregators: [],
|
|
},
|
|
],
|
|
ignoredTokens: [],
|
|
detectedTokens: [],
|
|
allTokens: {
|
|
[toHex(1337)]: {
|
|
'0x5cfe73b6021e818b776b421b1c4db2474086a7e1': [
|
|
{
|
|
address: `__FIXTURE_SUBSTITUTION__CONTRACT${SMART_CONTRACTS.HST}`,
|
|
symbol: 'TST',
|
|
decimals: 4,
|
|
image:
|
|
'https://static.metafi.codefi.network/api/v1/tokenIcons/1337/0x581c3c1a2a4ebde2a0df29b5cf4c116e42945947.png',
|
|
isERC721: false,
|
|
aggregators: [],
|
|
},
|
|
],
|
|
},
|
|
},
|
|
allIgnoredTokens: {},
|
|
allDetectedTokens: {},
|
|
});
|
|
return this;
|
|
}
|
|
|
|
withTransactionController(data) {
|
|
merge(
|
|
this.fixture.data.TransactionController
|
|
? this.fixture.data.TransactionController
|
|
: (this.fixture.data.TransactionController = {}),
|
|
data,
|
|
);
|
|
return this;
|
|
}
|
|
|
|
withTransactionControllerMultipleTransactions() {
|
|
return this.withTransactionController({
|
|
transactions: {
|
|
7911313280012623: {
|
|
chainId: CHAIN_IDS.LOCALHOST,
|
|
dappSuggestedGasFees: {
|
|
gas: '0x5208',
|
|
maxFeePerGas: '0x59682f0c',
|
|
maxPriorityFeePerGas: '0x59682f00',
|
|
},
|
|
history: [
|
|
{
|
|
chainId: CHAIN_IDS.LOCALHOST,
|
|
dappSuggestedGasFees: {
|
|
gas: '0x5208',
|
|
maxFeePerGas: '0x59682f0c',
|
|
maxPriorityFeePerGas: '0x59682f00',
|
|
},
|
|
id: 7911313280012623,
|
|
loadingDefaults: true,
|
|
metamaskNetworkId: '1337',
|
|
origin: 'https://metamask.github.io',
|
|
status: 'unapproved',
|
|
time: 1631545991949,
|
|
txParams: {
|
|
from: '0x5cfe73b6021e818b776b421b1c4db2474086a7e1',
|
|
gas: '0x5208',
|
|
maxFeePerGas: '0x59682f0c',
|
|
maxPriorityFeePerGas: '0x59682f00',
|
|
to: '0x2f318c334780961fb129d2a6c30d0763d9a5c970',
|
|
value: '0x29a2241af62c0000',
|
|
},
|
|
type: 'simpleSend',
|
|
},
|
|
[
|
|
{
|
|
note: 'Added new unapproved transaction.',
|
|
op: 'replace',
|
|
path: '/loadingDefaults',
|
|
timestamp: 1631545992244,
|
|
value: false,
|
|
},
|
|
],
|
|
],
|
|
id: 7911313280012623,
|
|
loadingDefaults: false,
|
|
metamaskNetworkId: '1337',
|
|
origin: 'https://metamask.github.io',
|
|
status: 'unapproved',
|
|
time: 1631545991949,
|
|
txParams: {
|
|
from: '0x5cfe73b6021e818b776b421b1c4db2474086a7e1',
|
|
gas: '0x5208',
|
|
maxFeePerGas: '0x59682f0c',
|
|
maxPriorityFeePerGas: '0x59682f00',
|
|
to: '0x2f318c334780961fb129d2a6c30d0763d9a5c970',
|
|
value: '0x29a2241af62c0000',
|
|
},
|
|
type: 'simpleSend',
|
|
},
|
|
7911313280012624: {
|
|
chainId: CHAIN_IDS.LOCALHOST,
|
|
dappSuggestedGasFees: {
|
|
gas: '0x5208',
|
|
maxFeePerGas: '0x59682f0c',
|
|
maxPriorityFeePerGas: '0x59682f00',
|
|
},
|
|
history: [
|
|
{
|
|
chainId: CHAIN_IDS.LOCALHOST,
|
|
dappSuggestedGasFees: {
|
|
gas: '0x5208',
|
|
maxFeePerGas: '0x59682f0c',
|
|
maxPriorityFeePerGas: '0x59682f00',
|
|
},
|
|
id: 7911313280012624,
|
|
loadingDefaults: true,
|
|
metamaskNetworkId: '1337',
|
|
origin: 'https://metamask.github.io',
|
|
status: 'unapproved',
|
|
time: 1631545994578,
|
|
txParams: {
|
|
from: '0x5cfe73b6021e818b776b421b1c4db2474086a7e1',
|
|
gas: '0x5208',
|
|
maxFeePerGas: '0x59682f0c',
|
|
maxPriorityFeePerGas: '0x59682f00',
|
|
to: '0x2f318c334780961fb129d2a6c30d0763d9a5c970',
|
|
value: '0x29a2241af62c0000',
|
|
},
|
|
type: 'simpleSend',
|
|
},
|
|
[
|
|
{
|
|
note: 'Added new unapproved transaction.',
|
|
op: 'replace',
|
|
path: '/loadingDefaults',
|
|
timestamp: 1631545994695,
|
|
value: false,
|
|
},
|
|
],
|
|
],
|
|
id: 7911313280012624,
|
|
loadingDefaults: false,
|
|
metamaskNetworkId: '1337',
|
|
origin: 'https://metamask.github.io',
|
|
status: 'unapproved',
|
|
time: 1631545994578,
|
|
txParams: {
|
|
from: '0x5cfe73b6021e818b776b421b1c4db2474086a7e1',
|
|
gas: '0x5208',
|
|
maxFeePerGas: '0x59682f0c',
|
|
maxPriorityFeePerGas: '0x59682f00',
|
|
to: '0x2f318c334780961fb129d2a6c30d0763d9a5c970',
|
|
value: '0x29a2241af62c0000',
|
|
},
|
|
type: 'simpleSend',
|
|
},
|
|
7911313280012625: {
|
|
chainId: CHAIN_IDS.LOCALHOST,
|
|
dappSuggestedGasFees: {
|
|
gas: '0x5208',
|
|
maxFeePerGas: '0x59682f0c',
|
|
maxPriorityFeePerGas: '0x59682f00',
|
|
},
|
|
history: [
|
|
{
|
|
chainId: CHAIN_IDS.LOCALHOST,
|
|
dappSuggestedGasFees: {
|
|
gas: '0x5208',
|
|
maxFeePerGas: '0x59682f0c',
|
|
maxPriorityFeePerGas: '0x59682f00',
|
|
},
|
|
id: 7911313280012625,
|
|
loadingDefaults: true,
|
|
metamaskNetworkId: '1337',
|
|
origin: 'https://metamask.github.io',
|
|
status: 'unapproved',
|
|
time: 1631545996673,
|
|
txParams: {
|
|
from: '0x5cfe73b6021e818b776b421b1c4db2474086a7e1',
|
|
gas: '0x5208',
|
|
maxFeePerGas: '0x59682f0c',
|
|
maxPriorityFeePerGas: '0x59682f00',
|
|
to: '0x2f318c334780961fb129d2a6c30d0763d9a5c970',
|
|
value: '0x29a2241af62c0000',
|
|
},
|
|
type: 'simpleSend',
|
|
},
|
|
[
|
|
{
|
|
note: 'Added new unapproved transaction.',
|
|
op: 'replace',
|
|
path: '/loadingDefaults',
|
|
timestamp: 1631545996678,
|
|
value: false,
|
|
},
|
|
],
|
|
],
|
|
id: 7911313280012625,
|
|
loadingDefaults: false,
|
|
metamaskNetworkId: '1337',
|
|
origin: 'https://metamask.github.io',
|
|
status: 'unapproved',
|
|
time: 1631545996673,
|
|
txParams: {
|
|
from: '0x5cfe73b6021e818b776b421b1c4db2474086a7e1',
|
|
gas: '0x5208',
|
|
maxFeePerGas: '0x59682f0c',
|
|
maxPriorityFeePerGas: '0x59682f00',
|
|
to: '0x2f318c334780961fb129d2a6c30d0763d9a5c970',
|
|
value: '0x29a2241af62c0000',
|
|
},
|
|
type: 'simpleSend',
|
|
},
|
|
7911313280012626: {
|
|
chainId: CHAIN_IDS.LOCALHOST,
|
|
dappSuggestedGasFees: {
|
|
gas: '0x5208',
|
|
maxFeePerGas: '0x59682f0c',
|
|
maxPriorityFeePerGas: '0x59682f00',
|
|
},
|
|
history: [
|
|
{
|
|
chainId: CHAIN_IDS.LOCALHOST,
|
|
dappSuggestedGasFees: {
|
|
gas: '0x5208',
|
|
maxFeePerGas: '0x59682f0c',
|
|
maxPriorityFeePerGas: '0x59682f00',
|
|
},
|
|
id: 7911313280012626,
|
|
loadingDefaults: true,
|
|
metamaskNetworkId: '1337',
|
|
origin: 'https://metamask.github.io',
|
|
status: 'unapproved',
|
|
time: 1631545998675,
|
|
txParams: {
|
|
from: '0x5cfe73b6021e818b776b421b1c4db2474086a7e1',
|
|
gas: '0x5208',
|
|
maxFeePerGas: '0x59682f0c',
|
|
maxPriorityFeePerGas: '0x59682f00',
|
|
to: '0x2f318c334780961fb129d2a6c30d0763d9a5c970',
|
|
value: '0x29a2241af62c0000',
|
|
},
|
|
type: 'simpleSend',
|
|
},
|
|
[
|
|
{
|
|
note: 'Added new unapproved transaction.',
|
|
op: 'replace',
|
|
path: '/loadingDefaults',
|
|
timestamp: 1631545998677,
|
|
value: false,
|
|
},
|
|
],
|
|
],
|
|
id: 7911313280012626,
|
|
loadingDefaults: false,
|
|
metamaskNetworkId: '1337',
|
|
origin: 'https://metamask.github.io',
|
|
status: 'unapproved',
|
|
time: 1631545998675,
|
|
txParams: {
|
|
from: '0x5cfe73b6021e818b776b421b1c4db2474086a7e1',
|
|
gas: '0x5208',
|
|
maxFeePerGas: '0x59682f0c',
|
|
maxPriorityFeePerGas: '0x59682f00',
|
|
to: '0x2f318c334780961fb129d2a6c30d0763d9a5c970',
|
|
value: '0x29a2241af62c0000',
|
|
},
|
|
type: 'simpleSend',
|
|
},
|
|
},
|
|
});
|
|
}
|
|
|
|
withTransactionControllerTypeOneTransaction() {
|
|
return this.withTransactionController({
|
|
transactions: {
|
|
4046084157914634: {
|
|
chainId: CHAIN_IDS.LOCALHOST,
|
|
history: [
|
|
{
|
|
chainId: CHAIN_IDS.LOCALHOST,
|
|
id: 4046084157914634,
|
|
loadingDefaults: true,
|
|
metamaskNetworkId: '1337',
|
|
origin: 'metamask',
|
|
status: 'unapproved',
|
|
time: 1617228030067,
|
|
txParams: {
|
|
from: '0x5cfe73b6021e818b776b421b1c4db2474086a7e1',
|
|
gas: '0x61a8',
|
|
gasPrice: '0x2540be400',
|
|
to: '0x2f318C334780961FB129D2a6c30D0763d9a5C970',
|
|
value: '0xde0b6b3a7640000',
|
|
},
|
|
type: 'simpleSend',
|
|
},
|
|
[
|
|
{
|
|
note: 'Added new unapproved transaction.',
|
|
op: 'replace',
|
|
path: '/loadingDefaults',
|
|
timestamp: 1617228030069,
|
|
value: false,
|
|
},
|
|
],
|
|
],
|
|
id: 4046084157914634,
|
|
loadingDefaults: false,
|
|
metamaskNetworkId: '1337',
|
|
origin: 'metamask',
|
|
primaryTransaction: {
|
|
chainId: CHAIN_IDS.LOCALHOST,
|
|
id: 4046084157914634,
|
|
loadingDefaults: true,
|
|
metamaskNetworkId: '1337',
|
|
origin: 'metamask',
|
|
status: 'unapproved',
|
|
time: 1617228030067,
|
|
txParams: {
|
|
from: '0x5cfe73b6021e818b776b421b1c4db2474086a7e1',
|
|
gas: '0x61a8',
|
|
gasPrice: '0x2540be400',
|
|
to: '0x2f318C334780961FB129D2a6c30D0763d9a5C970',
|
|
value: '0xde0b6b3a7640000',
|
|
},
|
|
type: 'sentEther',
|
|
},
|
|
status: 'unapproved',
|
|
time: 1617228030067,
|
|
txParams: {
|
|
from: '0x5cfe73b6021e818b776b421b1c4db2474086a7e1',
|
|
gas: '0x61a8',
|
|
gasPrice: '0x2540be400',
|
|
to: '0x2f318C334780961FB129D2a6c30D0763d9a5C970',
|
|
value: '0xde0b6b3a7640000',
|
|
},
|
|
type: 'simpleSend',
|
|
},
|
|
},
|
|
});
|
|
}
|
|
|
|
withTransactionControllerTypeTwoTransaction() {
|
|
return this.withTransactionController({
|
|
transactions: {
|
|
4046084157914634: {
|
|
chainId: CHAIN_IDS.LOCALHOST,
|
|
history: [
|
|
{
|
|
chainId: CHAIN_IDS.LOCALHOST,
|
|
id: 4046084157914634,
|
|
loadingDefaults: true,
|
|
metamaskNetworkId: '1337',
|
|
origin: 'metamask',
|
|
status: 'unapproved',
|
|
time: 1617228030067,
|
|
txParams: {
|
|
from: '0x5cfe73b6021e818b776b421b1c4db2474086a7e1',
|
|
gas: '0x61a8',
|
|
maxFeePerGas: '0x59682f0c',
|
|
maxPriorityFeePerGas: '0x59682f00',
|
|
to: '0x2f318C334780961FB129D2a6c30D0763d9a5C970',
|
|
type: '0x2',
|
|
value: '0xde0b6b3a7640000',
|
|
},
|
|
type: 'simpleSend',
|
|
},
|
|
[
|
|
{
|
|
note: 'Added new unapproved transaction.',
|
|
op: 'replace',
|
|
path: '/loadingDefaults',
|
|
timestamp: 1617228030069,
|
|
value: false,
|
|
},
|
|
],
|
|
],
|
|
id: 4046084157914634,
|
|
loadingDefaults: false,
|
|
metamaskNetworkId: '1337',
|
|
origin: 'metamask',
|
|
primaryTransaction: {
|
|
chainId: CHAIN_IDS.LOCALHOST,
|
|
id: 4046084157914634,
|
|
loadingDefaults: true,
|
|
metamaskNetworkId: '1337',
|
|
origin: 'metamask',
|
|
status: 'unapproved',
|
|
time: 1617228030067,
|
|
txParams: {
|
|
from: '0x5cfe73b6021e818b776b421b1c4db2474086a7e1',
|
|
gas: '0x61a8',
|
|
maxFeePerGas: '0x59682f0c',
|
|
maxPriorityFeePerGas: '0x59682f00',
|
|
to: '0x2f318C334780961FB129D2a6c30D0763d9a5C970',
|
|
type: '0x2',
|
|
value: '0xde0b6b3a7640000',
|
|
},
|
|
type: 'sentEther',
|
|
},
|
|
status: 'unapproved',
|
|
time: 1617228030067,
|
|
txParams: {
|
|
from: '0x5cfe73b6021e818b776b421b1c4db2474086a7e1',
|
|
gas: '0x61a8',
|
|
maxFeePerGas: '0x59682f0c',
|
|
maxPriorityFeePerGas: '0x59682f00',
|
|
to: '0x2f318C334780961FB129D2a6c30D0763d9a5C970',
|
|
type: '0x2',
|
|
value: '0xde0b6b3a7640000',
|
|
},
|
|
type: 'simpleSend',
|
|
},
|
|
},
|
|
});
|
|
}
|
|
|
|
withTransactionControllerApprovedTransaction() {
|
|
return this.withTransactionController({
|
|
transactions: {
|
|
4046084157914634: {
|
|
chainId: CHAIN_IDS.LOCALHOST,
|
|
history: [
|
|
{
|
|
chainId: CHAIN_IDS.LOCALHOST,
|
|
id: 4046084157914634,
|
|
loadingDefaults: true,
|
|
metamaskNetworkId: '1337',
|
|
origin: 'metamask',
|
|
status: 'unapproved',
|
|
time: 1617228030067,
|
|
txParams: {
|
|
from: '0x5cfe73b6021e818b776b421b1c4db2474086a7e1',
|
|
gas: '0x61a8',
|
|
maxFeePerGas: '0x59682f0c',
|
|
maxPriorityFeePerGas: '0x59682f00',
|
|
to: '0x2f318C334780961FB129D2a6c30D0763d9a5C970',
|
|
type: '0x2',
|
|
value: '0xde0b6b3a7640000',
|
|
},
|
|
type: 'simpleSend',
|
|
},
|
|
[
|
|
{
|
|
note: 'Added new unapproved transaction.',
|
|
op: 'replace',
|
|
path: '/loadingDefaults',
|
|
timestamp: 1617228030069,
|
|
value: false,
|
|
},
|
|
],
|
|
[
|
|
{
|
|
op: 'add',
|
|
path: '/txParams/nonce',
|
|
value: '0x0',
|
|
note: 'transactions#approveTransaction',
|
|
timestamp: 1617228031069,
|
|
},
|
|
{
|
|
op: 'add',
|
|
path: '/nonceDetails',
|
|
value: {
|
|
params: {
|
|
highestLocallyConfirmed: 0,
|
|
highestSuggested: 0,
|
|
nextNetworkNonce: 0,
|
|
},
|
|
local: {
|
|
name: 'local',
|
|
nonce: 0,
|
|
details: {
|
|
startPoint: 0,
|
|
highest: 0,
|
|
},
|
|
},
|
|
network: {
|
|
name: 'network',
|
|
nonce: 0,
|
|
details: {
|
|
blockNumber: '0x0',
|
|
baseCount: 0,
|
|
},
|
|
},
|
|
},
|
|
},
|
|
],
|
|
],
|
|
id: 4046084157914634,
|
|
loadingDefaults: false,
|
|
metamaskNetworkId: '1337',
|
|
origin: 'metamask',
|
|
primaryTransaction: {
|
|
chainId: CHAIN_IDS.LOCALHOST,
|
|
id: 4046084157914634,
|
|
loadingDefaults: true,
|
|
metamaskNetworkId: '1337',
|
|
origin: 'metamask',
|
|
status: 'approved',
|
|
time: 1617228030067,
|
|
txParams: {
|
|
from: '0x5cfe73b6021e818b776b421b1c4db2474086a7e1',
|
|
gas: '0x61a8',
|
|
maxFeePerGas: '0x59682f0c',
|
|
maxPriorityFeePerGas: '0x59682f00',
|
|
to: '0x2f318C334780961FB129D2a6c30D0763d9a5C970',
|
|
type: '0x2',
|
|
value: '0xde0b6b3a7640000',
|
|
},
|
|
type: 'sentEther',
|
|
},
|
|
status: 'approved',
|
|
time: 1617228030067,
|
|
txParams: {
|
|
from: '0x5cfe73b6021e818b776b421b1c4db2474086a7e1',
|
|
gas: '0x61a8',
|
|
maxFeePerGas: '0x59682f0c',
|
|
maxPriorityFeePerGas: '0x59682f00',
|
|
to: '0x2f318C334780961FB129D2a6c30D0763d9a5C970',
|
|
type: '0x2',
|
|
value: '0xde0b6b3a7640000',
|
|
},
|
|
type: 'simpleSend',
|
|
},
|
|
},
|
|
});
|
|
}
|
|
|
|
withTransactionControllerCompletedTransaction() {
|
|
return this.withTransactionController({
|
|
transactions: {
|
|
5748272735958801: {
|
|
chainId: CHAIN_IDS.LOCALHOST,
|
|
history: [
|
|
{
|
|
chainId: CHAIN_IDS.LOCALHOST,
|
|
id: 5748272735958801,
|
|
loadingDefaults: true,
|
|
metamaskNetworkId: '1337',
|
|
origin: 'metamask',
|
|
status: 'unapproved',
|
|
time: 1671635506502,
|
|
txParams: {
|
|
from: '0x5cfe73b6021e818b776b421b1c4db2474086a7e1',
|
|
gas: '0x5208',
|
|
maxFeePerGas: '0x4c03c96f8',
|
|
maxPriorityFeePerGas: '0x59682f00',
|
|
to: '0x2f318C334780961FB129D2a6c30D0763d9a5C970',
|
|
type: '0x2',
|
|
value: '0xde0b6b3a7640000',
|
|
},
|
|
type: 'simpleSend',
|
|
},
|
|
[
|
|
{
|
|
note: 'Added new unapproved transaction.',
|
|
op: 'replace',
|
|
path: '/loadingDefaults',
|
|
timestamp: 1671635506520,
|
|
value: false,
|
|
},
|
|
],
|
|
[
|
|
{
|
|
note: 'confTx: user approved transaction',
|
|
op: 'replace',
|
|
path: '/txParams/maxFeePerGas',
|
|
timestamp: 1671635510589,
|
|
value: '0x4d7fc07fb',
|
|
},
|
|
],
|
|
[
|
|
{
|
|
note: 'txStateManager: setting status to approved',
|
|
op: 'replace',
|
|
path: '/status',
|
|
timestamp: 1671635510589,
|
|
value: 'approved',
|
|
},
|
|
],
|
|
[
|
|
{
|
|
note: 'transactions#approveTransaction',
|
|
op: 'add',
|
|
path: '/txParams/nonce',
|
|
timestamp: 1671635510592,
|
|
value: '0x2',
|
|
},
|
|
{
|
|
op: 'add',
|
|
path: '/nonceDetails',
|
|
value: {
|
|
local: {
|
|
details: {
|
|
highest: 2,
|
|
startPoint: 2,
|
|
},
|
|
name: 'local',
|
|
nonce: 2,
|
|
},
|
|
network: {
|
|
details: {
|
|
baseCount: 2,
|
|
blockNumber: '0x7cbf93',
|
|
},
|
|
name: 'network',
|
|
nonce: 2,
|
|
},
|
|
params: {
|
|
highestLocallyConfirmed: 0,
|
|
highestSuggested: 2,
|
|
nextNetworkNonce: 2,
|
|
},
|
|
},
|
|
},
|
|
],
|
|
[
|
|
{
|
|
note: 'txStateManager: setting status to signed',
|
|
op: 'replace',
|
|
path: '/status',
|
|
timestamp: 1671635510651,
|
|
value: 'signed',
|
|
},
|
|
],
|
|
[
|
|
{
|
|
note: 'transactions#publishTransaction',
|
|
op: 'add',
|
|
path: '/rawTx',
|
|
timestamp: 1671635510653,
|
|
value:
|
|
'0x02f87205028459682f008504d7fc07fb825208947d17148ed7ec802e4458e94deec1ef28aef645e987038d7ea4c6800080c001a0c60aeaef1556a52b009e3973f06c64d5cd6dc935463afd0d2b1c00661655e47ea061b121db8f2cb2241b1454d1794256e5634d26a5b873e89a816efe210377492a',
|
|
},
|
|
],
|
|
[
|
|
{
|
|
note: 'txStateManager: setting status to submitted',
|
|
op: 'replace',
|
|
path: '/status',
|
|
timestamp: 1671635510753,
|
|
value: 'submitted',
|
|
},
|
|
],
|
|
[
|
|
{
|
|
note: 'txStateManager: setting status to confirmed',
|
|
op: 'replace',
|
|
path: '/status',
|
|
timestamp: 1671635522978,
|
|
value: 'confirmed',
|
|
},
|
|
{
|
|
op: 'add',
|
|
path: '/txReceipt',
|
|
value: {
|
|
blockNumber: '7cbf95',
|
|
from: '0x5cfe73b6021e818b776b421b1c4db2474086a7e1',
|
|
gasUsed: '5208',
|
|
status: '0x1',
|
|
to: '0x2f318C334780961FB129D2a6c30D0763d9a5C970',
|
|
type: '0x2',
|
|
},
|
|
},
|
|
],
|
|
[
|
|
{
|
|
note: 'transactions#confirmTransaction - add txReceipt',
|
|
op: 'replace',
|
|
path: '/blockTimestamp',
|
|
timestamp: 1671635522999,
|
|
value: '63a32240',
|
|
},
|
|
],
|
|
],
|
|
id: 5748272735958801,
|
|
loadingDefaults: false,
|
|
metamaskNetworkId: '5',
|
|
nonceDetails: {
|
|
local: {
|
|
details: {
|
|
highest: 2,
|
|
startPoint: 2,
|
|
},
|
|
name: 'local',
|
|
nonce: 2,
|
|
},
|
|
network: {
|
|
details: {
|
|
baseCount: 2,
|
|
blockNumber: '0x7cbf93',
|
|
},
|
|
name: 'network',
|
|
nonce: 2,
|
|
},
|
|
params: {
|
|
highestLocallyConfirmed: 0,
|
|
highestSuggested: 2,
|
|
nextNetworkNonce: 2,
|
|
},
|
|
},
|
|
origin: 'metamask',
|
|
status: 'confirmed',
|
|
submittedTime: 1671635510753,
|
|
time: 1671635506502,
|
|
txParams: {
|
|
from: '0x5cfe73b6021e818b776b421b1c4db2474086a7e1',
|
|
gas: '0x5208',
|
|
to: '0x2f318C334780961FB129D2a6c30D0763d9a5C970',
|
|
type: '0x2',
|
|
value: '0xde0b6b3a7640000',
|
|
},
|
|
txReceipt: {
|
|
blockNumber: {
|
|
length: 1,
|
|
negative: 0,
|
|
words: [8175509, null],
|
|
},
|
|
from: '0x5cfe73b6021e818b776b421b1c4db2474086a7e1',
|
|
status: '0x1',
|
|
to: '0x2f318C334780961FB129D2a6c30D0763d9a5C970',
|
|
type: '0x2',
|
|
},
|
|
type: 'simpleSend',
|
|
},
|
|
},
|
|
});
|
|
}
|
|
|
|
build() {
|
|
this.fixture.meta = {
|
|
version: 74,
|
|
};
|
|
return this.fixture;
|
|
}
|
|
}
|
|
|
|
module.exports = FixtureBuilder;
|