## Description
gas smashing per se is working and there are tests for it.
There are conversations in flight about how to do for the braking change
with SDK and Wallet (@patrickkuo @666lcz @Jordan-Mysten).
Integration with Programmable Transaction (@tnowacki) should be good to
go modulo some corrections.
@oxade please take a look if you can
## Test Plan
Added unit tests
---
If your changes are not user-facing and not a breaking change, you can
skip the following section. Otherwise, please indicate what changed, and
then add to the Release Notes section as highlighted during the release
process.
### Type of Change (Check all that apply)
- [x] user-visible impact
- [x] breaking change for a client SDKs
- [x] breaking change for FNs (FN binary must upgrade)
- [x] breaking change for validators or node operators (must upgrade
binaries)
- [x] breaking change for on-chain data layout
- [x] necessitate either a data wipe or data migration
### Release notes
---------
Co-authored-by: Todd Nowacki <tmn@mystenlabs.com>