Skip to content

Sync upstream v2.7.3 (merge conflicts)#2

Closed
JOY (JOY) wants to merge 4 commits into
mainfrom
sync-upstream-v2.7.3
Closed

Sync upstream v2.7.3 (merge conflicts)#2
JOY (JOY) wants to merge 4 commits into
mainfrom
sync-upstream-v2.7.3

Conversation

@JOY
Copy link
Copy Markdown

Test PR creation manually — should succeed if branch state is OK

tom goriunov (tom2drum) and others added 4 commits April 8, 2026 11:02
* debug wallet client error

* Support raw text/html for NFT animation on the token instance page

Resolves blockscout#2609

* fix writing to a contract with dynamic provider

* change default interval for hot contracts

* wait for load event of NFT embed frame

* update screenshots

* add network validation mode to dynamic provider

* add rootstock mainnet preset

* update preset for rootsrock mainnet

* [skip ci] disable essential dapps for rootstock mainnet

* pass required flag to FormFieldSelect controller

* bump dynamic version

* fix rabby wallet tx write
Replaces text/plain with application/json for proper ingestion on the backend
@JOY JOY (JOY) closed this Apr 26, 2026
@JOY JOY (JOY) deleted the sync-upstream-v2.7.3 branch April 26, 2026 23:37
Copy link
Copy Markdown

@gemini-code-assist gemini-code-assist Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request introduces the Rootstock network configuration, updates the project license to the Blockscout Software Licence, and implements a more secure method for embedding interactive NFTs using a dedicated HTML shell and specific CSP policies. Key feedback includes resolving several merge conflict markers found in package files and CSP logic, addressing a critical issue where gas estimation was incorrectly set to zero for certain wallet types, and fixing a typo in the NFT component. Additionally, it is recommended to use existing constants instead of magic strings for consistency.

Comment on lines +4 to +11
<<<<<<< HEAD
"private": true,
"type": "module",
"main": "dist/index.js",
"license": "MIT",
=======
"main": "index.js",
>>>>>>> v2.7.3
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

critical

Unresolved merge conflict markers detected. Choosing the modern configuration (ES modules) is recommended for this tool.

  "private": true,
  "type": "module",
  "main": "dist/index.js",
  "license": "MIT",

Comment thread nextjs/csp/index.ts
Comment on lines +6 to +12
<<<<<<< HEAD
=======
const marketplaceFeature = appConfig.features.marketplace;

const NFT_HTML_EMBED_PATH = '/nft-html-embed.html';

>>>>>>> v2.7.3
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

critical

Unresolved merge conflict markers detected. The marketplaceFeature variable is unused and relies on an undefined appConfig, so it should be removed. Only NFT_HTML_EMBED_PATH is required for the logic below.

const NFT_HTML_EMBED_PATH = '/nft-html-embed.html';

Comment thread package.json
Comment on lines +57 to +65
<<<<<<< HEAD
"@dynamic-labs/ethereum": "4.67.2",
"@dynamic-labs/sdk-react-core": "4.67.2",
"@dynamic-labs/wagmi-connector": "4.67.2",
=======
"@dynamic-labs/ethereum": "4.74.1",
"@dynamic-labs/sdk-react-core": "4.74.1",
"@dynamic-labs/wagmi-connector": "4.74.1",
>>>>>>> v2.7.3
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

critical

Unresolved merge conflict markers detected. It is recommended to use the newer versions of the @dynamic-labs dependencies from the upstream sync.

    "@dynamic-labs/ethereum": "4.74.1",
    "@dynamic-labs/sdk-react-core": "4.74.1",
    "@dynamic-labs/wagmi-connector": "4.74.1",

Comment on lines +59 to +60
const estimatedGas = feature.isEnabled && feature.connectorType === 'dynamic' && walletType === 'dynamicwaas' ?
BigInt(0) : undefined;
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

high

Setting estimatedGas to BigInt(0) for dynamicwaas is highly likely to cause transaction failures. Standard EVM transactions require a non-zero gas limit. If manual estimation is being skipped for this wallet type, passing undefined is the correct way to let the wallet or provider perform the estimation automatically.

      const estimatedGas = undefined;

Comment on lines +85 to +86
const estimatedGas = feature.isEnabled && feature.connectorType === 'dynamic' && walletType === 'dynamicwaas' ?
BigInt(0) : undefined;
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

high

Setting estimatedGas to BigInt(0) for dynamicwaas is highly likely to cause transaction failures. Please use undefined to allow the wallet or provider to perform the estimation.

    const estimatedGas = undefined;

Comment thread ui/shared/nft/NftHtml.tsx
const [ isLoaded, setIsLoaded ] = React.useState(false);

const handleLoad = React.useCallback(() => {
const handleMesageFromFrame = React.useCallback((event: MessageEvent) => {
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

Typo in function name: handleMesageFromFrame should be handleMessageFromFrame. Please update the definition and all its references (lines 44, 49, 74, 81).

Suggested change
const handleMesageFromFrame = React.useCallback((event: MessageEvent) => {
const handleMessageFromFrame = React.useCallback((event: MessageEvent) => {

Comment thread ui/hotContracts/utils.ts
}

return INTERVAL_ITEMS[0].id;
return '1d';
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

Avoid using a magic string here. It is better to use the existing constant INTERVAL_ITEMS[0].id to maintain consistency with the rest of the utility functions in this file.

Suggested change
return '1d';
return INTERVAL_ITEMS[0].id;

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants