mirror of
https://github.com/kremalicious/metamask-extension.git
synced 2024-12-23 09:52:26 +01:00
Merge branch 'master' into Version-v10.24.0
This commit is contained in:
commit
8c0678eb99
@ -65,6 +65,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|||||||
- [FLASK] Clear notification state on restore ([#16503](https://github.com/MetaMask/metamask-extension/pull/16503))
|
- [FLASK] Clear notification state on restore ([#16503](https://github.com/MetaMask/metamask-extension/pull/16503))
|
||||||
- [FLASK] Fix a crash that happens after snap install ([#16526](https://github.com/MetaMask/metamask-extension/pull/16526))
|
- [FLASK] Fix a crash that happens after snap install ([#16526](https://github.com/MetaMask/metamask-extension/pull/16526))
|
||||||
- [FLASK] Fix usage of wrong `ethereum` global for `ethereum` endowment ([#16932](https://github.com/MetaMask/metamask-extension/pull/16932))
|
- [FLASK] Fix usage of wrong `ethereum` global for `ethereum` endowment ([#16932](https://github.com/MetaMask/metamask-extension/pull/16932))
|
||||||
|
## [10.23.1]
|
||||||
|
### Fixed
|
||||||
|
- Fix incorrectly displaying "New Contract" instead of the recipient address, on the header from the Confirmation page ([#16961](https://github.com/MetaMask/metamask-extension/pull/16961))
|
||||||
|
|
||||||
## [10.23.0]
|
## [10.23.0]
|
||||||
### Added
|
### Added
|
||||||
@ -3398,6 +3401,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|||||||
|
|
||||||
[Unreleased]: https://github.com/MetaMask/metamask-extension/compare/v10.24.0...HEAD
|
[Unreleased]: https://github.com/MetaMask/metamask-extension/compare/v10.24.0...HEAD
|
||||||
[10.24.0]: https://github.com/MetaMask/metamask-extension/compare/v10.23.0...v10.24.0
|
[10.24.0]: https://github.com/MetaMask/metamask-extension/compare/v10.23.0...v10.24.0
|
||||||
|
[Unreleased]: https://github.com/MetaMask/metamask-extension/compare/v10.23.1...HEAD
|
||||||
|
[10.23.1]: https://github.com/MetaMask/metamask-extension/compare/v10.23.0...v10.23.1
|
||||||
[10.23.0]: https://github.com/MetaMask/metamask-extension/compare/v10.22.3...v10.23.0
|
[10.23.0]: https://github.com/MetaMask/metamask-extension/compare/v10.22.3...v10.23.0
|
||||||
[10.22.3]: https://github.com/MetaMask/metamask-extension/compare/v10.22.2...v10.22.3
|
[10.22.3]: https://github.com/MetaMask/metamask-extension/compare/v10.22.2...v10.22.3
|
||||||
[10.22.2]: https://github.com/MetaMask/metamask-extension/compare/v10.22.1...v10.22.2
|
[10.22.2]: https://github.com/MetaMask/metamask-extension/compare/v10.22.1...v10.22.2
|
||||||
|
@ -135,7 +135,7 @@ describe('Send ETH non-contract address with data that matches ERC20 transfer da
|
|||||||
|
|
||||||
await driver.clickElement({ text: 'Next', tag: 'button' });
|
await driver.clickElement({ text: 'Next', tag: 'button' });
|
||||||
|
|
||||||
await driver.clickElement({ text: 'New contract' });
|
await driver.clickElement({ text: '0xc42...cd28' });
|
||||||
|
|
||||||
const recipientAddress = await driver.findElements({
|
const recipientAddress = await driver.findElements({
|
||||||
text: '0xc427D562164062a23a5cFf596A4a3208e72Acd28',
|
text: '0xc427D562164062a23a5cFf596A4a3208e72Acd28',
|
||||||
|
@ -100,7 +100,7 @@ describe('Confirm Page Container Container Test', () => {
|
|||||||
expect(senderRecipient).toBeInTheDocument();
|
expect(senderRecipient).toBeInTheDocument();
|
||||||
});
|
});
|
||||||
it('should render recipient as address', () => {
|
it('should render recipient as address', () => {
|
||||||
const recipientName = screen.queryByText('New contract');
|
const recipientName = screen.queryByText(shortenAddress(props.toAddress));
|
||||||
expect(recipientName).toBeInTheDocument();
|
expect(recipientName).toBeInTheDocument();
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -126,7 +126,7 @@ describe('Confirm Page Container Container Test', () => {
|
|||||||
|
|
||||||
describe('Contact/AddressBook name should appear in recipient header', () => {
|
describe('Contact/AddressBook name should appear in recipient header', () => {
|
||||||
it('should not show add to address dialog if recipient is in contact list and should display contact name', () => {
|
it('should not show add to address dialog if recipient is in contact list and should display contact name', () => {
|
||||||
const addressBookName = 'New contract';
|
const addressBookName = 'test save name';
|
||||||
|
|
||||||
const addressBook = {
|
const addressBook = {
|
||||||
'0x5': {
|
'0x5': {
|
||||||
|
@ -71,6 +71,7 @@ export default class ConfirmPageContainer extends Component {
|
|||||||
toMetadataName: PropTypes.string,
|
toMetadataName: PropTypes.string,
|
||||||
toEns: PropTypes.string,
|
toEns: PropTypes.string,
|
||||||
toNickname: PropTypes.string,
|
toNickname: PropTypes.string,
|
||||||
|
recipientIsOwnedAccount: PropTypes.bool,
|
||||||
// Content
|
// Content
|
||||||
contentComponent: PropTypes.node,
|
contentComponent: PropTypes.node,
|
||||||
errorKey: PropTypes.string,
|
errorKey: PropTypes.string,
|
||||||
@ -143,6 +144,7 @@ export default class ConfirmPageContainer extends Component {
|
|||||||
toMetadataName,
|
toMetadataName,
|
||||||
toEns,
|
toEns,
|
||||||
toNickname,
|
toNickname,
|
||||||
|
recipientIsOwnedAccount,
|
||||||
toAddress,
|
toAddress,
|
||||||
disabled,
|
disabled,
|
||||||
errorKey,
|
errorKey,
|
||||||
@ -261,6 +263,7 @@ export default class ConfirmPageContainer extends Component {
|
|||||||
recipientAddress={toAddress}
|
recipientAddress={toAddress}
|
||||||
recipientEns={toEns}
|
recipientEns={toEns}
|
||||||
recipientNickname={toNickname}
|
recipientNickname={toNickname}
|
||||||
|
recipientIsOwnedAccount={recipientIsOwnedAccount}
|
||||||
/>
|
/>
|
||||||
)}
|
)}
|
||||||
</ConfirmPageContainerHeader>
|
</ConfirmPageContainerHeader>
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
import { connect } from 'react-redux';
|
import { connect } from 'react-redux';
|
||||||
import {
|
import {
|
||||||
getAccountsWithLabels,
|
|
||||||
getAddressBookEntry,
|
getAddressBookEntry,
|
||||||
getIsBuyableChain,
|
getIsBuyableChain,
|
||||||
getNetworkIdentifier,
|
getNetworkIdentifier,
|
||||||
@ -19,7 +18,8 @@ function mapStateToProps(state, ownProps) {
|
|||||||
const defaultToken = getSwapsDefaultToken(state);
|
const defaultToken = getSwapsDefaultToken(state);
|
||||||
const accountBalance = defaultToken.string;
|
const accountBalance = defaultToken.string;
|
||||||
const identities = getMetaMaskIdentities(state);
|
const identities = getMetaMaskIdentities(state);
|
||||||
const toName = getAccountName(identities, to);
|
const ownedAccountName = getAccountName(identities, to);
|
||||||
|
const toName = ownedAccountName || contact?.name;
|
||||||
const toMetadataName = getMetadataContractName(state, to);
|
const toMetadataName = getMetadataContractName(state, to);
|
||||||
|
|
||||||
return {
|
return {
|
||||||
@ -27,9 +27,7 @@ function mapStateToProps(state, ownProps) {
|
|||||||
contact,
|
contact,
|
||||||
toName,
|
toName,
|
||||||
toMetadataName,
|
toMetadataName,
|
||||||
isOwnedAccount: getAccountsWithLabels(state)
|
recipientIsOwnedAccount: Boolean(ownedAccountName),
|
||||||
.map((accountWithLabel) => accountWithLabel.address)
|
|
||||||
.includes(to),
|
|
||||||
to,
|
to,
|
||||||
networkIdentifier,
|
networkIdentifier,
|
||||||
accountBalance,
|
accountBalance,
|
||||||
|
@ -104,6 +104,7 @@ export function RecipientWithAddress({
|
|||||||
recipientEns,
|
recipientEns,
|
||||||
recipientName,
|
recipientName,
|
||||||
recipientMetadataName,
|
recipientMetadataName,
|
||||||
|
recipientIsOwnedAccount,
|
||||||
}) {
|
}) {
|
||||||
const t = useI18nContext();
|
const t = useI18nContext();
|
||||||
const [showNicknamePopovers, setShowNicknamePopovers] = useState(false);
|
const [showNicknamePopovers, setShowNicknamePopovers] = useState(false);
|
||||||
@ -127,7 +128,7 @@ export function RecipientWithAddress({
|
|||||||
<div
|
<div
|
||||||
className="sender-to-recipient__party sender-to-recipient__party--recipient sender-to-recipient__party--recipient-with-address"
|
className="sender-to-recipient__party sender-to-recipient__party--recipient sender-to-recipient__party--recipient-with-address"
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
if (recipientName) {
|
if (recipientIsOwnedAccount) {
|
||||||
setAddressCopied(true);
|
setAddressCopied(true);
|
||||||
copyToClipboard(checksummedRecipientAddress);
|
copyToClipboard(checksummedRecipientAddress);
|
||||||
} else {
|
} else {
|
||||||
@ -163,6 +164,7 @@ export function RecipientWithAddress({
|
|||||||
recipientNickname ||
|
recipientNickname ||
|
||||||
recipientMetadataName ||
|
recipientMetadataName ||
|
||||||
recipientEns ||
|
recipientEns ||
|
||||||
|
shortenAddress(checksummedRecipientAddress) ||
|
||||||
t('newContract')}
|
t('newContract')}
|
||||||
</div>
|
</div>
|
||||||
</Tooltip>
|
</Tooltip>
|
||||||
@ -185,6 +187,7 @@ RecipientWithAddress.propTypes = {
|
|||||||
recipientNickname: PropTypes.string,
|
recipientNickname: PropTypes.string,
|
||||||
addressOnly: PropTypes.bool,
|
addressOnly: PropTypes.bool,
|
||||||
onRecipientClick: PropTypes.func,
|
onRecipientClick: PropTypes.func,
|
||||||
|
recipientIsOwnedAccount: PropTypes.bool,
|
||||||
};
|
};
|
||||||
|
|
||||||
function Arrow({ variant }) {
|
function Arrow({ variant }) {
|
||||||
@ -218,6 +221,7 @@ export default function SenderToRecipient({
|
|||||||
recipientAddress,
|
recipientAddress,
|
||||||
variant,
|
variant,
|
||||||
warnUserOnAccountMismatch,
|
warnUserOnAccountMismatch,
|
||||||
|
recipientIsOwnedAccount,
|
||||||
}) {
|
}) {
|
||||||
const t = useI18nContext();
|
const t = useI18nContext();
|
||||||
const checksummedSenderAddress = toChecksumHexAddress(senderAddress);
|
const checksummedSenderAddress = toChecksumHexAddress(senderAddress);
|
||||||
@ -246,6 +250,7 @@ export default function SenderToRecipient({
|
|||||||
recipientEns={recipientEns}
|
recipientEns={recipientEns}
|
||||||
recipientName={recipientName}
|
recipientName={recipientName}
|
||||||
recipientMetadataName={recipientMetadataName}
|
recipientMetadataName={recipientMetadataName}
|
||||||
|
recipientIsOwnedAccount={recipientIsOwnedAccount}
|
||||||
/>
|
/>
|
||||||
) : (
|
) : (
|
||||||
<div className="sender-to-recipient__party sender-to-recipient__party--recipient">
|
<div className="sender-to-recipient__party sender-to-recipient__party--recipient">
|
||||||
@ -275,4 +280,5 @@ SenderToRecipient.propTypes = {
|
|||||||
onRecipientClick: PropTypes.func,
|
onRecipientClick: PropTypes.func,
|
||||||
onSenderClick: PropTypes.func,
|
onSenderClick: PropTypes.func,
|
||||||
warnUserOnAccountMismatch: PropTypes.bool,
|
warnUserOnAccountMismatch: PropTypes.bool,
|
||||||
|
recipientIsOwnedAccount: PropTypes.bool,
|
||||||
};
|
};
|
||||||
|
Loading…
x
Reference in New Issue
Block a user