You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* Support dynamic internal helper args
* feat: allow runtime scalar custom error args
* feat: add source-shaped dynamic event proof surface
* Emit checked arithmetic helpers
* feat(Codegen): factor solidityPanicPayload for Panic(uint256) emission (#1999) (#2030)
Extract the Panic(uint256) revert payload (selector 0x4e487b71 + one ABI word
holding the panic code) into a reusable solidityPanicPayload builder so panic
emission is compiler-owned and reusable for checked-arithmetic paths; assert
the encoded code words (mstore(4, 17/18)) in the arithmetic-panic smoke test.
* feat: self-delegate multicall helper (#1997) (#2029)
* feat: add self-delegate multicall helper
* fix(verity): multicall offset-wrap bound check + documented trusted ECM (#2029)
* fix(merge): drop duplicate internal-call helpers from Compile.lean
The #1997 refactor moved findInternalFunctionForCall?, compileInternalCallArg,
compileInternalCallArgsWithParams, and compileInternalCallArgs into
ExpressionCompile.lean. The merge of origin/main kept the stale copies in
Compile.lean too, producing "already been declared" errors. Remove the stale
copies; ExpressionCompile.lean is the single source.
* fix(proofs): set noCheckedArithmetic on scalarEventSmoke supported spec
The merge brought in main's scalar-events supported-spec smoke test, which
the SupportedSpecSurfaceWithScalarEvents struct now requires to discharge the
noCheckedArithmetic obligation added in this PR. Prove it by simp over the
spec definitions.
* fix(merge): restore CompilationModelFeatureTest content dropped by botched origin/main merge
The eb9fadb merge of origin/main into task/1993a-checked-arith dropped ~3385
lines of origin/main test content and left the namespace structure broken
(InternalHelperDynamicArgs never closed), causing the compiler-regressions CI
job to fail with a parse error. Restore origin/main's full feature-test file and
re-graft task/1993a's unique checked-arithmetic helper assertions on top, so the
union of both sides' test cases is preserved.
Copy file name to clipboardExpand all lines: AXIOMS.md
+1Lines changed: 1 addition & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -245,6 +245,7 @@ call-buffer-disjoint-from-heap theorem live at `Verity.EVM.Layout`.
245
245
|`Calls.withReturn`|`external_call_abi_interface`| Target contract function matches declared selector and ABI |
246
246
|`Calls.callWithValue` / `Calls.callWithValueBytes`|`generic_call_with_value_interface`| Target accepts caller-provided calldata and ETH value; failures bubble returndata |
247
247
|`Calls.bubblingValueCall` / `Calls.bubblingValueCallNoOutput`|`generic_low_level_value_call_interface`| Generic low-level `call` mechanics are emitted; calldata and successful returndata meaning remain package assumptions |
248
+
|`Calls.selfDelegateMulticallBytes`|`self_delegate_multicall_bytes_revert_bubbling`| Trusted ECM boundary for Solidity-style `multicall(bytes[])`: generated Yul is audited to reject malformed/wrapping offsets, self-`delegatecall` each calldata payload, and bubble revert returndata exactly; full non-empty multicall semantics remain assumed |
248
249
|`Hashing.abiEncodeStaticWords`|`keccak256_memory_slice_matches_evm`, `abi_standard_static_word_layout`| Static ABI words are laid out contiguously before Keccak |
249
250
|`Hashing.abiEncodePackedWords` / `Hashing.abiEncodePacked`|`keccak256_memory_slice_matches_evm`, `abi_packed_static_word_layout`| Static packed words are laid out contiguously before Keccak |
250
251
|`Hashing.abiEncodeStaticArray`|`keccak256_memory_slice_matches_evm`, `abi_standard_dynamic_array_static_element_layout`| Single dynamic-array ABI encoding with static-width elements is laid out before Keccak |
0 commit comments