Open src/ReturnBool.sol and test/ReturnBool.t.sol. Your goal is to write assembly code in each puzzle that makes the test pass. You may only write assembly code.
Run the test with
forge test --mp test/ReturnBool.t.solNow repeat this with the other puzzles.
Go through the puzzles sequentially
- ReturnBool (solved)
- SimpleRevert (solved)
- RevertWithSelector (solved)
- Return42 (solved)
- RevertWithError (solved)
- RevertWithSelectorPlusArgs (solved)
- RevertWithPanic (solved)
- Double (solved)
- Calculator (solved)
- DoubleOrNothing (solved)
- MaxOfTwoValues (solved)
- IsPrime (solved)
- CalldataLength (solved)
- KeccakX (solved)
- KeccakFirstCalldata (solved)
- KeccakSecondCalldata (solved)
- LengthOfDynamicArray (solved)
- MaxOfArray (solved)
- ReadFromStorage (solved)
- WriteToStorage (solved)
- ReadFromFixedArray (solved)
- Tenary (solved)
- WriteToFixedArray
- ReadFromDynamicArray
- WriteToDynamicArray
- ReadFromMapping
- WriteToMapping
- PushToDynamicArray
- PopFromDynamicArray
- ReadFromDoubleMapping
- ReadFromDynamicArrayAndRevertOnFailure
- WriteToDoubleMapping
- WriteDynamicArrayToStorage
- WriteTwoDynamicArraysToStorage
- ReadFromPacked128
- WriteToPacked128
- ReadFromPacked64
- WriteToPacked64
- WriteToPackedDynamicArray64
- ReadFromMappingInStruct ****
- EventWithoutData
- EventWithData
- EventWithIndexedData
- EventWithMultipleData
- AnonymonusEventWithoutData
- AnonymonusEventWithData
- AnonymonusEventWithIndexedData
- AnonymonusEventWithComplexData
- EventWithComplexData
- BatchEvents
- CalculatorInFallback
- ReturnOppositeBool
- ReturnTwoBools
- ReturnArrayOfUint256
- ReturnString
- ReturnBytes
- FizzBuzz
- ReturnTupleOfString
- ReturnSimpleStruct
- ReturnTupleOfUint256String
- ReturnTupleOfStringUnit256
- SendEther
- SendAllEther
- PaymentSplitter
- SendBack
- BasicBank
- SimpleCall
- SimpleCallWithValue
- Approve
- TransferFrom
- BalanceOf
- CreateSimple
- CreateSimplePayable
- CreateSimpleCalldata
- DeployOneByte
- DeployNBytes
- SquareRoot
- Division
- AbsoluteValue
- SetBit
- Log2