Skip to content

fix(statics): add EIP1559 to ETH_FEATURES_WITH_FRANKFURT for v4 forwarder flush#9122

Draft
bitgo-ai-agent-dev[bot] wants to merge 1 commit into
masterfrom
coins-558-sushi-v4-forwarder-flush
Draft

fix(statics): add EIP1559 to ETH_FEATURES_WITH_FRANKFURT for v4 forwarder flush#9122
bitgo-ai-agent-dev[bot] wants to merge 1 commit into
masterfrom
coins-558-sushi-v4-forwarder-flush

Conversation

@bitgo-ai-agent-dev

Copy link
Copy Markdown

What

  • Add CoinFeature.EIP1559 to ETH_FEATURES_WITH_FRANKFURT in coinFeatures.ts
  • Add 'sushi' to the eip1559Coins list in the statics unit test to verify the feature is present
  • Add a regression test in sdk-coin-eth that builds a SUSHI token flush from a v4 forwarder using EIP-1559 fees, confirming correct method ID (0x3ef13367) and calldata encoding

Why

  • BitStamp's ETH hot wallet uses v4 forwarders for deposit addresses. SUSHI tokens deposited into a v4 forwarder were not being flushed to the hot wallet base address.
  • Ethereum mainnet has required EIP1559 (type-2) transactions since the London hard fork (August 2021). Tokens using ETH_FEATURES_WITH_FRANKFURT (including SUSHI, LINK, DAI) lacked the EIP1559 coin feature flag. The BitGo platform checks this flag when deciding the transaction type for flush operations — without it, the platform fell back to a legacy gas model that is incompatible with the v4 forwarder flush path.
  • V4 forwarder flush sends the transaction directly to the forwarder address calling flushTokens(address) (selector 0x3ef13367). EIP1559 is required for this to succeed on Ethereum mainnet.

Test plan

  • yarn run unit-test --scope @bitgo/statics — verifies sushi has the EIP1559 feature
  • yarn run unit-test --scope @bitgo/sdk-coin-eth — verifies the new SUSHI v4 forwarder flush test passes
  • Confirm tokens using ETH_FEATURES_WITH_FRANKFURT (SUSHI, LINK, DAI, etc.) now have EIP1559 in their feature set

Ticket: COINS-558

…rder flush

ETH mainnet has required EIP1559 (type-2) transactions since the London
hard fork (Aug 2021). Tokens on Ethereum using ETH_FEATURES_WITH_FRANKFURT
(e.g. SUSHI, LINK, DAI) lacked the EIP1559 coin feature flag, which caused
the BitGo platform to fall back to legacy transaction format when building
flush transactions for v4 forwarders. V4 forwarders require the flush
transaction to be sent directly to the forwarder address using the
flushTokens(address) method — and this path requires EIP1559 on mainnet.

Add CoinFeature.EIP1559 to ETH_FEATURES_WITH_FRANKFURT so all tokens using
this feature set (including SUSHI) correctly declare EIP1559 support and
receive properly-typed flush transactions from v4 hot wallet forwarders.

Also add a regression test that builds a SUSHI v4 forwarder flush with
EIP1559 fees, confirming the correct method ID and calldata encoding.

Ticket: COINS-558
Session-Id: 11a8d890-1ca4-4c30-acd7-158927258cfd
Task-Id: d32e686b-2479-4535-a80d-0b0ee0871065
@linear-code

linear-code Bot commented Jun 25, 2026

Copy link
Copy Markdown

COINS-558

@bitgo-ai-agent-dev bitgo-ai-agent-dev Bot force-pushed the coins-558-sushi-v4-forwarder-flush branch from 84df90f to 1967a93 Compare June 25, 2026 17:10
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.

0 participants