diff --git a/packages/mask/src/social-network-adaptor/twitter.com/collecting/identity.ts b/packages/mask/src/social-network-adaptor/twitter.com/collecting/identity.ts index b2f87ca5d066..c9f1759efde2 100644 --- a/packages/mask/src/social-network-adaptor/twitter.com/collecting/identity.ts +++ b/packages/mask/src/social-network-adaptor/twitter.com/collecting/identity.ts @@ -125,26 +125,18 @@ function resolveCurrentVisitingIdentityInner( const assign = async () => { await delay(5000) const bio = getBio() - const homepage = getPersonalHomepage() const nickname = getNickname() const handle = getTwitterId() const avatar = getAvatar() + const homepage = await Services.Helper.resolveTCOLink(getPersonalHomepage()) ref.value = { identifier: ProfileIdentifier.of(twitterBase.networkIdentifier, handle).unwrapOr(undefined), nickname, avatar, bio, - homepage, + homepage: homepage ?? '', } - - Services.Helper.resolveTCOLink(homepage).then((link) => { - if (cancel?.aborted) return - ref.value = { - ...ref.value, - homepage: link ?? homepage, - } - }) } const createWatcher = (selector: LiveSelector) => { new MutationObserverWatcher(selector) diff --git a/packages/mask/src/social-network-adaptor/twitter.com/utils/user.ts b/packages/mask/src/social-network-adaptor/twitter.com/utils/user.ts index d0f6a1f62a6e..2279ed63689c 100644 --- a/packages/mask/src/social-network-adaptor/twitter.com/utils/user.ts +++ b/packages/mask/src/social-network-adaptor/twitter.com/utils/user.ts @@ -49,7 +49,7 @@ export const getBio = () => { export const getPersonalHomepage = () => { const node = personalHomepageSelector().evaluate() - return node?.getAttribute('href') || '' + return node?.getAttribute('href') ?? '' } export const getAvatar = () => { diff --git a/packages/plugins/EVM/src/state/Connection/connection.ts b/packages/plugins/EVM/src/state/Connection/connection.ts index 801e1d81506f..8188a68f4164 100644 --- a/packages/plugins/EVM/src/state/Connection/connection.ts +++ b/packages/plugins/EVM/src/state/Connection/connection.ts @@ -170,6 +170,7 @@ class Connection implements EVM_Connection { ...initial, overrides: { from: this.account, + chainId: this.chainId, ...initial?.overrides, ...overrides?.overrides, }, diff --git a/packages/web3-shared/evm/utils/contract.ts b/packages/web3-shared/evm/utils/contract.ts index 8efc516a3306..0ec0d9d7a33e 100644 --- a/packages/web3-shared/evm/utils/contract.ts +++ b/packages/web3-shared/evm/utils/contract.ts @@ -1,6 +1,6 @@ import type Web3 from 'web3' -import type { AbiItem } from 'web3-utils' -import { omit } from 'lodash-unified' +import { AbiItem, toHex } from 'web3-utils' +import { pick } from 'lodash-unified' import type { BaseContract, NonPayableTransactionObject, @@ -15,15 +15,24 @@ export async function encodeTransaction( transaction: PayableTransactionObject | NonPayableTransactionObject, overrides?: Partial, ) { - const encoded: Transaction = { - from: contract.defaultAccount ?? undefined, + const encoded: PayableTx & { + maxPriorityFeePerGas?: string + maxFeePerGas?: string + } = { + from: (overrides?.from as string) ?? contract.defaultAccount ?? undefined, to: contract.options.address, data: transaction.encodeABI(), - ...overrides, + value: overrides?.value ? toHex(overrides.value) : undefined, + gas: overrides?.gas ? toHex(overrides.gas) : undefined, + gasPrice: overrides?.gasPrice ? toHex(overrides.gasPrice) : undefined, + maxPriorityFeePerGas: overrides?.maxPriorityFeePerGas ? toHex(overrides.maxPriorityFeePerGas) : undefined, + maxFeePerGas: overrides?.maxFeePerGas ? toHex(overrides.maxFeePerGas) : undefined, + nonce: overrides?.nonce ? toHex(overrides.nonce) : undefined, + chainId: overrides?.chainId ? toHex(overrides.chainId) : undefined, } if (!encoded.gas) { - encoded.gas = await transaction.estimateGas(overrides as PayableTx) + encoded.gas = await transaction.estimateGas(pick(encoded, ['from', 'value'])) } return encoded