MetaMask / metamask-extension

:globe_with_meridians: :electric_plug: The MetaMask browser extension enables browsing Ethereum blockchain enabled websites
https://metamask.io
Other
11.57k stars 4.73k forks source link

[Bug]: Attempt to send non-native token on BNB Chain in Firefox results in BigNumberError #24456

Closed sleepytanya closed 1 week ago

sleepytanya commented 3 weeks ago

Describe the bug

Attempt to send non-native token on BNB Chain results in BigNumberError. This behavior is observed on Firefox only. This bug seems to be specific to Solana token. Other tokens might be affected as well but I haven't checked all of them. Disabling and enabling extension, reloading doesn't solve the problem. MetaMask has to be re-installed.

Expected behavior

-

Screenshots/Recordings

https://github.com/MetaMask/metamask-extension/assets/104780023/3d074e1e-6b39-4e24-8988-5dba53179d7b

Steps to reproduce

  1. Switch to BNB Chain
  2. Start Send transaction
  3. Select Solana to send and Dogecoin for recipient to receive
  4. See the error

Error messages or log output

Error details

    Message: times() number type has more than 15 significant digits: 143.8296729040208

    Code: BigNumber Error
    Stack:

    Error@moz-extension://f40e00f6-3ab0-4346-9c9d-fce7ac56fb2b/scripts/runtime-lavamoat.js:8007:17
    ee@moz-extension://f40e00f6-3ab0-4346-9c9d-fce7ac56fb2b/common-2.js:14:258011
    q@moz-extension://f40e00f6-3ab0-4346-9c9d-fce7ac56fb2b/common-2.js:14:256238
    L.mul@moz-extension://f40e00f6-3ab0-4346-9c9d-fce7ac56fb2b/common-2.js:14:267589
    n.useBalanceChanges/T<@moz-extension://f40e00f6-3ab0-4346-9c9d-fce7ac56fb2b/ui-6.js:1:361617
    n.useBalanceChanges/T<@moz-extension://f40e00f6-3ab0-4346-9c9d-fce7ac56fb2b/ui-6.js:1:361438
    n.useBalanceChanges@moz-extension://f40e00f6-3ab0-4346-9c9d-fce7ac56fb2b/ui-6.js:1:361697
    n.SimulationDetails@moz-extension://f40e00f6-3ab0-4346-9c9d-fce7ac56fb2b/ui-6.js:1:356441
    ba@moz-extension://f40e00f6-3ab0-4346-9c9d-fce7ac56fb2b/common-5.js:1:140802
    Ja@moz-extension://f40e00f6-3ab0-4346-9c9d-fce7ac56fb2b/common-5.js:1:149010
    Is@moz-extension://f40e00f6-3ab0-4346-9c9d-fce7ac56fb2b/common-5.js:1:186806
    Au@moz-extension://f40e00f6-3ab0-4346-9c9d-fce7ac56fb2b/common-5.js:1:171543
    Ru@moz-extension://f40e00f6-3ab0-4346-9c9d-fce7ac56fb2b/common-5.js:1:171466
    Tu@moz-extension://f40e00f6-3ab0-4346-9c9d-fce7ac56fb2b/common-5.js:1:168814
    eo/<@moz-extension://f40e00f6-3ab0-4346-9c9d-fce7ac56fb2b/common-5.js:1:127212
    n.unstable_runWithPriority@moz-extension://f40e00f6-3ab0-4346-9c9d-fce7ac56fb2b/common-5.js:3:13694
    Qi@moz-extension://f40e00f6-3ab0-4346-9c9d-fce7ac56fb2b/common-5.js:1:126921
    eo@moz-extension://f40e00f6-3ab0-4346-9c9d-fce7ac56fb2b/common-5.js:1:127159
    Ji@moz-extension://f40e00f6-3ab0-4346-9c9d-fce7ac56fb2b/common-5.js:1:127092
    yu@moz-extension://f40e00f6-3ab0-4346-9c9d-fce7ac56fb2b/common-5.js:1:165580
    Aa@moz-extension://f40e00f6-3ab0-4346-9c9d-fce7ac56fb2b/common-5.js:1:144461
    r/</<@moz-extension://f40e00f6-3ab0-4346-9c9d-fce7ac56fb2b/ui-5.js:1:281467
    promise callback*r/<@moz-extension://f40e00f6-3ab0-4346-9c9d-fce7ac56fb2b/ui-5.js:1:281454
    ks@moz-extension://f40e00f6-3ab0-4346-9c9d-fce7ac56fb2b/common-5.js:1:159217
    Bu@moz-extension://f40e00f6-3ab0-4346-9c9d-fce7ac56fb2b/common-5.js:1:183730
    n.unstable_runWithPriority@moz-extension://f40e00f6-3ab0-4346-9c9d-fce7ac56fb2b/common-5.js:3:13694
    Qi@moz-extension://f40e00f6-3ab0-4346-9c9d-fce7ac56fb2b/common-5.js:1:126921
    $u@moz-extension://f40e00f6-3ab0-4346-9c9d-fce7ac56fb2b/common-5.js:1:183491
    Tu@moz-extension://f40e00f6-3ab0-4346-9c9d-fce7ac56fb2b/common-5.js:1:168737
    eo/<@moz-extension://f40e00f6-3ab0-4346-9c9d-fce7ac56fb2b/common-5.js:1:127212
    n.unstable_runWithPriority@moz-extension://f40e00f6-3ab0-4346-9c9d-fce7ac56fb2b/common-5.js:3:13694
    Qi@moz-extension://f40e00f6-3ab0-4346-9c9d-fce7ac56fb2b/common-5.js:1:126921
    eo@moz-extension://f40e00f6-3ab0-4346-9c9d-fce7ac56fb2b/common-5.js:1:127159
    Ji@moz-extension://f40e00f6-3ab0-4346-9c9d-fce7ac56fb2b/common-5.js:1:127092
    xu@moz-extension://f40e00f6-3ab0-4346-9c9d-fce7ac56fb2b/common-5.js:1:169108
    notify@moz-extension://f40e00f6-3ab0-4346-9c9d-fce7ac56fb2b/common-5.js:1:263225
    t.notifyNestedSubs@moz-extension://f40e00f6-3ab0-4346-9c9d-fce7ac56fb2b/common-5.js:1:262791
    t.handleChangeWrapper@moz-extension://f40e00f6-3ab0-4346-9c9d-fce7ac56fb2b/common-5.js:1:262859
    g@moz-extension://f40e00f6-3ab0-4346-9c9d-fce7ac56fb2b/common-5.js:1:313181
    r/</</<@moz-extension://f40e00f6-3ab0-4346-9c9d-fce7ac56fb2b/common-5.js:1:311199
    setupProxy/n/e[t]@moz-extension://f40e00f6-3ab0-4346-9c9d-fce7ac56fb2b/scripts/sentry-install.js:1:693
    dispatch@moz-extension://f40e00f6-3ab0-4346-9c9d-fce7ac56fb2b/common-5.js:1:314158
    K/<@moz-extension://f40e00f6-3ab0-4346-9c9d-fce7ac56fb2b/common-8.js:1:279879
    r/</</<@moz-extension://f40e00f6-3ab0-4346-9c9d-fce7ac56fb2b/common-5.js:1:311190
    O/<@moz-extension://f40e00f6-3ab0-4346-9c9d-fce7ac56fb2b/ui-5.js:1:330387
    onNotification/<@moz-extension://f40e00f6-3ab0-4346-9c9d-fce7ac56fb2b/ui-9.js:1:410401
    r@moz-extension://f40e00f6-3ab0-4346-9c9d-fce7ac56fb2b/common-0.js:1:660525
    emit@moz-extension://f40e00f6-3ab0-4346-9c9d-fce7ac56fb2b/common-0.js:1:660930
    handleResponse@moz-extension://f40e00f6-3ab0-4346-9c9d-fce7ac56fb2b/ui-9.js:1:410894
    a.prototype.emit@moz-extension://f40e00f6-3ab0-4346-9c9d-fce7ac56fb2b/common-3.js:21:119731
    w@moz-extension://f40e00f6-3ab0-4346-9c9d-fce7ac56fb2b/common-5.js:1:282758
    v@moz-extension://f40e00f6-3ab0-4346-9c9d-fce7ac56fb2b/common-5.js:1:282573
    y.prototype.push@moz-extension://f40e00f6-3ab0-4346-9c9d-fce7ac56fb2b/common-5.js:1:283387
    _write@moz-extension://f40e00f6-3ab0-4346-9c9d-fce7ac56fb2b/common-4.js:26:315830
    y@moz-extension://f40e00f6-3ab0-4346-9c9d-fce7ac56fb2b/common-5.js:1:295998
    g.prototype.write/a<@moz-extension://f40e00f6-3ab0-4346-9c9d-fce7ac56fb2b/common-5.js:1:299180
    g.prototype.write@moz-extension://f40e00f6-3ab0-4346-9c9d-fce7ac56fb2b/common-5.js:1:299206
    l@moz-extension://f40e00f6-3ab0-4346-9c9d-fce7ac56fb2b/common-3.js:21:168244
    a.prototype.emit@moz-extension://f40e00f6-3ab0-4346-9c9d-fce7ac56fb2b/common-3.js:21:119731
    H@moz-extension://f40e00f6-3ab0-4346-9c9d-fce7ac56fb2b/common-3.js:21:161926
    U@moz-extension://f40e00f6-3ab0-4346-9c9d-fce7ac56fb2b/common-3.js:21:161656
    F.prototype.push@moz-extension://f40e00f6-3ab0-4346-9c9d-fce7ac56fb2b/common-3.js:21:162256
    _onMessage@moz-extension://f40e00f6-3ab0-4346-9c9d-fce7ac56fb2b/common-3.js:21:123299
    i/<@moz-extension://f40e00f6-3ab0-4346-9c9d-fce7ac56fb2b/common-3.js:21:123095

Version

latest build

Build type

None

Browser

Firefox

Operating system

MacOS

Hardware wallet

No response

Additional context

No response

Severity

No response

hjetpoluru commented 3 weeks ago

This issue happens only in the firefox and hence assigned to team-extension-platform.

sleepytanya commented 3 weeks ago

@hjetpoluru This bug appears to have been introduced by recent send+swap PRs and is not present in the develop branch or in production. To ensure this issue receives the focused attention it requires, I'll be reapplying the send+swap label and reassigning it to the wallet UX team. Thank you, Harika! Here is the FF production video:

https://github.com/MetaMask/metamask-extension/assets/104780023/56ccc228-ede8-4879-aade-0a3edc0ca57b

hjetpoluru commented 3 weeks ago

Thanks Tanya.

sleepytanya commented 2 weeks ago

@ejwessel @BZahory I'm not seeing the issue on the latest build:

https://github.com/MetaMask/metamask-extension/assets/104780023/975fe627-1019-4541-b592-a31e5dd75fe5

BZahory commented 1 week ago

@ejwessel @BZahory I'm not seeing the issue on the latest build:

nonNativeBnb.mov

Awesome! Closing