Why Isn't Eternl Supported?

Eternl (at the time of writing this documentation) has a breaking bug that makes it unusable with Butane. Transactions on Butane involve using very large numbers for things like prices, and Eternl errors when trying to parse transactions that use numbers too large, making users unable to sign and submit transactions with the Eternl wallet. This issue has been acknowledged by their team, and once fixed, support for the wallet on Butane can be enabled.

More technically, Eternl uses CSL for parsing transactions to display information to their users. In doing so, it attempts to call the to_json() method on the list of transaction redeemers. In converting from PlutusData to JSON, there is a current limitation whereby integers must fit within the bounds of a rust i64, and errors are thrown in the to_json() method if an integer falls outside that given range (see comments in the CSL source here). Butane uses very high precision for the prices given by its price feed, and so the numerators and denominators passed in the redeemers for the price feed often exceed the maximum value permitted by the to_json() method, causing Eternl to often throw an error as soon as you attempt to sign and submit a transaction on Butane. Unfortunately, this makes the wallet unusable with Butane until the error is fixed.

You can read more about this issue here:

Last updated