All tests are passing.
All manual testing results in almost the same result as the last rebalance.
1 account executes the same trades, but one of the trades amount is actually different: 4910110 on live rebalance compared to 4910080 in simulation.
This is a little weird to me, because we are fetching the exact prices and configs from mainnet, meaning the rebalancer calculation should result in the exact same trades and trade amounts, and they generally do, except for a single trade in 1 account.
That account have another trade to be executed, which does gives the exact same result, and the total value of the account is also exactly the same.
This leads me to believe there is a very small rounding difference (as you can see, its a 80 uDENOM diff), which makes sense given the previous SignedDecimal was handling operation on the unsigned decimal version, while the Std implementation is handling signed 128 operations.
Switched to the std version of SignedDecimal.
All tests are passing. All manual testing results in almost the same result as the last rebalance.
1 account executes the same trades, but one of the trades amount is actually different:
4910110
on live rebalance compared to4910080
in simulation. This is a little weird to me, because we are fetching the exact prices and configs from mainnet, meaning the rebalancer calculation should result in the exact same trades and trade amounts, and they generally do, except for a single trade in 1 account. That account have another trade to be executed, which does gives the exact same result, and the total value of the account is also exactly the same.This leads me to believe there is a very small rounding difference (as you can see, its a 80
uDENOM
diff), which makes sense given the previous SignedDecimal was handling operation on the unsigned decimal version, while the Std implementation is handling signed 128 operations.