fix: Add simulation retrigger
Explanation
This PR adds a mechanism to re-trigger of simulations if the security provider mark transaction as malicious and the previous simulation native balance change is different then the previous simulation.
References
Fixes: https://github.com/MetaMask/MetaMask-planning/issues/3380
Changelog
@metamask/transaction-controller
-
ADDED: Add mechanism to re-trigger of simulations if the security provider mark transaction as
maliciousand the previous simulation native balance change is different then the previous simulation. -
ADDED: Add
changeInSimulationDataproperty tosimulationDatain order to detect change of simulation data.
Checklist
- [X] I've updated the test suite for new or updated code as appropriate
- [X] I've updated documentation (JSDoc, Markdown, etc.) for new or updated code as appropriate
- [X] I've highlighted breaking changes using the "BREAKING" category above as appropriate
- [X] I've prepared draft pull requests for clients and consumer packages to resolve any breaking changes
@metamaskbot publish-preview
Preview builds have been published. See these instructions for more information about preview builds.
Expand for full list of packages and versions.
{
"@metamask-previews/accounts-controller": "18.2.2-preview-3fec6ed",
"@metamask-previews/address-book-controller": "6.0.1-preview-3fec6ed",
"@metamask-previews/announcement-controller": "7.0.1-preview-3fec6ed",
"@metamask-previews/approval-controller": "7.1.0-preview-3fec6ed",
"@metamask-previews/assets-controllers": "38.3.0-preview-3fec6ed",
"@metamask-previews/base-controller": "7.0.1-preview-3fec6ed",
"@metamask-previews/build-utils": "3.0.1-preview-3fec6ed",
"@metamask-previews/chain-controller": "0.1.3-preview-3fec6ed",
"@metamask-previews/composable-controller": "9.0.1-preview-3fec6ed",
"@metamask-previews/controller-utils": "11.3.0-preview-3fec6ed",
"@metamask-previews/ens-controller": "14.0.1-preview-3fec6ed",
"@metamask-previews/eth-json-rpc-provider": "4.1.4-preview-3fec6ed",
"@metamask-previews/gas-fee-controller": "20.0.1-preview-3fec6ed",
"@metamask-previews/json-rpc-engine": "9.0.3-preview-3fec6ed",
"@metamask-previews/json-rpc-middleware-stream": "8.0.3-preview-3fec6ed",
"@metamask-previews/keyring-controller": "17.2.2-preview-3fec6ed",
"@metamask-previews/logging-controller": "6.0.1-preview-3fec6ed",
"@metamask-previews/message-manager": "10.1.1-preview-3fec6ed",
"@metamask-previews/name-controller": "8.0.1-preview-3fec6ed",
"@metamask-previews/network-controller": "21.0.1-preview-3fec6ed",
"@metamask-previews/notification-controller": "7.0.0-preview-3fec6ed",
"@metamask-previews/notification-services-controller": "0.9.0-preview-3fec6ed",
"@metamask-previews/permission-controller": "11.0.2-preview-3fec6ed",
"@metamask-previews/permission-log-controller": "3.0.1-preview-3fec6ed",
"@metamask-previews/phishing-controller": "12.0.3-preview-3fec6ed",
"@metamask-previews/polling-controller": "10.0.1-preview-3fec6ed",
"@metamask-previews/preferences-controller": "13.0.3-preview-3fec6ed",
"@metamask-previews/profile-sync-controller": "0.9.7-preview-3fec6ed",
"@metamask-previews/queued-request-controller": "5.1.0-preview-3fec6ed",
"@metamask-previews/rate-limit-controller": "6.0.1-preview-3fec6ed",
"@metamask-previews/selected-network-controller": "18.0.1-preview-3fec6ed",
"@metamask-previews/signature-controller": "19.1.0-preview-3fec6ed",
"@metamask-previews/transaction-controller": "37.2.0-preview-3fec6ed",
"@metamask-previews/user-operation-controller": "15.0.1-preview-3fec6ed"
}
@metamaskbot publish-preview
Preview builds have been published. See these instructions for more information about preview builds.
Expand for full list of packages and versions.
{
"@metamask-previews/accounts-controller": "18.2.2-preview-3c1aabe6",
"@metamask-previews/address-book-controller": "6.0.1-preview-3c1aabe6",
"@metamask-previews/announcement-controller": "7.0.1-preview-3c1aabe6",
"@metamask-previews/approval-controller": "7.1.0-preview-3c1aabe6",
"@metamask-previews/assets-controllers": "38.3.0-preview-3c1aabe6",
"@metamask-previews/base-controller": "7.0.1-preview-3c1aabe6",
"@metamask-previews/build-utils": "3.0.1-preview-3c1aabe6",
"@metamask-previews/chain-controller": "0.1.3-preview-3c1aabe6",
"@metamask-previews/composable-controller": "9.0.1-preview-3c1aabe6",
"@metamask-previews/controller-utils": "11.3.0-preview-3c1aabe6",
"@metamask-previews/ens-controller": "14.0.1-preview-3c1aabe6",
"@metamask-previews/eth-json-rpc-provider": "4.1.5-preview-3c1aabe6",
"@metamask-previews/gas-fee-controller": "20.0.1-preview-3c1aabe6",
"@metamask-previews/json-rpc-engine": "10.0.0-preview-3c1aabe6",
"@metamask-previews/json-rpc-middleware-stream": "8.0.4-preview-3c1aabe6",
"@metamask-previews/keyring-controller": "17.2.2-preview-3c1aabe6",
"@metamask-previews/logging-controller": "6.0.1-preview-3c1aabe6",
"@metamask-previews/message-manager": "11.0.0-preview-3c1aabe6",
"@metamask-previews/name-controller": "8.0.1-preview-3c1aabe6",
"@metamask-previews/network-controller": "21.0.1-preview-3c1aabe6",
"@metamask-previews/notification-controller": "7.0.0-preview-3c1aabe6",
"@metamask-previews/notification-services-controller": "0.10.0-preview-3c1aabe6",
"@metamask-previews/permission-controller": "11.0.2-preview-3c1aabe6",
"@metamask-previews/permission-log-controller": "3.0.1-preview-3c1aabe6",
"@metamask-previews/phishing-controller": "12.0.3-preview-3c1aabe6",
"@metamask-previews/polling-controller": "10.0.1-preview-3c1aabe6",
"@metamask-previews/preferences-controller": "13.0.3-preview-3c1aabe6",
"@metamask-previews/profile-sync-controller": "0.9.7-preview-3c1aabe6",
"@metamask-previews/queued-request-controller": "5.1.0-preview-3c1aabe6",
"@metamask-previews/rate-limit-controller": "6.0.1-preview-3c1aabe6",
"@metamask-previews/selected-network-controller": "18.0.2-preview-3c1aabe6",
"@metamask-previews/signature-controller": "20.0.0-preview-3c1aabe6",
"@metamask-previews/transaction-controller": "37.3.0-preview-3c1aabe6",
"@metamask-previews/user-operation-controller": "15.0.1-preview-3c1aabe6"
}
@metamaskbot publish-preview
Preview builds have been published. See these instructions for more information about preview builds.
Expand for full list of packages and versions.
{
"@metamask-previews/accounts-controller": "18.2.2-preview-8518e617",
"@metamask-previews/address-book-controller": "6.0.1-preview-8518e617",
"@metamask-previews/announcement-controller": "7.0.1-preview-8518e617",
"@metamask-previews/approval-controller": "7.1.0-preview-8518e617",
"@metamask-previews/assets-controllers": "39.0.0-preview-8518e617",
"@metamask-previews/base-controller": "7.0.1-preview-8518e617",
"@metamask-previews/build-utils": "3.0.1-preview-8518e617",
"@metamask-previews/chain-controller": "0.1.3-preview-8518e617",
"@metamask-previews/composable-controller": "9.0.1-preview-8518e617",
"@metamask-previews/controller-utils": "11.4.0-preview-8518e617",
"@metamask-previews/ens-controller": "14.0.1-preview-8518e617",
"@metamask-previews/eth-json-rpc-provider": "4.1.5-preview-8518e617",
"@metamask-previews/gas-fee-controller": "21.0.0-preview-8518e617",
"@metamask-previews/json-rpc-engine": "10.0.0-preview-8518e617",
"@metamask-previews/json-rpc-middleware-stream": "8.0.4-preview-8518e617",
"@metamask-previews/keyring-controller": "17.3.0-preview-8518e617",
"@metamask-previews/logging-controller": "6.0.1-preview-8518e617",
"@metamask-previews/message-manager": "11.0.0-preview-8518e617",
"@metamask-previews/multichain": "0.0.0-preview-8518e617",
"@metamask-previews/name-controller": "8.0.1-preview-8518e617",
"@metamask-previews/network-controller": "22.0.0-preview-8518e617",
"@metamask-previews/notification-controller": "7.0.0-preview-8518e617",
"@metamask-previews/notification-services-controller": "0.12.0-preview-8518e617",
"@metamask-previews/permission-controller": "11.0.2-preview-8518e617",
"@metamask-previews/permission-log-controller": "3.0.1-preview-8518e617",
"@metamask-previews/phishing-controller": "12.0.3-preview-8518e617",
"@metamask-previews/polling-controller": "11.0.0-preview-8518e617",
"@metamask-previews/preferences-controller": "13.1.0-preview-8518e617",
"@metamask-previews/profile-sync-controller": "0.9.7-preview-8518e617",
"@metamask-previews/queued-request-controller": "5.1.0-preview-8518e617",
"@metamask-previews/rate-limit-controller": "6.0.1-preview-8518e617",
"@metamask-previews/selected-network-controller": "18.0.2-preview-8518e617",
"@metamask-previews/signature-controller": "20.1.0-preview-8518e617",
"@metamask-previews/transaction-controller": "37.3.0-preview-8518e617",
"@metamask-previews/user-operation-controller": "16.0.0-preview-8518e617"
}
@metamaskbot publish-preview
Preview builds have been published. See these instructions for more information about preview builds.
Expand for full list of packages and versions.
{
"@metamask-previews/accounts-controller": "18.2.2-preview-d823fc29",
"@metamask-previews/address-book-controller": "6.0.1-preview-d823fc29",
"@metamask-previews/announcement-controller": "7.0.1-preview-d823fc29",
"@metamask-previews/approval-controller": "7.1.0-preview-d823fc29",
"@metamask-previews/assets-controllers": "39.0.0-preview-d823fc29",
"@metamask-previews/base-controller": "7.0.1-preview-d823fc29",
"@metamask-previews/build-utils": "3.0.1-preview-d823fc29",
"@metamask-previews/chain-controller": "0.1.3-preview-d823fc29",
"@metamask-previews/composable-controller": "9.0.1-preview-d823fc29",
"@metamask-previews/controller-utils": "11.4.0-preview-d823fc29",
"@metamask-previews/ens-controller": "14.0.1-preview-d823fc29",
"@metamask-previews/eth-json-rpc-provider": "4.1.5-preview-d823fc29",
"@metamask-previews/gas-fee-controller": "21.0.0-preview-d823fc29",
"@metamask-previews/json-rpc-engine": "10.0.0-preview-d823fc29",
"@metamask-previews/json-rpc-middleware-stream": "8.0.4-preview-d823fc29",
"@metamask-previews/keyring-controller": "17.3.0-preview-d823fc29",
"@metamask-previews/logging-controller": "6.0.1-preview-d823fc29",
"@metamask-previews/message-manager": "11.0.0-preview-d823fc29",
"@metamask-previews/multichain": "0.0.0-preview-d823fc29",
"@metamask-previews/name-controller": "8.0.1-preview-d823fc29",
"@metamask-previews/network-controller": "22.0.0-preview-d823fc29",
"@metamask-previews/notification-controller": "7.0.0-preview-d823fc29",
"@metamask-previews/notification-services-controller": "0.12.0-preview-d823fc29",
"@metamask-previews/permission-controller": "11.0.2-preview-d823fc29",
"@metamask-previews/permission-log-controller": "3.0.1-preview-d823fc29",
"@metamask-previews/phishing-controller": "12.0.3-preview-d823fc29",
"@metamask-previews/polling-controller": "11.0.0-preview-d823fc29",
"@metamask-previews/preferences-controller": "13.1.0-preview-d823fc29",
"@metamask-previews/profile-sync-controller": "0.9.7-preview-d823fc29",
"@metamask-previews/queued-request-controller": "5.1.0-preview-d823fc29",
"@metamask-previews/rate-limit-controller": "6.0.1-preview-d823fc29",
"@metamask-previews/selected-network-controller": "18.0.2-preview-d823fc29",
"@metamask-previews/signature-controller": "20.1.0-preview-d823fc29",
"@metamask-previews/transaction-controller": "37.3.0-preview-d823fc29",
"@metamask-previews/user-operation-controller": "16.0.0-preview-d823fc29"
}
@metamaskbot publish-preview
Preview builds have been published. See these instructions for more information about preview builds.
Expand for full list of packages and versions.
{
"@metamask-previews/accounts-controller": "18.2.2-preview-c3543e68",
"@metamask-previews/address-book-controller": "6.0.1-preview-c3543e68",
"@metamask-previews/announcement-controller": "7.0.1-preview-c3543e68",
"@metamask-previews/approval-controller": "7.1.0-preview-c3543e68",
"@metamask-previews/assets-controllers": "39.0.0-preview-c3543e68",
"@metamask-previews/base-controller": "7.0.1-preview-c3543e68",
"@metamask-previews/build-utils": "3.0.1-preview-c3543e68",
"@metamask-previews/chain-controller": "0.1.3-preview-c3543e68",
"@metamask-previews/composable-controller": "9.0.1-preview-c3543e68",
"@metamask-previews/controller-utils": "11.4.0-preview-c3543e68",
"@metamask-previews/ens-controller": "14.0.1-preview-c3543e68",
"@metamask-previews/eth-json-rpc-provider": "4.1.5-preview-c3543e68",
"@metamask-previews/gas-fee-controller": "21.0.0-preview-c3543e68",
"@metamask-previews/json-rpc-engine": "10.0.0-preview-c3543e68",
"@metamask-previews/json-rpc-middleware-stream": "8.0.4-preview-c3543e68",
"@metamask-previews/keyring-controller": "17.3.0-preview-c3543e68",
"@metamask-previews/logging-controller": "6.0.1-preview-c3543e68",
"@metamask-previews/message-manager": "11.0.0-preview-c3543e68",
"@metamask-previews/multichain": "0.0.0-preview-c3543e68",
"@metamask-previews/name-controller": "8.0.1-preview-c3543e68",
"@metamask-previews/network-controller": "22.0.0-preview-c3543e68",
"@metamask-previews/notification-controller": "7.0.0-preview-c3543e68",
"@metamask-previews/notification-services-controller": "0.12.0-preview-c3543e68",
"@metamask-previews/permission-controller": "11.0.2-preview-c3543e68",
"@metamask-previews/permission-log-controller": "3.0.1-preview-c3543e68",
"@metamask-previews/phishing-controller": "12.0.3-preview-c3543e68",
"@metamask-previews/polling-controller": "11.0.0-preview-c3543e68",
"@metamask-previews/preferences-controller": "13.1.0-preview-c3543e68",
"@metamask-previews/profile-sync-controller": "0.9.7-preview-c3543e68",
"@metamask-previews/queued-request-controller": "5.1.0-preview-c3543e68",
"@metamask-previews/rate-limit-controller": "6.0.1-preview-c3543e68",
"@metamask-previews/selected-network-controller": "18.0.2-preview-c3543e68",
"@metamask-previews/signature-controller": "20.1.0-preview-c3543e68",
"@metamask-previews/transaction-controller": "37.3.0-preview-c3543e68",
"@metamask-previews/user-operation-controller": "16.0.0-preview-c3543e68"
}
@metamaskbot publish-preview
Preview builds have been published. See these instructions for more information about preview builds.
Expand for full list of packages and versions.
{
"@metamask-previews/accounts-controller": "18.2.2-preview-f6c3e03d",
"@metamask-previews/address-book-controller": "6.0.1-preview-f6c3e03d",
"@metamask-previews/announcement-controller": "7.0.1-preview-f6c3e03d",
"@metamask-previews/approval-controller": "7.1.0-preview-f6c3e03d",
"@metamask-previews/assets-controllers": "39.0.0-preview-f6c3e03d",
"@metamask-previews/base-controller": "7.0.1-preview-f6c3e03d",
"@metamask-previews/build-utils": "3.0.1-preview-f6c3e03d",
"@metamask-previews/chain-controller": "0.1.3-preview-f6c3e03d",
"@metamask-previews/composable-controller": "9.0.1-preview-f6c3e03d",
"@metamask-previews/controller-utils": "11.4.0-preview-f6c3e03d",
"@metamask-previews/ens-controller": "14.0.1-preview-f6c3e03d",
"@metamask-previews/eth-json-rpc-provider": "4.1.5-preview-f6c3e03d",
"@metamask-previews/gas-fee-controller": "21.0.0-preview-f6c3e03d",
"@metamask-previews/json-rpc-engine": "10.0.0-preview-f6c3e03d",
"@metamask-previews/json-rpc-middleware-stream": "8.0.4-preview-f6c3e03d",
"@metamask-previews/keyring-controller": "17.3.0-preview-f6c3e03d",
"@metamask-previews/logging-controller": "6.0.1-preview-f6c3e03d",
"@metamask-previews/message-manager": "11.0.0-preview-f6c3e03d",
"@metamask-previews/multichain": "0.0.0-preview-f6c3e03d",
"@metamask-previews/name-controller": "8.0.1-preview-f6c3e03d",
"@metamask-previews/network-controller": "22.0.0-preview-f6c3e03d",
"@metamask-previews/notification-controller": "7.0.0-preview-f6c3e03d",
"@metamask-previews/notification-services-controller": "0.12.0-preview-f6c3e03d",
"@metamask-previews/permission-controller": "11.0.2-preview-f6c3e03d",
"@metamask-previews/permission-log-controller": "3.0.1-preview-f6c3e03d",
"@metamask-previews/phishing-controller": "12.0.3-preview-f6c3e03d",
"@metamask-previews/polling-controller": "11.0.0-preview-f6c3e03d",
"@metamask-previews/preferences-controller": "13.1.0-preview-f6c3e03d",
"@metamask-previews/profile-sync-controller": "0.9.7-preview-f6c3e03d",
"@metamask-previews/queued-request-controller": "5.1.0-preview-f6c3e03d",
"@metamask-previews/rate-limit-controller": "6.0.1-preview-f6c3e03d",
"@metamask-previews/selected-network-controller": "18.0.2-preview-f6c3e03d",
"@metamask-previews/signature-controller": "20.1.0-preview-f6c3e03d",
"@metamask-previews/transaction-controller": "37.3.0-preview-f6c3e03d",
"@metamask-previews/user-operation-controller": "16.0.0-preview-f6c3e03d"
}
@metamaskbot publish-preview
Preview builds have been published. See these instructions for more information about preview builds.
Expand for full list of packages and versions.
{
"@metamask-previews/accounts-controller": "18.2.2-preview-3806a69c",
"@metamask-previews/address-book-controller": "6.0.1-preview-3806a69c",
"@metamask-previews/announcement-controller": "7.0.1-preview-3806a69c",
"@metamask-previews/approval-controller": "7.1.0-preview-3806a69c",
"@metamask-previews/assets-controllers": "39.0.0-preview-3806a69c",
"@metamask-previews/base-controller": "7.0.1-preview-3806a69c",
"@metamask-previews/build-utils": "3.0.1-preview-3806a69c",
"@metamask-previews/chain-controller": "0.1.3-preview-3806a69c",
"@metamask-previews/composable-controller": "9.0.1-preview-3806a69c",
"@metamask-previews/controller-utils": "11.4.0-preview-3806a69c",
"@metamask-previews/ens-controller": "14.0.1-preview-3806a69c",
"@metamask-previews/eth-json-rpc-provider": "4.1.5-preview-3806a69c",
"@metamask-previews/gas-fee-controller": "21.0.0-preview-3806a69c",
"@metamask-previews/json-rpc-engine": "10.0.0-preview-3806a69c",
"@metamask-previews/json-rpc-middleware-stream": "8.0.4-preview-3806a69c",
"@metamask-previews/keyring-controller": "17.3.0-preview-3806a69c",
"@metamask-previews/logging-controller": "6.0.1-preview-3806a69c",
"@metamask-previews/message-manager": "11.0.0-preview-3806a69c",
"@metamask-previews/multichain": "0.0.0-preview-3806a69c",
"@metamask-previews/name-controller": "8.0.1-preview-3806a69c",
"@metamask-previews/network-controller": "22.0.0-preview-3806a69c",
"@metamask-previews/notification-controller": "7.0.0-preview-3806a69c",
"@metamask-previews/notification-services-controller": "0.12.0-preview-3806a69c",
"@metamask-previews/permission-controller": "11.0.2-preview-3806a69c",
"@metamask-previews/permission-log-controller": "3.0.1-preview-3806a69c",
"@metamask-previews/phishing-controller": "12.0.3-preview-3806a69c",
"@metamask-previews/polling-controller": "11.0.0-preview-3806a69c",
"@metamask-previews/preferences-controller": "13.1.0-preview-3806a69c",
"@metamask-previews/profile-sync-controller": "0.9.7-preview-3806a69c",
"@metamask-previews/queued-request-controller": "5.1.0-preview-3806a69c",
"@metamask-previews/rate-limit-controller": "6.0.1-preview-3806a69c",
"@metamask-previews/selected-network-controller": "18.0.2-preview-3806a69c",
"@metamask-previews/signature-controller": "20.1.0-preview-3806a69c",
"@metamask-previews/transaction-controller": "37.3.0-preview-3806a69c",
"@metamask-previews/user-operation-controller": "16.0.0-preview-3806a69c"
}