From d38937095e3b00a03312545deb2d7f25d730d3f2 Mon Sep 17 00:00:00 2001 From: navelbuffle Date: Fri, 3 Jan 2025 09:21:57 +0300 Subject: [PATCH] extend Descriptor with a boolean type --- onchain/src/Push3Interpreter.sol | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/onchain/src/Push3Interpreter.sol b/onchain/src/Push3Interpreter.sol index 7a70ffd..4049a63 100644 --- a/onchain/src/Push3Interpreter.sol +++ b/onchain/src/Push3Interpreter.sol @@ -108,11 +108,21 @@ contract Push3Interpreter { return makeDescriptor(CodeTag.INT_LITERAL, 0, 0, masked); } + function makeBoolLiteral(bool val) internal pure returns (uint256) { + uint256 masked; + if (val) masked = uint256(1); + return makeDescriptor(CodeTag.BOOL_LITERAL, 0, 0, masked); + } + function extractInt32(uint256 desc) internal pure returns (int32) { // read the low 32 bits return int32(uint32(getLow184(desc))); } + function extractBool(uint256 desc) internal pure returns (bool) { + return desc & 1 == 1; + } + // ----------------------------------------------------- // 3. HELPER READS // -----------------------------------------------------