v3.16.0
v3.16.0 pins transaction builds to a block and simulates a built transaction as a signer would receive it. It applies to teams that preview a transaction before signing and compare it with a simulation at the same block.
New
1. Transaction builds pinned to a block
Now: Web3Context.build_transaction and estimate_gas, and their Call mirrors, take a keyword block (default "latest"). It pins the nonce, base fee and gas estimate to that block. A preview is then reproducible.
Usage: build_transaction(..., block=<block>) builds against the given block. A build and a VaultSimulator run pinned to the same block read the same state.
2. Simulating a built transaction as is
Now: VaultSimulator.add_transaction(tx, label=None) sends a complete transaction dict to eth_simulateV1 unchanged: nonce, gas, EIP-1559 fees, chainId, value, type and accessList. It counts toward success and gas_used like execute. An unknown field raises an error.
Usage: add_transaction takes the output of build_transaction or Call.build_transaction. The simulated transaction is the one a signer receives.
Upgrade with pip install -U ipor-fusion. Full changelog: v3.16.0 on GitHub.
These notes describe changes to the IPOR Fusion SDK. They are not operational or financial advice. Operators are responsible for testing changes against their own vaults and configuration before use.