diff --git a/.devcontainer.json b/.devcontainer.json deleted file mode 100644 index 272e49571..000000000 --- a/.devcontainer.json +++ /dev/null @@ -1,12 +0,0 @@ -{ -"image": "rainprotocol/devcontainer:foundry", -"customizations": { - "vscode": { - "extensions": [ - "JuanBlanco.solidity", - "ms-azuretools.vscode-docker", - "bungcip.better-toml" - ] - } -} -} diff --git a/.env.example b/.env.example deleted file mode 100644 index 63b50c1c3..000000000 --- a/.env.example +++ /dev/null @@ -1,3 +0,0 @@ -CI_DEPLOY_SEPOLIA_RPC_URL= -CI_FORK_SEPOLIA_BLOCK_NUMBER= -CI_FORK_SEPOLIA_DEPLOYER_ADDRESS= \ No newline at end of file diff --git a/.gas-snapshot b/.gas-snapshot index 3b750ce74..88f71765f 100644 --- a/.gas-snapshot +++ b/.gas-snapshot @@ -1,1149 +1,1149 @@ -BaseRainterpreterExternNPE2IERC165Test:testRainterpreterExternNPE2IERC165(bytes4) (runs: 2050, μ: 276310, ~: 276310) -BaseRainterpreterSubParserNPE2CompatibilityTest:testRainterpreterSubParserNPE2Compatibility(bytes32,bytes) (runs: 2050, μ: 655490, ~: 655481) -BaseRainterpreterSubParserNPE2IERC165Test:testRainterpreterSubParserNPE2IERC165(uint32) (runs: 2050, μ: 656376, ~: 656376) -LibAllStandardOpsNPTest:testIntegrityAndOpcodeFunctionPointersLength() (gas: 66743) -LibAllStandardOpsNPTest:testIntegrityFunctionPointersLength() (gas: 12090) -LibAllStandardOpsNPTest:testOpcodeFunctionPointersLength() (gas: 12086) -LibEvalNPFBoundsTest:testEvalNPFBoundsModConstant(uint256) (runs: 2050, μ: 86635, ~: 86635) -LibExternCodecTest:testLibExternCodecEncodeExternCall(uint256,uint256) (runs: 2050, μ: 9449, ~: 9337) -LibExternCodecTest:testLibExternCodecEncodeExternDispatch(uint256,uint256) (runs: 2050, μ: 8620, ~: 8508) -LibInterpreterStateNPStackTraceTest:testStackTraceCall(uint256,uint256,uint256[]) (runs: 2050, μ: 33219, ~: 32808) -LibOpAddTest:testOpAddEval2InputsHappy() (gas: 99920) -LibOpAddTest:testOpAddEval2InputsHappyZero() (gas: 54813) -LibOpAddTest:testOpAddEval2InputsHappyZeroMax() (gas: 96334) -LibOpAddTest:testOpAddEval2InputsHappyZeroOne() (gas: 98937) -LibOpAddTest:testOpAddEval2InputsUnhappy() (gas: 92576) -LibOpAddTest:testOpAddEval3InputsHappy() (gas: 313454) -LibOpAddTest:testOpAddEval3InputsUnhappy() (gas: 636796) -LibOpAddTest:testOpAddEvalOneInput() (gas: 34553) -LibOpAddTest:testOpAddEvalOperandDisallowed() (gas: 91190) -LibOpAddTest:testOpAddEvalTwoOutput() (gas: 41338) -LibOpAddTest:testOpAddEvalZeroInputs() (gas: 28861) -LibOpAddTest:testOpAddEvalZeroOutputs() (gas: 40261) -LibOpAddTest:testOpAddIntegrityHappy((uint256,uint256,uint256,uint256[],uint256,bytes),uint8,uint16) (runs: 2050, μ: 17834, ~: 17844) -LibOpAddTest:testOpAddIntegrityUnhappyOneInput((uint256,uint256,uint256,uint256[],uint256,bytes)) (runs: 2050, μ: 13783, ~: 13633) -LibOpAddTest:testOpAddIntegrityUnhappyZeroInputs((uint256,uint256,uint256,uint256[],uint256,bytes)) (runs: 2050, μ: 13781, ~: 13631) -LibOpAddTest:testOpAddRun(uint256[]) (runs: 2048, μ: 18182, ~: 18436) -LibOpAnyNPTest:testOpAnyNPEval1FalseInput() (gas: 48147) -LibOpAnyNPTest:testOpAnyNPEval1TrueInput() (gas: 48046) -LibOpAnyNPTest:testOpAnyNPEval2FalseInputs() (gas: 53514) -LibOpAnyNPTest:testOpAnyNPEval2MixedInputs() (gas: 54088) -LibOpAnyNPTest:testOpAnyNPEval2MixedInputs2() (gas: 54192) -LibOpAnyNPTest:testOpAnyNPEval2TrueInputs() (gas: 54090) -LibOpAnyNPTest:testOpAnyNPEvalFail() (gas: 28514) -LibOpAnyNPTest:testOpAnyNPIntegrityGas0() (gas: 3273) -LibOpAnyNPTest:testOpAnyNPIntegrityHappy(uint8,uint16) (runs: 2050, μ: 8174, ~: 8297) -LibOpAnyNPTest:testOpAnyNPIntegrityUnhappyZeroInputs() (gas: 4062) -LibOpAnyNPTest:testOpAnyNPRun(uint256[],uint16) (runs: 2048, μ: 17313, ~: 17307) -LibOpAnyNPTest:testOpAnyNPRunGas0() (gas: 3377) -LibOpAnyNPTest:testOpAnyNPTwoOutputs() (gas: 34668) -LibOpAnyNPTest:testOpAnyNPZeroOutputs() (gas: 33652) -LibOpAvgTest:testOpAvgEval() (gas: 394995) -LibOpAvgTest:testOpAvgEvalOneInput() (gas: 34004) -LibOpAvgTest:testOpAvgEvalOperandDisallowed() (gas: 17391) -LibOpAvgTest:testOpAvgEvalThreeInputs() (gas: 44057) -LibOpAvgTest:testOpAvgEvalTwoOutputs() (gas: 39741) -LibOpAvgTest:testOpAvgEvalZeroOutputs() (gas: 38687) -LibOpAvgTest:testOpAvgIntegrity((uint256,uint256,uint256,uint256[],uint256,bytes),uint256) (runs: 2050, μ: 13823, ~: 13795) -LibOpAvgTest:testOpAvgRun(uint256,uint256,uint16) (runs: 2050, μ: 20478, ~: 20186) -LibOpBitwiseAndNPTest:testOpBitwiseAndNPEvalHappy() (gas: 711235) -LibOpBitwiseAndNPTest:testOpBitwiseAndNPIntegrity((uint256,uint256,uint256,uint256[],uint256,bytes),uint256) (runs: 2050, μ: 13845, ~: 13817) -LibOpBitwiseAndNPTest:testOpBitwiseAndNPRun(uint256,uint256) (runs: 2050, μ: 15151, ~: 15151) -LibOpBitwiseAndNPTest:testOpBitwiseORNPEvalBadOperand() (gas: 18081) -LibOpBitwiseAndNPTest:testOpBitwiseORNPEvalOneInput() (gas: 34621) -LibOpBitwiseAndNPTest:testOpBitwiseORNPEvalThreeInputs() (gas: 44695) -LibOpBitwiseAndNPTest:testOpBitwiseORNPEvalTwoOutputs() (gas: 40379) -LibOpBitwiseAndNPTest:testOpBitwiseORNPEvalZeroInputs() (gas: 29487) -LibOpBitwiseAndNPTest:testOpBitwiseORNPEvalZeroOutputs() (gas: 39367) -LibOpBitwiseOrNPTest:testOpBitwiseORNPEval() (gas: 709927) -LibOpBitwiseOrNPTest:testOpBitwiseORNPEvalBadOperand() (gas: 18000) -LibOpBitwiseOrNPTest:testOpBitwiseORNPEvalOneInput() (gas: 34562) -LibOpBitwiseOrNPTest:testOpBitwiseORNPEvalThreeInputs() (gas: 44636) -LibOpBitwiseOrNPTest:testOpBitwiseORNPEvalTwoOutputs() (gas: 40275) -LibOpBitwiseOrNPTest:testOpBitwiseORNPEvalZeroInputs() (gas: 29362) -LibOpBitwiseOrNPTest:testOpBitwiseORNPEvalZeroOutputs() (gas: 39286) -LibOpBitwiseOrNPTest:testOpBitwiseORNPIntegrity((uint256,uint256,uint256,uint256[],uint256,bytes),uint256) (runs: 2050, μ: 13823, ~: 13795) -LibOpBitwiseOrNPTest:testOpBitwiseORNPRun(uint256,uint256) (runs: 2050, μ: 15127, ~: 15127) -LibOpBlockNumberNPTest:testOpBlockNumberNPEval(uint256) (runs: 2050, μ: 47181, ~: 47049) -LibOpBlockNumberNPTest:testOpBlockNumberNPEvalOneInput() (gas: 33765) -LibOpBlockNumberNPTest:testOpBlockNumberNPEvalTwoOutputs() (gas: 30147) -LibOpBlockNumberNPTest:testOpBlockNumberNPEvalZeroOutputs() (gas: 29152) -LibOpBlockNumberNPTest:testOpBlockNumberNPIntegrity((uint256,uint256,uint256,uint256[],uint256,bytes),uint8,uint8,uint16) (runs: 2050, μ: 19177, ~: 19226) -LibOpBlockNumberNPTest:testOpBlockNumberNPRun(uint256,uint16) (runs: 2050, μ: 18790, ~: 18647) -LibOpCallNPTest:testCallTraceInnerOnly() (gas: 59694) -LibOpCallNPTest:testCallTraceOuterAndInner() (gas: 70400) -LibOpCallNPTest:testCallTraceOuterAndTwoInner() (gas: 108818) -LibOpCallNPTest:testCallTraceOuterOnly() (gas: 42763) -LibOpCallNPTest:testOpCallNPIntegrityIO((uint256,uint256,uint256,uint256[],uint256,bytes),uint256,uint256,uint8,bytes32) (runs: 2050, μ: 38328, ~: 36934) -LibOpCallNPTest:testOpCallNPIntegritySourceIndexOutOfBounds((uint256,uint256,uint256,uint256[],uint256,bytes),uint256,uint256,uint256,uint256,bytes32) (runs: 2050, μ: 35396, ~: 33628) -LibOpCallNPTest:testOpCallNPIntegrityTooManyOutputs((uint256,uint256,uint256,uint256[],uint256,bytes),uint256,uint256,uint8,bytes32) (runs: 2050, μ: 34788, ~: 34698) -LibOpCallNPTest:testOpCallNPRunInputsMismatch() (gas: 71847) -LibOpCallNPTest:testOpCallNPRunNoIO() (gas: 677091) -LibOpCallNPTest:testOpCallNPRunOutputsMismatch() (gas: 64966) -LibOpCallNPTest:testOpCallNPRunRecursive() (gas: 294298) -LibOpCallNPTest:testOpCallNPRunSourceDoesNotExist() (gas: 334821) -LibOpCeilTest:testOpCeilEval() (gas: 197291) -LibOpCeilTest:testOpCeilEvalOperandDisallowed() (gas: 17472) -LibOpCeilTest:testOpCeilIntegrity((uint256,uint256,uint256,uint256[],uint256,bytes),uint256) (runs: 2050, μ: 13867, ~: 13839) -LibOpCeilTest:testOpCeilRun(uint256,uint16) (runs: 2050, μ: 18955, ~: 19167) -LibOpCeilTest:testOpCeilTwoInputs() (gas: 39124) -LibOpCeilTest:testOpCeilTwoOutputs() (gas: 34745) -LibOpCeilTest:testOpCeilZeroInputs() (gas: 28909) -LibOpCeilTest:testOpCeilZeroOutputs() (gas: 33752) -LibOpChainIdNPTest:testOpChainIDNPEval(uint64,uint256) (runs: 2050, μ: 44245, ~: 44245) -LibOpChainIdNPTest:testOpChainIDNPIntegrity((uint256,uint256,uint256,uint256[],uint256,bytes),uint8,uint8,uint16) (runs: 2050, μ: 19190, ~: 19223) -LibOpChainIdNPTest:testOpChainIdNPEvalFail() (gas: 33143) -LibOpChainIdNPTest:testOpChainIdNPRun(uint64,uint16) (runs: 2050, μ: 15359, ~: 15359) -LibOpChainIdNPTest:testOpChainIdNPTwoOutputs() (gas: 29828) -LibOpChainIdNPTest:testOpChainIdNPZeroOutputs() (gas: 28813) -LibOpConditionsNPTest:testOpConditionsNPEval1FalseInput1TrueInput() (gas: 67444) -LibOpConditionsNPTest:testOpConditionsNPEval1FalseInputRevert() (gas: 52314) -LibOpConditionsNPTest:testOpConditionsNPEval1TrueInput1FalseInput() (gas: 67318) -LibOpConditionsNPTest:testOpConditionsNPEval1TrueInputZeroOutput() (gas: 54907) -LibOpConditionsNPTest:testOpConditionsNPEval2MixedInputs() (gas: 54910) -LibOpConditionsNPTest:testOpConditionsNPEval2TrueInputs() (gas: 67319) -LibOpConditionsNPTest:testOpConditionsNPEvalErrorCode() (gas: 63956) -LibOpConditionsNPTest:testOpConditionsNPEvalFail0Inputs() (gas: 29175) -LibOpConditionsNPTest:testOpConditionsNPEvalFail1Inputs() (gas: 33419) -LibOpConditionsNPTest:testOpConditionsNPEvalUnhappyOperand() (gas: 17942) -LibOpConditionsNPTest:testOpConditionsNPIntegrityHappy((uint256,uint256,uint256,uint256[],uint256,bytes),uint8,uint8,uint16) (runs: 2050, μ: 19639, ~: 19712) -LibOpConditionsNPTest:testOpConditionsNPRun(uint256[],uint256) (runs: 2048, μ: 17803, ~: 17904) -LibOpConditionsNPTest:testOpConditionsNPRunNoConditionsMet(uint256[],string) (runs: 2049, μ: 23431, ~: 23122) -LibOpConditionsNPTest:testOpConditionsNPTwoOutputs() (gas: 38513) -LibOpConditionsNPTest:testOpConditionsNPZeroOutputs() (gas: 37525) -LibOpConstantNPTest:testOpConstantEvalNPE2E() (gas: 51893) -LibOpConstantNPTest:testOpConstantEvalZeroConstants() (gas: 40129) -LibOpConstantNPTest:testOpConstantNPIntegrity((uint256,uint256,uint256,uint256[],uint256,bytes),uint256) (runs: 2050, μ: 18888, ~: 18874) -LibOpConstantNPTest:testOpConstantNPIntegrityOOBConstants((uint256,uint256,uint256,uint256[],uint256,bytes),uint256) (runs: 2050, μ: 17678, ~: 17684) -LibOpConstantNPTest:testOpConstantNPMultipleOutputErrorSugared() (gas: 30551) -LibOpConstantNPTest:testOpConstantNPMultipleOutputErrorUnsugared() (gas: 40426) -LibOpConstantNPTest:testOpConstantNPRun(uint256[],uint16) (runs: 2050, μ: 51914, ~: 51959) -LibOpConstantNPTest:testOpConstantNPZeroOutputErrorSugared() (gas: 29211) -LibOpConstantNPTest:testOpConstantNPZeroOutputErrorUnsugared() (gas: 39030) -LibOpContextNPTest:testOpContextNPEval00(uint256[][]) (runs: 2050, μ: 7237302, ~: 6123529) -LibOpContextNPTest:testOpContextNPEval01(uint256[][]) (runs: 2050, μ: 7231074, ~: 6114055) -LibOpContextNPTest:testOpContextNPEval10(uint256[][]) (runs: 2050, μ: 7276707, ~: 6181143) -LibOpContextNPTest:testOpContextNPEval11(uint256[][]) (runs: 2050, μ: 7273395, ~: 6200493) -LibOpContextNPTest:testOpContextNPEvalOOBi(uint256[]) (runs: 2050, μ: 74726, ~: 74812) -LibOpContextNPTest:testOpContextNPEvalOOBj(uint256) (runs: 2050, μ: 45724, ~: 45724) -LibOpContextNPTest:testOpContextNPIntegrity((uint256,uint256,uint256,uint256[],uint256,bytes),uint256) (runs: 2050, μ: 14328, ~: 14300) -LibOpContextNPTest:testOpContextNPOneInput() (gas: 40416) -LibOpContextNPTest:testOpContextNPRun(uint256[][],uint256,uint256) (runs: 2050, μ: 10540788, ~: 8994700) -LibOpContextNPTest:testOpContextNPRunOOBi(uint256[][],uint256,uint256) (runs: 2050, μ: 5493868, ~: 4780175) -LibOpContextNPTest:testOpContextNPRunOOBj(uint256[][],uint256,uint256) (runs: 2050, μ: 5522956, ~: 4826971) -LibOpContextNPTest:testOpContextNPTwoInputs() (gas: 45497) -LibOpContextNPTest:testOpContextNPTwoOutputs() (gas: 35940) -LibOpContextNPTest:testOpContextNPZeroOutputs() (gas: 34923) -LibOpCtPopNPTest:testOpCtPopNPEval(uint256) (runs: 2050, μ: 61459, ~: 58497) -LibOpCtPopNPTest:testOpCtPopNPIntegrity((uint256,uint256,uint256,uint256[],uint256,bytes),uint256) (runs: 2050, μ: 13866, ~: 13838) -LibOpCtPopNPTest:testOpCtPopNPRun(uint256) (runs: 2050, μ: 15357, ~: 15358) -LibOpCtPopNPTest:testOpCtPopNPTwoInputs() (gas: 40181) -LibOpCtPopNPTest:testOpCtPopNPTwoOutputs() (gas: 35868) -LibOpCtPopNPTest:testOpCtPopNPZeroInputs() (gas: 29965) -LibOpCtPopNPTest:testOpCtPopNPZeroOutputs() (gas: 34831) -LibOpDecodeBitsNPTest:testOpDecodeBitsNPEvalHappy() (gas: 796031) -LibOpDecodeBitsNPTest:testOpDecodeBitsNPEvalTwoInputs() (gas: 45980) -LibOpDecodeBitsNPTest:testOpDecodeBitsNPEvalTwoOutputs() (gas: 41691) -LibOpDecodeBitsNPTest:testOpDecodeBitsNPEvalZeroInputs() (gas: 35810) -LibOpDecodeBitsNPTest:testOpDecodeBitsNPEvalZeroOutputs() (gas: 40608) -LibOpDecodeBitsNPTest:testOpDecodeBitsNPIntegrity((uint256,uint256,uint256,uint256[],uint256,bytes),uint8,uint8,uint8,uint8) (runs: 2050, μ: 21588, ~: 21786) -LibOpDecodeBitsNPTest:testOpDecodeBitsNPIntegrityFail((uint256,uint256,uint256,uint256[],uint256,bytes),uint8,uint8) (runs: 2050, μ: 18946, ~: 18901) -LibOpDecodeBitsNPTest:testOpDecodeBitsNPIntegrityFailZeroLength((uint256,uint256,uint256,uint256[],uint256,bytes),uint8) (runs: 2050, μ: 13748, ~: 13727) -LibOpDecodeBitsNPTest:testOpDecodeBitsNPRun(uint256,uint8,uint8) (runs: 2050, μ: 19416, ~: 19230) -LibOpDivTest:testDebugOpDivRun() (gas: 10758) -LibOpDivTest:testOpDivEvalOneInput() (gas: 121571) -LibOpDivTest:testOpDivEvalOperandsDisallowed() (gas: 91166) -LibOpDivTest:testOpDivEvalThreeInputsHappy() (gas: 353399) -LibOpDivTest:testOpDivEvalThreeInputsUnhappy() (gas: 198512) -LibOpDivTest:testOpDivEvalThreeInputsUnhappyOverflow() (gas: 157664) -LibOpDivTest:testOpDivEvalTwoInputsHappy() (gas: 311793) -LibOpDivTest:testOpDivEvalTwoInputsUnhappy() (gas: 134248) -LibOpDivTest:testOpDivEvalTwoInputsUnhappyOverflow() (gas: 94970) -LibOpDivTest:testOpDivEvalTwoOutputs() (gas: 40446) -LibOpDivTest:testOpDivEvalZeroInputs() (gas: 28861) -LibOpDivTest:testOpDivEvalZeroOutputs() (gas: 39412) -LibOpDivTest:testOpDivIntegrityHappy((uint256,uint256,uint256,uint256[],uint256,bytes),uint8,uint16) (runs: 2050, μ: 17839, ~: 17843) -LibOpDivTest:testOpDivIntegrityUnhappyOneInput((uint256,uint256,uint256,uint256[],uint256,bytes)) (runs: 2050, μ: 13782, ~: 13632) -LibOpDivTest:testOpDivIntegrityUnhappyZeroInputs((uint256,uint256,uint256,uint256[],uint256,bytes)) (runs: 2050, μ: 13804, ~: 13654) -LibOpDivTest:testOpDivRun(uint256[]) (runs: 2048, μ: 23329, ~: 22519) -LibOpERC20AllowanceTest:testOpERC20AllowanceNPEvalFourInputs() (gas: 54140) -LibOpERC20AllowanceTest:testOpERC20AllowanceNPEvalHappy(uint256,uint8) (runs: 2050, μ: 67569, ~: 67624) -LibOpERC20AllowanceTest:testOpERC20AllowanceNPEvalOneInput() (gas: 35769) -LibOpERC20AllowanceTest:testOpERC20AllowanceNPEvalOperandDisallowed() (gas: 18364) -LibOpERC20AllowanceTest:testOpERC20AllowanceNPEvalTwoInputs() (gas: 42001) -LibOpERC20AllowanceTest:testOpERC20AllowanceNPEvalTwoOutputs() (gas: 49007) -LibOpERC20AllowanceTest:testOpERC20AllowanceNPEvalZeroInputs() (gas: 29783) -LibOpERC20AllowanceTest:testOpERC20AllowanceNPEvalZeroOutputs() (gas: 47952) -LibOpERC20AllowanceTest:testOpERC20AllowanceNPIntegrity((uint256,uint256,uint256,uint256[],uint256,bytes),uint256) (runs: 2050, μ: 13847, ~: 13819) -LibOpERC20AllowanceTest:testOpERC20AllowanceNPRun(address,address,address,uint256,uint8) (runs: 2050, μ: 24560, ~: 24607) -LibOpERC20BalanceOfTest:testOpERC20BalanceOfNPEvalHappy(uint256,uint8) (runs: 2050, μ: 61578, ~: 61499) -LibOpERC20BalanceOfTest:testOpERC20BalanceOfNPEvalOneInput() (gas: 35825) -LibOpERC20BalanceOfTest:testOpERC20BalanceOfNPEvalOperandDisallowed() (gas: 18445) -LibOpERC20BalanceOfTest:testOpERC20BalanceOfNPEvalOverflow(uint256,uint8) (runs: 2048, μ: 57606, ~: 57606) -LibOpERC20BalanceOfTest:testOpERC20BalanceOfNPEvalThreeInputs() (gas: 47886) -LibOpERC20BalanceOfTest:testOpERC20BalanceOfNPEvalTwoOutputs() (gas: 42757) -LibOpERC20BalanceOfTest:testOpERC20BalanceOfNPEvalZeroInputs() (gas: 29881) -LibOpERC20BalanceOfTest:testOpERC20BalanceOfNPEvalZeroOutputs() (gas: 41744) -LibOpERC20BalanceOfTest:testOpERC20BalanceOfNPIntegrity((uint256,uint256,uint256,uint256[],uint256,bytes),uint256) (runs: 2050, μ: 13867, ~: 13839) -LibOpERC20BalanceOfTest:testOpERC20BalanceOfNPRun(address,address,uint256,uint16,uint8) (runs: 2048, μ: 24830, ~: 24752) -LibOpERC20TotalSupplyTest:testOpERC20TotalSupplyNPEvalHappy(uint256,uint8) (runs: 2050, μ: 55033, ~: 54952) -LibOpERC20TotalSupplyTest:testOpERC20TotalSupplyNPEvalOperandDisallowed() (gas: 18651) -LibOpERC20TotalSupplyTest:testOpERC20TotalSupplyNPEvalOverflow(uint256,uint8) (runs: 2048, μ: 51127, ~: 51127) -LibOpERC20TotalSupplyTest:testOpERC20TotalSupplyNPEvalTwoInputs() (gas: 42262) -LibOpERC20TotalSupplyTest:testOpERC20TotalSupplyNPEvalTwoOutputs() (gas: 36675) -LibOpERC20TotalSupplyTest:testOpERC20TotalSupplyNPEvalZeroInputs() (gas: 30044) -LibOpERC20TotalSupplyTest:testOpERC20TotalSupplyNPEvalZeroOutputs() (gas: 35639) -LibOpERC20TotalSupplyTest:testOpERC20TotalSupplyNPIntegrity((uint256,uint256,uint256,uint256[],uint256,bytes),uint256) (runs: 2050, μ: 13847, ~: 13819) -LibOpERC20TotalSupplyTest:testOpERC20TotalSupplyNPRun(address,uint256,uint16,uint8) (runs: 2049, μ: 24287, ~: 24208) -LibOpERC5313OwnerNPTest:testOpERC5313OwnerNPEvalHappy() (gas: 52058) -LibOpERC5313OwnerNPTest:testOpERC5313OwnerNPEvalOperandDisallowed() (gas: 18213) -LibOpERC5313OwnerNPTest:testOpERC5313OwnerNPEvalTwoInputs() (gas: 41826) -LibOpERC5313OwnerNPTest:testOpERC5313OwnerNPEvalTwoOutputs() (gas: 36275) -LibOpERC5313OwnerNPTest:testOpERC5313OwnerNPEvalZeroInputs() (gas: 29606) -LibOpERC5313OwnerNPTest:testOpERC5313OwnerNPEvalZeroOutputs() (gas: 35235) -LibOpERC5313OwnerNPTest:testOpERC5313OwnerOfNPIntegrity((uint256,uint256,uint256,uint256[],uint256,bytes),uint256) (runs: 2050, μ: 13824, ~: 13796) -LibOpERC5313OwnerNPTest:testOpERC5313OwnerOfNPRun(address,address,uint16) (runs: 2050, μ: 21499, ~: 21499) -LibOpERC721OwnerOfTest:testOpERC721OwnerOfNPEvalFail0() (gas: 29469) -LibOpERC721OwnerOfTest:testOpERC721OwnerOfNPEvalFail1() (gas: 33757) -LibOpERC721OwnerOfTest:testOpERC721OwnerOfNPEvalFail3() (gas: 43032) -LibOpERC721OwnerOfTest:testOpERC721OwnerOfNPEvalFailOperand() (gas: 18155) -LibOpERC721OwnerOfTest:testOpERC721OwnerOfNPEvalHappy(address,uint256,address) (runs: 2050, μ: 91696, ~: 88124) -LibOpERC721OwnerOfTest:testOpERC721OwnerOfNPEvalOneInput() (gas: 34100) -LibOpERC721OwnerOfTest:testOpERC721OwnerOfNPEvalThreeInputs() (gas: 43363) -LibOpERC721OwnerOfTest:testOpERC721OwnerOfNPEvalZeroInputs() (gas: 29823) -LibOpERC721OwnerOfTest:testOpERC721OwnerOfNPEvalZeroOutputs() (gas: 38318) -LibOpERC721OwnerOfTest:testOpERC721OwnerOfNPIntegrity((uint256,uint256,uint256,uint256[],uint256,bytes),uint8) (runs: 2050, μ: 13849, ~: 13828) -LibOpERC721OwnerOfTest:testOpERC721OwnerOfNPRun(address,uint256,address,uint16) (runs: 2050, μ: 21895, ~: 21895) -LibOpERC721OwnerOfTest:testOpERC721OwnerOfNPTwoOutputs() (gas: 39350) -LibOpETest:testOpEEval() (gas: 42254) -LibOpETest:testOpEEvalOneInput() (gas: 32875) -LibOpETest:testOpEEvalTwoOutputs() (gas: 29299) -LibOpETest:testOpEEvalZeroOutputs() (gas: 28262) -LibOpETest:testOpEIntegrity((uint256,uint256,uint256,uint256[],uint256,bytes),uint8,uint8,uint16) (runs: 2050, μ: 19199, ~: 19252) -LibOpETest:testOpERun(uint16) (runs: 2050, μ: 14769, ~: 14769) -LibOpEncodeBitsNPTest:testOpEncodeBitsNPEvalHappy() (gas: 799934) -LibOpEncodeBitsNPTest:testOpEncodeBitsNPEvalOneInput() (gas: 40904) -LibOpEncodeBitsNPTest:testOpEncodeBitsNPEvalThreeInputs() (gas: 50977) -LibOpEncodeBitsNPTest:testOpEncodeBitsNPEvalTwoOutputs() (gas: 46618) -LibOpEncodeBitsNPTest:testOpEncodeBitsNPEvalZeroInputs() (gas: 35725) -LibOpEncodeBitsNPTest:testOpEncodeBitsNPEvalZeroOutputs() (gas: 45628) -LibOpEncodeBitsNPTest:testOpEncodeBitsNPIntegrity((uint256,uint256,uint256,uint256[],uint256,bytes),uint8,uint8) (runs: 2050, μ: 18017, ~: 18034) -LibOpEncodeBitsNPTest:testOpEncodeBitsNPIntegrityFail((uint256,uint256,uint256,uint256[],uint256,bytes),uint8,uint8) (runs: 2050, μ: 19060, ~: 19007) -LibOpEncodeBitsNPTest:testOpEncodeBitsNPIntegrityFailZeroLength((uint256,uint256,uint256,uint256[],uint256,bytes),uint8) (runs: 2050, μ: 13919, ~: 13898) -LibOpEncodeBitsNPTest:testOpEncodeBitsNPRun(uint256,uint256,uint8,uint8) (runs: 2050, μ: 19748, ~: 19557) -LibOpEnsureNPTest:testOpEnsureNPEvalBadOutputs() (gas: 34711) -LibOpEnsureNPTest:testOpEnsureNPEvalBadOutputs2() (gas: 34064) -LibOpEnsureNPTest:testOpEnsureNPEvalHappy() (gas: 160742) -LibOpEnsureNPTest:testOpEnsureNPEvalOne() (gas: 33544) -LibOpEnsureNPTest:testOpEnsureNPEvalThree() (gas: 45003) -LibOpEnsureNPTest:testOpEnsureNPEvalUnhappy() (gas: 106677) -LibOpEnsureNPTest:testOpEnsureNPEvalUnhappyOperand() (gas: 16940) -LibOpEnsureNPTest:testOpEnsureNPEvalZero() (gas: 28318) -LibOpEnsureNPTest:testOpEnsureNPIntegrityHappy((uint256,uint256,uint256,uint256[],uint256,bytes),uint8,uint8,uint16) (runs: 2050, μ: 19260, ~: 19355) -LibOpEnsureNPTest:testOpEnsureNPIntegrityUnhappy((uint256,uint256,uint256,uint256[],uint256,bytes)) (runs: 2050, μ: 13746, ~: 13596) -LibOpEnsureNPTest:testOpEnsureNPOneOutput() (gas: 38597) -LibOpEnsureNPTest:testOpEnsureNPRun(uint256,string) (runs: 2048, μ: 15256, ~: 15321) -LibOpEqualToNPTest:testOpEqualToNPEval2InputsBothOne() (gas: 53669) -LibOpEqualToNPTest:testOpEqualToNPEval2InputsFirstOneSecondZero() (gas: 54401) -LibOpEqualToNPTest:testOpEqualToNPEval2InputsFirstZeroSecondOne() (gas: 54380) -LibOpEqualToNPTest:testOpEqualToNPEval2ZeroInputs() (gas: 53711) -LibOpEqualToNPTest:testOpEqualToNPEvalFail0Inputs() (gas: 28870) -LibOpEqualToNPTest:testOpEqualToNPEvalFail1Input() (gas: 33134) -LibOpEqualToNPTest:testOpEqualToNPEvalFail3Inputs() (gas: 41431) -LibOpEqualToNPTest:testOpEqualToNPIntegrityHappy((uint256,uint256,uint256,uint256[],uint256,bytes),uint8,uint8,uint16) (runs: 2050, μ: 19202, ~: 19264) -LibOpEqualToNPTest:testOpEqualToNPRun(uint256,uint256) (runs: 2050, μ: 15178, ~: 15179) -LibOpEqualToNPTest:testOpEqualToNPTwoOutputs() (gas: 40042) -LibOpEqualToNPTest:testOpEqualToNPZeroOutputs() (gas: 39054) -LibOpEveryNPTest:testOpAnyNPEvalFail() (gas: 29368) -LibOpEveryNPTest:testOpEveryNPEval1FalseInput() (gas: 48893) -LibOpEveryNPTest:testOpEveryNPEval1TrueInput() (gas: 48933) -LibOpEveryNPTest:testOpEveryNPEval2FalseInputs() (gas: 54228) -LibOpEveryNPTest:testOpEveryNPEval2MixedInputs() (gas: 55016) -LibOpEveryNPTest:testOpEveryNPEval2MixedInputs2() (gas: 54962) -LibOpEveryNPTest:testOpEveryNPEval2TrueInputs() (gas: 55053) -LibOpEveryNPTest:testOpEveryNPIntegrityHappy((uint256,uint256,uint256,uint256[],uint256,bytes),uint8,uint8,uint16) (runs: 2050, μ: 19375, ~: 19485) -LibOpEveryNPTest:testOpEveryNPIntegrityUnhappyZeroInputs((uint256,uint256,uint256,uint256[],uint256,bytes)) (runs: 2050, μ: 13731, ~: 13581) -LibOpEveryNPTest:testOpEveryNPRun(uint256[]) (runs: 2048, μ: 18631, ~: 18703) -LibOpEveryNPTest:testOpEveryNPTwoOutputs() (gas: 35499) -LibOpEveryNPTest:testOpEveryNPZeroOutputs() (gas: 34483) -LibOpExp2Test:testOpExp2Eval() (gas: 201815) -LibOpExp2Test:testOpExp2EvalBad() (gas: 64402) -LibOpExp2Test:testOpExp2EvalOperandDisallowed() (gas: 18154) -LibOpExp2Test:testOpExp2Integrity((uint256,uint256,uint256,uint256[],uint256,bytes),uint256) (runs: 2050, μ: 13823, ~: 13795) -LibOpExp2Test:testOpExp2Run(uint256,uint16) (runs: 2050, μ: 22583, ~: 23726) -LibOpExp2Test:testOpExp2TwoOutputs() (gas: 35385) -LibOpExp2Test:testOpExp2ZeroOutputs() (gas: 34368) -LibOpExpTest:testOpExpEval() (gas: 206855) -LibOpExpTest:testOpExpEvalOperandDisallowed() (gas: 17389) -LibOpExpTest:testOpExpEvalTwoInputs() (gas: 39020) -LibOpExpTest:testOpExpEvalZeroInputs() (gas: 28827) -LibOpExpTest:testOpExpIntegrity((uint256,uint256,uint256,uint256[],uint256,bytes),uint256) (runs: 2050, μ: 13844, ~: 13816) -LibOpExpTest:testOpExpRun(uint256,uint16) (runs: 2050, μ: 22844, ~: 24134) -LibOpExpTest:testOpExpTwoOutputs() (gas: 34666) -LibOpExpTest:testOpExpZeroOutputs() (gas: 33671) -LibOpExponentialGrowthTest:testOpExponentialGrowthEval() (gas: 657535) -LibOpExponentialGrowthTest:testOpExponentialGrowthEvalFourInputs() (gas: 51100) -LibOpExponentialGrowthTest:testOpExponentialGrowthEvalOneInput() (gas: 35188) -LibOpExponentialGrowthTest:testOpExponentialGrowthEvalOperandDisallowed() (gas: 18596) -LibOpExponentialGrowthTest:testOpExponentialGrowthEvalTwoInputs() (gas: 40928) -LibOpExponentialGrowthTest:testOpExponentialGrowthEvalTwoOutputs() (gas: 46648) -LibOpExponentialGrowthTest:testOpExponentialGrowthEvalZeroInputs() (gas: 29627) -LibOpExponentialGrowthTest:testOpExponentialGrowthEvalZeroOutputs() (gas: 45593) -LibOpExponentialGrowthTest:testOpExponentialGrowthIntegrity((uint256,uint256,uint256,uint256[],uint256,bytes),uint256) (runs: 2050, μ: 13822, ~: 13794) -LibOpExponentialGrowthTest:testOpExponentialGrowthRun(uint256,uint256,uint256,uint16) (runs: 2050, μ: 37217, ~: 37314) -LibOpExternNPTest:testOpExternNPEvalHappy() (gas: 94147) -LibOpExternNPTest:testOpExternNPEvalMultipleInputsOutputsHappy() (gas: 107900) -LibOpExternNPTest:testOpExternNPIntegrityHappy((uint256,uint256,uint256,uint256[],uint256,bytes),address,uint16,uint8,uint8) (runs: 2050, μ: 32373, ~: 32206) -LibOpExternNPTest:testOpExternNPIntegrityNotAnExternContract((uint256,uint256,uint256,uint256[],uint256,bytes),address,uint16,uint8,uint8) (runs: 2050, μ: 50985, ~: 50415) -LibOpExternNPTest:testOpExternNPRunHappy(address,uint256[],uint16,uint256[],uint256[]) (runs: 2049, μ: 107710, ~: 107064) -LibOpFloorTest:testOpFloorEval() (gas: 234066) -LibOpFloorTest:testOpFloorEvalOperandDisallowed() (gas: 17554) -LibOpFloorTest:testOpFloorIntegrity((uint256,uint256,uint256,uint256[],uint256,bytes),uint256) (runs: 2050, μ: 13844, ~: 13816) -LibOpFloorTest:testOpFloorRun(uint256,uint16) (runs: 2050, μ: 18822, ~: 19033) -LibOpFloorTest:testOpFloorTwoInputs() (gas: 39204) -LibOpFloorTest:testOpFloorTwoOutputs() (gas: 34827) -LibOpFloorTest:testOpFloorZeroInputs() (gas: 28968) -LibOpFloorTest:testOpFloorZeroOutputs() (gas: 33812) -LibOpFracTest:testOpFracEval() (gas: 233501) -LibOpFracTest:testOpFracEvalOperandDisallowed() (gas: 17472) -LibOpFracTest:testOpFracIntegrity((uint256,uint256,uint256,uint256[],uint256,bytes),uint256) (runs: 2050, μ: 13822, ~: 13794) -LibOpFracTest:testOpFracRun(uint256,uint16) (runs: 2050, μ: 18782, ~: 18992) -LibOpFracTest:testOpFracTwoInputs() (gas: 39114) -LibOpFracTest:testOpFracTwoOutputs() (gas: 34780) -LibOpFracTest:testOpFracZeroInputs() (gas: 28897) -LibOpFracTest:testOpFracZeroOutputs() (gas: 33741) -LibOpGetNPTest:testLibOpGetNPEvalKeyNotSet() (gas: 287432) -LibOpGetNPTest:testLibOpGetNPEvalOperandDisallowed() (gas: 57183) -LibOpGetNPTest:testLibOpGetNPEvalSetThenGet() (gas: 490716) -LibOpGetNPTest:testLibOpGetNPEvalStoreAndSetAndGet() (gas: 242272) -LibOpGetNPTest:testLibOpGetNPEvalStoreThenGet() (gas: 448986) -LibOpGetNPTest:testLibOpGetNPEvalThreeInputs() (gas: 43550) -LibOpGetNPTest:testLibOpGetNPEvalTwoInputs() (gas: 38367) -LibOpGetNPTest:testLibOpGetNPEvalTwoOutputs() (gas: 33948) -LibOpGetNPTest:testLibOpGetNPEvalZeroInputs() (gas: 28479) -LibOpGetNPTest:testLibOpGetNPEvalZeroOutputs() (gas: 32932) -LibOpGetNPTest:testLibOpGetNPIntegrity((uint256,uint256,uint256,uint256[],uint256,bytes),uint8,uint8,uint16) (runs: 2050, μ: 19848, ~: 19954) -LibOpGetNPTest:testLibOpGetNPRunState(uint256,uint256,uint16) (runs: 2050, μ: 17798, ~: 17803) -LibOpGetNPTest:testLibOpGetNPRunStateAndStore(uint256,uint256,uint256,uint16) (runs: 2050, μ: 45590, ~: 45808) -LibOpGetNPTest:testLibOpGetNPRunStore(uint256,uint256,uint16) (runs: 2050, μ: 47789, ~: 47997) -LibOpGetNPTest:testLibOpGetNPRunStoreDifferentNamespace(uint256,uint256,uint16) (runs: 2050, μ: 49318, ~: 49526) -LibOpGetNPTest:testLibOpGetNPRunUnset(uint256,uint16) (runs: 2050, μ: 23029, ~: 23034) -LibOpGmTest:testOpGmEval() (gas: 399303) -LibOpGmTest:testOpGmEvalOperandDisallowed() (gas: 17332) -LibOpGmTest:testOpGmIntegrity((uint256,uint256,uint256,uint256[],uint256,bytes),uint256) (runs: 2050, μ: 13866, ~: 13838) -LibOpGmTest:testOpGmOneInput() (gas: 34777) -LibOpGmTest:testOpGmRun(uint256,uint256,uint16) (runs: 2050, μ: 21915, ~: 21816) -LibOpGmTest:testOpGmThreeInputs() (gas: 44010) -LibOpGmTest:testOpGmTwoOutputs() (gas: 39627) -LibOpGmTest:testOpGmZeroOutputs() (gas: 38618) -LibOpGreaterThanNPTest:testOpGreaterThanNPEval2InputsBothOne() (gas: 54034) -LibOpGreaterThanNPTest:testOpGreaterThanNPEval2InputsFirstOneSecondZero() (gas: 54705) -LibOpGreaterThanNPTest:testOpGreaterThanNPEval2InputsFirstZeroSecondOne() (gas: 54703) -LibOpGreaterThanNPTest:testOpGreaterThanNPEval2ZeroInputs() (gas: 54011) -LibOpGreaterThanNPTest:testOpGreaterThanNPEvalFail0Inputs() (gas: 29205) -LibOpGreaterThanNPTest:testOpGreaterThanNPEvalFail1Input() (gas: 33482) -LibOpGreaterThanNPTest:testOpGreaterThanNPEvalFail3Inputs() (gas: 41726) -LibOpGreaterThanNPTest:testOpGreaterThanNPIntegrityHappy((uint256,uint256,uint256,uint256[],uint256,bytes),uint8,uint8,uint16) (runs: 2050, μ: 19177, ~: 19233) -LibOpGreaterThanNPTest:testOpGreaterThanNPRun(uint256,uint256) (runs: 2050, μ: 15175, ~: 15171) -LibOpGreaterThanNPTest:testOpGreaterThanNPTwoOutputs() (gas: 41027) -LibOpGreaterThanNPTest:testOpGreaterThanNPZeroOutputs() (gas: 40037) -LibOpGreaterThanOrEqualToNPTest:testOpGreaterThanOrEqualToNPEval2InputsBothOne() (gas: 55014) -LibOpGreaterThanOrEqualToNPTest:testOpGreaterThanOrEqualToNPEval2InputsFirstOneSecondZero() (gas: 55682) -LibOpGreaterThanOrEqualToNPTest:testOpGreaterThanOrEqualToNPEval2InputsFirstZeroSecondOne() (gas: 55703) -LibOpGreaterThanOrEqualToNPTest:testOpGreaterThanOrEqualToNPEval2ZeroInputs() (gas: 54994) -LibOpGreaterThanOrEqualToNPTest:testOpGreaterThanOrEqualToNPEvalFail0Inputs() (gas: 30188) -LibOpGreaterThanOrEqualToNPTest:testOpGreaterThanOrEqualToNPEvalFail1Input() (gas: 34461) -LibOpGreaterThanOrEqualToNPTest:testOpGreaterThanOrEqualToNPEvalFail3Inputs() (gas: 42748) -LibOpGreaterThanOrEqualToNPTest:testOpGreaterThanOrEqualToNPIntegrityHappy((uint256,uint256,uint256,uint256[],uint256,bytes),uint8) (runs: 2050, μ: 13826, ~: 13805) -LibOpGreaterThanOrEqualToNPTest:testOpGreaterThanOrEqualToNPRun(uint256,uint256) (runs: 2050, μ: 15182, ~: 15178) -LibOpGreaterThanOrEqualToNPTest:testOpGreaterThanOrEqualToNPTwoOutputs() (gas: 42070) -LibOpGreaterThanOrEqualToNPTest:testOpGreaterThanOrEqualToNPZeroOutputs() (gas: 40985) -LibOpHashNPTest:testOpHashNPEval0Inputs() (gas: 43371) -LibOpHashNPTest:testOpHashNPEval1Input() (gas: 50889) -LibOpHashNPTest:testOpHashNPEval2Inputs() (gas: 58914) -LibOpHashNPTest:testOpHashNPEval2InputsDifferent() (gas: 59426) -LibOpHashNPTest:testOpHashNPEval2InputsOtherStack() (gas: 75294) -LibOpHashNPTest:testOpHashNPIntegrityHappy((uint256,uint256,uint256,uint256[],uint256,bytes),uint8,uint8,uint16) (runs: 2050, μ: 19231, ~: 19298) -LibOpHashNPTest:testOpHashNPRun(uint256[]) (runs: 2048, μ: 17514, ~: 17597) -LibOpHashNPTest:testOpHashNPTwoOutputs() (gas: 29556) -LibOpHashNPTest:testOpHashNPZeroOutputs() (gas: 28138) -LibOpHeadroomTest:testOpHeadroomEval() (gas: 235334) -LibOpHeadroomTest:testOpHeadroomEvalOperandDisallowed() (gas: 17818) -LibOpHeadroomTest:testOpHeadroomIntegrity((uint256,uint256,uint256,uint256[],uint256,bytes),uint256) (runs: 2050, μ: 13822, ~: 13794) -LibOpHeadroomTest:testOpHeadroomRun(uint256,uint16) (runs: 2050, μ: 18870, ~: 19080) -LibOpHeadroomTest:testOpHeadroomTwoInputs() (gas: 39426) -LibOpHeadroomTest:testOpHeadroomTwoOutputs() (gas: 35092) -LibOpHeadroomTest:testOpHeadroomZeroInputs() (gas: 29232) -LibOpHeadroomTest:testOpHeadroomZeroOutputs() (gas: 34075) -LibOpIfNPTest:testOpIfNPEval3InputsFirstOneSecondTwoThirdThree() (gas: 60109) -LibOpIfNPTest:testOpIfNPEval3InputsFirstOneSecondZeroThirdThree() (gas: 60065) -LibOpIfNPTest:testOpIfNPEval3InputsFirstTwoSecondThreeThirdFour() (gas: 60065) -LibOpIfNPTest:testOpIfNPEval3InputsFirstTwoSecondZeroThirdFour() (gas: 60085) -LibOpIfNPTest:testOpIfNPEval3InputsFirstZeroSecondOneThirdTwo() (gas: 60108) -LibOpIfNPTest:testOpIfNPEval3InputsFirstZeroSecondOneThirdZero() (gas: 59349) -LibOpIfNPTest:testOpIfNPEval3InputsFirstZeroSecondZeroThirdOne() (gas: 59261) -LibOpIfNPTest:testOpIfNPEval3InputsFirstZeroSecondZeroThirdThree() (gas: 59283) -LibOpIfNPTest:testOpIfNPEvalEmptyStringTruthy() (gas: 59061) -LibOpIfNPTest:testOpIfNPEvalFail0Inputs() (gas: 28364) -LibOpIfNPTest:testOpIfNPEvalFail1Input() (gas: 32692) -LibOpIfNPTest:testOpIfNPEvalFail2Inputs() (gas: 36832) -LibOpIfNPTest:testOpIfNPEvalFail4Inputs() (gas: 45058) -LibOpIfNPTest:testOpIfNPEvalTwoOutputs() (gas: 45281) -LibOpIfNPTest:testOpIfNPEvalZeroOutputs() (gas: 44227) -LibOpIfNPTest:testOpIfNPIntegrityHappy((uint256,uint256,uint256,uint256[],uint256,bytes),uint8,uint8,uint16) (runs: 2050, μ: 19187, ~: 19276) -LibOpIfNPTest:testOpIfNPRun(uint256,uint256,uint256) (runs: 2050, μ: 15336, ~: 15336) -LibOpInvTest:testOpExpEvalOperandDisallowed() (gas: 17411) -LibOpInvTest:testOpInvEval() (gas: 159569) -LibOpInvTest:testOpInvIntegrity((uint256,uint256,uint256,uint256[],uint256,bytes),uint256) (runs: 2050, μ: 13845, ~: 13817) -LibOpInvTest:testOpInvRun(uint256,uint16) (runs: 2050, μ: 18905, ~: 19109) -LibOpInvTest:testOpInvTwoInputs() (gas: 39042) -LibOpInvTest:testOpInvTwoOutputs() (gas: 34665) -LibOpInvTest:testOpInvZeroInputs() (gas: 28828) -LibOpInvTest:testOpInvZeroOutputs() (gas: 33672) -LibOpIsZeroNPTest:testOpIsZeroNPEval1NonZeroInput() (gas: 48508) -LibOpIsZeroNPTest:testOpIsZeroNPEval1ZeroInput() (gas: 48208) -LibOpIsZeroNPTest:testOpIsZeroNPEvalFail0Inputs() (gas: 28777) -LibOpIsZeroNPTest:testOpIsZeroNPEvalFail2Inputs() (gas: 37181) -LibOpIsZeroNPTest:testOpIsZeroNPIntegrityHappy((uint256,uint256,uint256,uint256[],uint256,bytes),uint8,uint8,uint16) (runs: 2050, μ: 19299, ~: 19387) -LibOpIsZeroNPTest:testOpIsZeroNPRun(uint256) (runs: 2050, μ: 14947, ~: 14948) -LibOpIsZeroNPTest:testOpIsZeroNPTwoOutputs() (gas: 35253) -LibOpIsZeroNPTest:testOpIsZeroNPZeroOutputs() (gas: 33913) -LibOpLessThanNPTest:testOpLessThanNPEval2InputsBothOne() (gas: 53771) -LibOpLessThanNPTest:testOpLessThanNPEval2InputsFirstOneSecondZero() (gas: 54460) -LibOpLessThanNPTest:testOpLessThanNPEval2InputsFirstZeroSecondOne() (gas: 54460) -LibOpLessThanNPTest:testOpLessThanNPEval2ZeroInputs() (gas: 53791) -LibOpLessThanNPTest:testOpLessThanNPIntegrityHappy((uint256,uint256,uint256,uint256[],uint256,bytes),uint8,uint8,uint16) (runs: 2050, μ: 19218, ~: 19277) -LibOpLessThanNPTest:testOpLessThanNPRun(uint256,uint256) (runs: 2050, μ: 15160, ~: 15165) -LibOpLessThanNPTest:testOpLessThanNPTwoOutputs() (gas: 41062) -LibOpLessThanNPTest:testOpLessThanNPZeroOutputs() (gas: 39134) -LibOpLessThanNPTest:testOpLessThanToNPEvalFail0Inputs() (gas: 28985) -LibOpLessThanNPTest:testOpLessThanToNPEvalFail1Input() (gas: 33207) -LibOpLessThanNPTest:testOpLessThanToNPEvalFail3Inputs() (gas: 41535) -LibOpLessThanOrEqualToNPTest:testOpLessThanOrEqualToNPEval2InputsBothOne() (gas: 54723) -LibOpLessThanOrEqualToNPTest:testOpLessThanOrEqualToNPEval2InputsFirstOneSecondZero() (gas: 55435) -LibOpLessThanOrEqualToNPTest:testOpLessThanOrEqualToNPEval2InputsFirstZeroSecondOne() (gas: 55437) -LibOpLessThanOrEqualToNPTest:testOpLessThanOrEqualToNPEval2ZeroInputs() (gas: 54767) -LibOpLessThanOrEqualToNPTest:testOpLessThanOrEqualToNPEvalFail0Inputs() (gas: 29934) -LibOpLessThanOrEqualToNPTest:testOpLessThanOrEqualToNPEvalFail1Input() (gas: 34231) -LibOpLessThanOrEqualToNPTest:testOpLessThanOrEqualToNPEvalFail3Inputs() (gas: 42516) -LibOpLessThanOrEqualToNPTest:testOpLessThanOrEqualToNPIntegrityHappy((uint256,uint256,uint256,uint256[],uint256,bytes),uint8,uint8,uint16) (runs: 2050, μ: 19226, ~: 19284) -LibOpLessThanOrEqualToNPTest:testOpLessThanOrEqualToNPRun(uint256,uint256) (runs: 2050, μ: 15189, ~: 15194) -LibOpLessThanOrEqualToNPTest:testOpLessThanOrEqualToNPTwoOutputs() (gas: 41798) -LibOpLessThanOrEqualToNPTest:testOpLessThanOrEqualToNPZeroOutputs() (gas: 40722) -LibOpLinearGrowthTest:testOpLinearGrowthEval() (gas: 615496) -LibOpLinearGrowthTest:testOpLinearGrowthEvalFourInputs() (gas: 50728) -LibOpLinearGrowthTest:testOpLinearGrowthEvalOneInput() (gas: 34837) -LibOpLinearGrowthTest:testOpLinearGrowthEvalOperandDisallowed() (gas: 18199) -LibOpLinearGrowthTest:testOpLinearGrowthEvalTwoInputs() (gas: 40489) -LibOpLinearGrowthTest:testOpLinearGrowthEvalTwoOutputs() (gas: 46235) -LibOpLinearGrowthTest:testOpLinearGrowthEvalZeroInputs() (gas: 29277) -LibOpLinearGrowthTest:testOpLinearGrowthEvalZeroOutputs() (gas: 45178) -LibOpLinearGrowthTest:testOpLinearGrowthIntegrity((uint256,uint256,uint256,uint256[],uint256,bytes),uint256) (runs: 2050, μ: 13824, ~: 13796) -LibOpLinearGrowthTest:testOpLinearGrowthRun(uint256,uint256,uint256,uint16) (runs: 2050, μ: 21898, ~: 21804) -LibOpLnTest:testOpLnEval() (gas: 220062) -LibOpLnTest:testOpLnEvalOperandDisallowed() (gas: 17331) -LibOpLnTest:testOpLnIntegrity((uint256,uint256,uint256,uint256[],uint256,bytes),uint256) (runs: 2050, μ: 13845, ~: 13817) -LibOpLnTest:testOpLnRun(uint256,uint16) (runs: 2050, μ: 31843, ~: 31861) -LibOpLnTest:testOpLnTwoInputs() (gas: 38940) -LibOpLnTest:testOpLnTwoOutputs() (gas: 34628) -LibOpLnTest:testOpLnZeroInputs() (gas: 28726) -LibOpLnTest:testOpLnZeroOutputs() (gas: 33570) -LibOpLog10Test:testOpLog10Eval() (gas: 267448) -LibOpLog10Test:testOpLog10EvalOperandDisallowed() (gas: 17574) -LibOpLog10Test:testOpLog10Integrity((uint256,uint256,uint256,uint256[],uint256,bytes),uint256) (runs: 2050, μ: 13867, ~: 13839) -LibOpLog10Test:testOpLog10Run(uint256,uint16) (runs: 2050, μ: 35404, ~: 35436) -LibOpLog10Test:testOpLog10TwoInputs() (gas: 39226) -LibOpLog10Test:testOpLog10TwoOutputs() (gas: 34828) -LibOpLog10Test:testOpLog10ZeroInputs() (gas: 28967) -LibOpLog10Test:testOpLog10ZeroOutputs() (gas: 33812) -LibOpLog2Test:testOpLog2Eval() (gas: 257321) -LibOpLog2Test:testOpLog2EvalOperandDisallowed() (gas: 17493) -LibOpLog2Test:testOpLog2Integrity((uint256,uint256,uint256,uint256[],uint256,bytes),uint256) (runs: 2050, μ: 13822, ~: 13794) -LibOpLog2Test:testOpLog2Run(uint256) (runs: 2050, μ: 31563, ~: 31594) -LibOpLog2Test:testOpLog2TwoInputs() (gas: 39114) -LibOpLog2Test:testOpLog2TwoOutputs() (gas: 34780) -LibOpLog2Test:testOpLog2ZeroInputs() (gas: 28899) -LibOpLog2Test:testOpLog2ZeroOutputs() (gas: 33762) -LibOpMaxTest:testOpMaxEval2InputsHappy() (gas: 522795) -LibOpMaxTest:testOpMaxEval3InputsHappy() (gas: 1774671) -LibOpMaxTest:testOpMaxEvalOneInput() (gas: 122576) -LibOpMaxTest:testOpMaxEvalOperandDisallowed() (gas: 58508) -LibOpMaxTest:testOpMaxEvalTwoOutputs() (gas: 39787) -LibOpMaxTest:testOpMaxEvalZeroInputs() (gas: 28863) -LibOpMaxTest:testOpMaxIntegrityHappy((uint256,uint256,uint256,uint256[],uint256,bytes),uint8,uint16) (runs: 2050, μ: 17839, ~: 17850) -LibOpMaxTest:testOpMaxIntegrityUnhappyOneInput((uint256,uint256,uint256,uint256[],uint256,bytes)) (runs: 2050, μ: 13763, ~: 13613) -LibOpMaxTest:testOpMaxIntegrityUnhappyZeroInputs((uint256,uint256,uint256,uint256[],uint256,bytes)) (runs: 2050, μ: 13760, ~: 13610) -LibOpMaxTest:testOpMaxRun(uint256[]) (runs: 2048, μ: 19040, ~: 19160) -LibOpMaxUint256NPTest:testOpMaxUint256NPEval(uint256) (runs: 2050, μ: 42981, ~: 42981) -LibOpMaxUint256NPTest:testOpMaxUint256NPEvalFail() (gas: 33225) -LibOpMaxUint256NPTest:testOpMaxUint256NPIntegrity((uint256,uint256,uint256,uint256[],uint256,bytes),uint8,uint8,uint16) (runs: 2050, μ: 19200, ~: 19262) -LibOpMaxUint256NPTest:testOpMaxUint256NPRun() (gas: 14623) -LibOpMaxUint256NPTest:testOpMaxUint256NPTwoOutputs() (gas: 29953) -LibOpMaxUint256NPTest:testOpMaxUint256NPZeroOutputs() (gas: 28850) -LibOpMinTest:testOpMinEval2InputsHappy() (gas: 522795) -LibOpMinTest:testOpMinEval3InputsHappy() (gas: 3121521) -LibOpMinTest:testOpMinEvalOneInput() (gas: 122512) -LibOpMinTest:testOpMinEvalOperandDisallowed() (gas: 58487) -LibOpMinTest:testOpMinEvalZeroInputs() (gas: 28868) -LibOpMinTest:testOpMinIntegrityHappy((uint256,uint256,uint256,uint256[],uint256,bytes),uint8,uint16) (runs: 2050, μ: 17851, ~: 17859) -LibOpMinTest:testOpMinIntegrityUnhappyOneInput((uint256,uint256,uint256,uint256[],uint256,bytes)) (runs: 2050, μ: 13760, ~: 13610) -LibOpMinTest:testOpMinIntegrityUnhappyZeroInputs((uint256,uint256,uint256,uint256[],uint256,bytes)) (runs: 2050, μ: 13782, ~: 13632) -LibOpMinTest:testOpMinRun(uint256[],uint16) (runs: 2048, μ: 19040, ~: 18929) -LibOpModTest:testOpModEval2InputsHappy() (gas: 745935) -LibOpModTest:testOpModEval2InputsUnhappy() (gas: 134072) -LibOpModTest:testOpModEval3InputsHappy() (gas: 1450323) -LibOpModTest:testOpModEval3InputsUnhappy() (gas: 443067) -LibOpModTest:testOpModEvalOneInput() (gas: 122576) -LibOpModTest:testOpModEvalOperandDisallowed() (gas: 58532) -LibOpModTest:testOpModEvalTwoOutputs() (gas: 39785) -LibOpModTest:testOpModEvalZeroInputs() (gas: 28861) -LibOpModTest:testOpModEvalZeroOutputs() (gas: 38753) -LibOpModTest:testOpModIntegrityHappy((uint256,uint256,uint256,uint256[],uint256,bytes),uint8,uint16) (runs: 2050, μ: 17808, ~: 17819) -LibOpModTest:testOpModIntegrityUnhappyOneInput((uint256,uint256,uint256,uint256[],uint256,bytes)) (runs: 2050, μ: 13762, ~: 13612) -LibOpModTest:testOpModIntegrityUnhappyZeroInputs((uint256,uint256,uint256,uint256[],uint256,bytes)) (runs: 2050, μ: 13739, ~: 13589) -LibOpModTest:testOpModRun(uint256[]) (runs: 2048, μ: 19412, ~: 19816) -LibOpMulTest:testOpDecimal18MulNPIntegrityUnhappyOneInput((uint256,uint256,uint256,uint256[],uint256,bytes)) (runs: 2050, μ: 13784, ~: 13634) -LibOpMulTest:testOpMulEvalOneInput() (gas: 121506) -LibOpMulTest:testOpMulEvalOperandsDisallowed() (gas: 91210) -LibOpMulTest:testOpMulEvalThreeInputsHappy() (gas: 696070) -LibOpMulTest:testOpMulEvalThreeInputsUnhappyOverflow() (gas: 157504) -LibOpMulTest:testOpMulEvalTwoInputsHappy() (gas: 486223) -LibOpMulTest:testOpMulEvalTwoInputsUnhappyOverflow() (gas: 94909) -LibOpMulTest:testOpMulEvalZeroInputs() (gas: 28884) -LibOpMulTest:testOpMulIntegrityHappy((uint256,uint256,uint256,uint256[],uint256,bytes),uint8,uint16) (runs: 2050, μ: 17792, ~: 17802) -LibOpMulTest:testOpMulIntegrityUnhappyZeroInputs((uint256,uint256,uint256,uint256[],uint256,bytes)) (runs: 2050, μ: 13782, ~: 13632) -LibOpMulTest:testOpMulRun(uint256[]) (runs: 2048, μ: 19042, ~: 16680) -LibOpMulTest:testOpMulTwoOutputs() (gas: 39786) -LibOpMulTest:testOpMulZeroOutputs() (gas: 38754) -LibOpPowTest:testOpPowEval() (gas: 401203) -LibOpPowTest:testOpPowEvalOneInput() (gas: 34168) -LibOpPowTest:testOpPowEvalOperandDisallowed() (gas: 17552) -LibOpPowTest:testOpPowIntegrity((uint256,uint256,uint256,uint256[],uint256,bytes),uint256) (runs: 2050, μ: 13844, ~: 13816) -LibOpPowTest:testOpPowRun(uint256,uint256) (runs: 2050, μ: 33692, ~: 35466) -LibOpPowTest:testOpPowThreeInputs() (gas: 44219) -LibOpPowTest:testOpPowTwoOutputs() (gas: 39861) -LibOpPowTest:testOpPowZeroOutputs() (gas: 38825) -LibOpScale18DynamicTest:testOpScale18DynamicEval() (gas: 1575800) -LibOpScale18DynamicTest:testOpScale18DynamicEvalOneInput() (gas: 126569) -LibOpScale18DynamicTest:testOpScale18DynamicEvalThreeInputs() (gas: 338386) -LibOpScale18DynamicTest:testOpScale18DynamicEvalZeroInputs() (gas: 30119) -LibOpScale18DynamicTest:testOpScale18DynamicIntegrity((uint256,uint256,uint256,uint256[],uint256,bytes),uint8,uint16) (runs: 2050, μ: 17770, ~: 17776) -LibOpScale18DynamicTest:testOpScale18DynamicRun(uint256,uint256,uint256,uint256) (runs: 2050, μ: 22787, ~: 22684) -LibOpScale18DynamicTest:testOpScale18DynamicTwoOutputs() (gas: 41012) -LibOpScale18DynamicTest:testOpScale18DynamicZeroOutputs() (gas: 39998) -LibOpScale18Test:testOpScale18Eval() (gas: 1483763) -LibOpScale18Test:testOpScale18EvalOneInput() (gas: 160996) -LibOpScale18Test:testOpScale18EvalZeroInputs() (gas: 33263) -LibOpScale18Test:testOpScale18Integrity((uint256,uint256,uint256,uint256[],uint256,bytes),uint8,uint16) (runs: 2050, μ: 17717, ~: 17693) -LibOpScale18Test:testOpScale18Run(uint256,uint256,uint256,uint256) (runs: 2050, μ: 22466, ~: 22561) -LibOpScale18Test:testOpScale18TwoOutputs() (gas: 39103) -LibOpScale18Test:testOpScale18ZeroOutputs() (gas: 38085) -LibOpScale18Test:testOpUint256ToDecimal18Eval() (gas: 169107) -LibOpScaleNDynamicTest:testOpScaleNDynamicEval() (gas: 1573580) -LibOpScaleNDynamicTest:testOpScaleNDynamicEvalOneInput() (gas: 126190) -LibOpScaleNDynamicTest:testOpScaleNDynamicEvalThreeInputs() (gas: 337651) -LibOpScaleNDynamicTest:testOpScaleNDynamicEvalZeroInputs() (gas: 30027) -LibOpScaleNDynamicTest:testOpScaleNDynamicIntegrity((uint256,uint256,uint256,uint256[],uint256,bytes),uint8,uint16) (runs: 2050, μ: 17792, ~: 17782) -LibOpScaleNDynamicTest:testOpScaleNDynamicRun(uint256,uint256,uint256,uint256) (runs: 2050, μ: 20889, ~: 22336) -LibOpScaleNDynamicTest:testOpScaleNDynamicTwoOutputs() (gas: 40962) -LibOpScaleNDynamicTest:testOpScaleNDynamicZeroOutputs() (gas: 39907) -LibOpScaleNTest:testOpDecimal18ToIntNPEval() (gas: 281994) -LibOpScaleNTest:testOpScaleNEval() (gas: 1460469) -LibOpScaleNTest:testOpScaleNEvalOneInput() (gas: 157966) -LibOpScaleNTest:testOpScaleNEvalZeroInputs() (gas: 32492) -LibOpScaleNTest:testOpScaleNEvalZeroOutputs() (gas: 37356) -LibOpScaleNTest:testOpScaleNIntegrity((uint256,uint256,uint256,uint256[],uint256,bytes),uint8,uint16) (runs: 2050, μ: 17736, ~: 17709) -LibOpScaleNTest:testOpScaleNRun(uint256,uint256,uint256,uint256) (runs: 2050, μ: 20682, ~: 22456) -LibOpScaleNTest:testOpScaleNTwoOutputs() (gas: 38371) -LibOpSetNPTest:testLibOpSetNP(uint256,uint256) (runs: 2050, μ: 16038, ~: 16043) -LibOpSetNPTest:testLibOpSetNPEvalOneInput() (gas: 32852) -LibOpSetNPTest:testLibOpSetNPEvalOneOutput() (gas: 38358) -LibOpSetNPTest:testLibOpSetNPEvalOperandsDisallowed() (gas: 55669) -LibOpSetNPTest:testLibOpSetNPEvalSetTwice() (gas: 74198) -LibOpSetNPTest:testLibOpSetNPEvalThreeInputs() (gas: 43181) -LibOpSetNPTest:testLibOpSetNPEvalTwoInputs() (gas: 242520) -LibOpSetNPTest:testLibOpSetNPEvalTwoOutputs() (gas: 39010) -LibOpSetNPTest:testLibOpSetNPEvalZeroInputs() (gas: 28107) -LibOpSetNPTest:testLibOpSetNPIntegrity((uint256,uint256,uint256,uint256[],uint256,bytes),uint8,uint8,uint16) (runs: 2050, μ: 19747, ~: 19814) -LibOpShiftBitsLeftNPTest:testOpShiftBitsLeftNPEval() (gas: 837361) -LibOpShiftBitsLeftNPTest:testOpShiftBitsLeftNPIntegrityFailBadShiftAmount() (gas: 124681) -LibOpShiftBitsLeftNPTest:testOpShiftBitsLeftNPIntegrityFailTwoInputs() (gas: 43436) -LibOpShiftBitsLeftNPTest:testOpShiftBitsLeftNPIntegrityFailTwoOutputs() (gas: 39092) -LibOpShiftBitsLeftNPTest:testOpShiftBitsLeftNPIntegrityFailZeroInputs() (gas: 33265) -LibOpShiftBitsLeftNPTest:testOpShiftBitsLeftNPIntegrityFailZeroOutputs() (gas: 38074) -LibOpShiftBitsLeftNPTest:testOpShiftBitsLeftNPIntegrityHappy((uint256,uint256,uint256,uint256[],uint256,bytes),uint8,uint8,uint8) (runs: 2050, μ: 19661, ~: 19636) -LibOpShiftBitsLeftNPTest:testOpShiftBitsLeftNPIntegrityNoop((uint256,uint256,uint256,uint256[],uint256,bytes),uint8) (runs: 2050, μ: 13844, ~: 13823) -LibOpShiftBitsLeftNPTest:testOpShiftBitsLeftNPIntegrityZero((uint256,uint256,uint256,uint256[],uint256,bytes),uint8,uint16) (runs: 2050, μ: 18762, ~: 18768) -LibOpShiftBitsLeftNPTest:testOpShiftBitsLeftNPRun(uint256,uint8) (runs: 2050, μ: 15354, ~: 15354) -LibOpShiftBitsRightNPTest:testOpShiftBitsRightNPEval() (gas: 1006227) -LibOpShiftBitsRightNPTest:testOpShiftBitsRightNPIntegrityFailBadShiftAmount() (gas: 125033) -LibOpShiftBitsRightNPTest:testOpShiftBitsRightNPIntegrityHappy((uint256,uint256,uint256,uint256[],uint256,bytes),uint8,uint8,uint8) (runs: 2050, μ: 19665, ~: 19587) -LibOpShiftBitsRightNPTest:testOpShiftBitsRightNPIntegrityNoop((uint256,uint256,uint256,uint256[],uint256,bytes),uint8) (runs: 2050, μ: 13812, ~: 13791) -LibOpShiftBitsRightNPTest:testOpShiftBitsRightNPIntegrityZero((uint256,uint256,uint256,uint256[],uint256,bytes),uint8,uint16) (runs: 2050, μ: 17437, ~: 17422) -LibOpShiftBitsRightNPTest:testOpShiftBitsRightNPRun(uint256,uint8) (runs: 2050, μ: 15401, ~: 15401) -LibOpShiftBitsRightNPTest:testOpShiftBitsRightNPTwoInputs() (gas: 43515) -LibOpShiftBitsRightNPTest:testOpShiftBitsRightNPTwoOutputs() (gas: 39195) -LibOpShiftBitsRightNPTest:testOpShiftBitsRightNPZeroInputs() (gas: 33302) -LibOpShiftBitsRightNPTest:testOpShiftBitsRightNPZeroOutputs() (gas: 38158) -LibOpSnapToUnitTest:testOpSnapToUnitEval() (gas: 586229) -LibOpSnapToUnitTest:testOpSnapToUnitEvalBad() (gas: 99440) -LibOpSnapToUnitTest:testOpSnapToUnitEvalOperandDisallowed() (gas: 18120) -LibOpSnapToUnitTest:testOpSnapToUnitEvalTwoOutputs() (gas: 40437) -LibOpSnapToUnitTest:testOpSnapToUnitEvalZeroOutputs() (gas: 39426) -LibOpSnapToUnitTest:testOpSnapToUnitIntegrity((uint256,uint256,uint256,uint256[],uint256,bytes),uint256) (runs: 2050, μ: 13843, ~: 13815) -LibOpSnapToUnitTest:testOpSnapToUnitRun(uint256,uint256) (runs: 2050, μ: 19135, ~: 18821) -LibOpSqrtTest:testOpSqrtEval() (gas: 200267) -LibOpSqrtTest:testOpSqrtEvalBad() (gas: 63083) -LibOpSqrtTest:testOpSqrtEvalOperandDisallowed() (gas: 17471) -LibOpSqrtTest:testOpSqrtEvalTwoOutputs() (gas: 34746) -LibOpSqrtTest:testOpSqrtEvalZeroOutputs() (gas: 33729) -LibOpSqrtTest:testOpSqrtIntegrity((uint256,uint256,uint256,uint256[],uint256,bytes),uint256) (runs: 2050, μ: 13845, ~: 13817) -LibOpSqrtTest:testOpSqrtRun(uint256) (runs: 2050, μ: 20237, ~: 20533) -LibOpStackNPTest:testOpStackEval() (gas: 53749) -LibOpStackNPTest:testOpStackEvalSeveral() (gas: 86318) -LibOpStackNPTest:testOpStackNPIntegrity(bytes,uint256,uint256[],uint256) (runs: 2050, μ: 18431, ~: 18298) -LibOpStackNPTest:testOpStackNPIntegrityOOBStack(bytes,uint16,uint256[],uint16,uint256) (runs: 2050, μ: 18683, ~: 18663) -LibOpStackNPTest:testOpStackNPMultipleOutputErrorSugared() (gas: 38822) -LibOpStackNPTest:testOpStackNPMultipleOutputErrorUnsugared() (gas: 41751) -LibOpStackNPTest:testOpStackNPRun(uint256[][],uint256) (runs: 2050, μ: 2040033, ~: 1871142) -LibOpStackNPTest:testOpStackNPZeroOutputErrorSugared() (gas: 37434) -LibOpStackNPTest:testOpStackNPZeroOutputErrorUnsugared() (gas: 40329) -LibOpSubTest:testOpSubEval2InputsSaturatingUnderflow() (gas: 285405) -LibOpSubTest:testOpSubEval2InputsUnhappyUnderflow() (gas: 137715) -LibOpSubTest:testOpSubEval3InputsSaturatingUnderflow() (gas: 736066) -LibOpSubTest:testOpSubEval3InputsUnhappyUnderflow() (gas: 355017) -LibOpSubTest:testOpSubEvalOneInput() (gas: 122467) -LibOpSubTest:testOpSubEvalOneInputSaturating() (gas: 259869) -LibOpSubTest:testOpSubEvalThreeInputs() (gas: 209700) -LibOpSubTest:testOpSubEvalThreeInputsSaturating() (gas: 421830) -LibOpSubTest:testOpSubEvalTwoInputs() (gas: 311512) -LibOpSubTest:testOpSubEvalTwoInputsSaturating() (gas: 637471) -LibOpSubTest:testOpSubEvalZeroInputs() (gas: 28836) -LibOpSubTest:testOpSubEvalZeroInputsSaturating() (gas: 56710) -LibOpSubTest:testOpSubIntegrityHappy((uint256,uint256,uint256,uint256[],uint256,bytes),uint8,uint16) (runs: 2050, μ: 17852, ~: 17854) -LibOpSubTest:testOpSubIntegrityUnhappyOneInput((uint256,uint256,uint256,uint256[],uint256,bytes)) (runs: 2050, μ: 13784, ~: 13634) -LibOpSubTest:testOpSubIntegrityUnhappyZeroInputs((uint256,uint256,uint256,uint256[],uint256,bytes)) (runs: 2050, μ: 13783, ~: 13633) -LibOpSubTest:testOpSubRun(uint256[]) (runs: 2048, μ: 14241, ~: 13765) -LibOpTimestampNPTest:testOpBlockTimestampNPEvalFail() (gas: 62915) -LibOpTimestampNPTest:testOpBlockTimestampNPTwoOutputs() (gas: 55947) -LibOpTimestampNPTest:testOpBlockTimestampNPZeroOutputs() (gas: 53850) -LibOpTimestampNPTest:testOpTimestampNPEval(uint256) (runs: 2050, μ: 79806, ~: 79677) -LibOpTimestampNPTest:testOpTimestampNPIntegrity((uint256,uint256,uint256,uint256[],uint256,bytes),uint8,uint8,uint16) (runs: 2050, μ: 19175, ~: 19240) -LibOpTimestampNPTest:testOpTimestampNPRun(uint256) (runs: 2050, μ: 18722, ~: 18593) -LibOpUint256DivTest:testOpUint256DivEval2InputsHappy() (gas: 757043) -LibOpUint256DivTest:testOpUint256DivEval2InputsUnhappy() (gas: 136015) -LibOpUint256DivTest:testOpUint256DivEval3InputsHappy() (gas: 1418516) -LibOpUint256DivTest:testOpUint256DivEval3InputsUnhappy() (gas: 448854) -LibOpUint256DivTest:testOpUint256DivEvalOneInput() (gas: 125660) -LibOpUint256DivTest:testOpUint256DivEvalOperandDisallowed() (gas: 61124) -LibOpUint256DivTest:testOpUint256DivEvalTwoOutputs() (gas: 40413) -LibOpUint256DivTest:testOpUint256DivEvalZeroInputs() (gas: 29511) -LibOpUint256DivTest:testOpUint256DivEvalZeroOutputs() (gas: 39402) -LibOpUint256DivTest:testOpUint256DivIntegrityHappy((uint256,uint256,uint256,uint256[],uint256,bytes),uint8,uint16) (runs: 2050, μ: 17809, ~: 17814) -LibOpUint256DivTest:testOpUint256DivIntegrityUnhappyOneInput((uint256,uint256,uint256,uint256[],uint256,bytes)) (runs: 2050, μ: 13804, ~: 13654) -LibOpUint256DivTest:testOpUint256DivIntegrityUnhappyZeroInputs((uint256,uint256,uint256,uint256[],uint256,bytes)) (runs: 2050, μ: 13759, ~: 13609) -LibOpUint256DivTest:testOpUint256DivRun(uint256[]) (runs: 2048, μ: 19371, ~: 19774) -LibOpUint256ERC20AllowanceTest:testOpERC20AllowanceNPEvalFourInputs() (gas: 54766) -LibOpUint256ERC20AllowanceTest:testOpERC20AllowanceNPEvalHappy(uint256) (runs: 2050, μ: 66305, ~: 66305) -LibOpUint256ERC20AllowanceTest:testOpERC20AllowanceNPEvalOneInput() (gas: 36432) -LibOpUint256ERC20AllowanceTest:testOpERC20AllowanceNPEvalOperandDisallowed() (gas: 19012) -LibOpUint256ERC20AllowanceTest:testOpERC20AllowanceNPEvalTwoInputs() (gas: 42645) -LibOpUint256ERC20AllowanceTest:testOpERC20AllowanceNPEvalTwoOutputs() (gas: 49629) -LibOpUint256ERC20AllowanceTest:testOpERC20AllowanceNPEvalZeroInputs() (gas: 30471) -LibOpUint256ERC20AllowanceTest:testOpERC20AllowanceNPEvalZeroOutputs() (gas: 48573) -LibOpUint256ERC20AllowanceTest:testOpERC20AllowanceNPIntegrity((uint256,uint256,uint256,uint256[],uint256,bytes),uint256) (runs: 2050, μ: 13825, ~: 13797) -LibOpUint256ERC20AllowanceTest:testOpERC20AllowanceNPRun(address,address,address,uint256) (runs: 2050, μ: 22213, ~: 22213) -LibOpUint256ERC20BalanceOfTest:testOpERC20BalanceOfNPEvalHappy(uint256) (runs: 2050, μ: 59662, ~: 59662) -LibOpUint256ERC20BalanceOfTest:testOpERC20BalanceOfNPEvalOneInput() (gas: 36492) -LibOpUint256ERC20BalanceOfTest:testOpERC20BalanceOfNPEvalOperandDisallowed() (gas: 19093) -LibOpUint256ERC20BalanceOfTest:testOpERC20BalanceOfNPEvalThreeInputs() (gas: 48512) -LibOpUint256ERC20BalanceOfTest:testOpERC20BalanceOfNPEvalTwoOutputs() (gas: 43405) -LibOpUint256ERC20BalanceOfTest:testOpERC20BalanceOfNPEvalZeroInputs() (gas: 30529) -LibOpUint256ERC20BalanceOfTest:testOpERC20BalanceOfNPEvalZeroOutputs() (gas: 42392) -LibOpUint256ERC20BalanceOfTest:testOpERC20BalanceOfNPIntegrity((uint256,uint256,uint256,uint256[],uint256,bytes),uint256) (runs: 2050, μ: 13867, ~: 13839) -LibOpUint256ERC20BalanceOfTest:testOpERC20BalanceOfNPRun(address,address,uint256,uint16) (runs: 2049, μ: 21814, ~: 21814) -LibOpUint256ERC20TotalSupplyTest:testOpERC20TotalSupplyNPEvalHappy(uint256) (runs: 2050, μ: 53126, ~: 53126) -LibOpUint256ERC20TotalSupplyTest:testOpERC20TotalSupplyNPEvalOperandDisallowed() (gas: 19299) -LibOpUint256ERC20TotalSupplyTest:testOpERC20TotalSupplyNPEvalTwoInputs() (gas: 42910) -LibOpUint256ERC20TotalSupplyTest:testOpERC20TotalSupplyNPEvalTwoOutputs() (gas: 37335) -LibOpUint256ERC20TotalSupplyTest:testOpERC20TotalSupplyNPEvalZeroInputs() (gas: 30692) -LibOpUint256ERC20TotalSupplyTest:testOpERC20TotalSupplyNPEvalZeroOutputs() (gas: 36277) -LibOpUint256ERC20TotalSupplyTest:testOpERC20TotalSupplyNPIntegrity((uint256,uint256,uint256,uint256[],uint256,bytes),uint256) (runs: 2050, μ: 13847, ~: 13819) -LibOpUint256ERC20TotalSupplyTest:testOpERC20TotalSupplyNPRun(address,uint256,uint16) (runs: 2050, μ: 21277, ~: 21277) -LibOpUint256ERC721BalanceOfTest:testOpERC721BalanceOfEvalHappy(address,address,uint256) (runs: 2049, μ: 99786, ~: 99947) -LibOpUint256ERC721BalanceOfTest:testOpERC721BalanceOfIntegrity((uint256,uint256,uint256,uint256[],uint256,bytes),uint8,uint8,uint16) (runs: 2050, μ: 19193, ~: 19251) -LibOpUint256ERC721BalanceOfTest:testOpERC721BalanceOfIntegrityFail0() (gas: 30258) -LibOpUint256ERC721BalanceOfTest:testOpERC721BalanceOfIntegrityFail1() (gas: 34533) -LibOpUint256ERC721BalanceOfTest:testOpERC721BalanceOfIntegrityFail3() (gas: 43768) -LibOpUint256ERC721BalanceOfTest:testOpERC721BalanceOfIntegrityFailOperand() (gas: 21960) -LibOpUint256ERC721BalanceOfTest:testOpERC721BalanceOfOneInput() (gas: 34884) -LibOpUint256ERC721BalanceOfTest:testOpERC721BalanceOfRun(address,address,uint256,uint16) (runs: 2049, μ: 21901, ~: 21901) -LibOpUint256ERC721BalanceOfTest:testOpERC721BalanceOfThreeInputs() (gas: 44109) -LibOpUint256ERC721BalanceOfTest:testOpERC721BalanceOfTwoOutputs() (gas: 40146) -LibOpUint256ERC721BalanceOfTest:testOpERC721BalanceOfZeroInputs() (gas: 30576) -LibOpUint256ERC721BalanceOfTest:testOpERC721BalanceOfZeroOutputs() (gas: 39135) -LibOpUint256MulTest:testOpUint256MulEvalOneInput() (gas: 125212) -LibOpUint256MulTest:testOpUint256MulEvalOperandsDisallowed() (gas: 95099) -LibOpUint256MulTest:testOpUint256MulEvalThreeInputsHappy() (gas: 1005000) -LibOpUint256MulTest:testOpUint256MulEvalThreeInputsUnhappy() (gas: 621580) -LibOpUint256MulTest:testOpUint256MulEvalTwoInputsHappy() (gas: 404569) -LibOpUint256MulTest:testOpUint256MulEvalTwoInputsUnhappy() (gas: 135048) -LibOpUint256MulTest:testOpUint256MulEvalTwoOutputs() (gas: 40401) -LibOpUint256MulTest:testOpUint256MulEvalZeroInputs() (gas: 29520) -LibOpUint256MulTest:testOpUint256MulEvalZeroOutputs() (gas: 39414) -LibOpUint256MulTest:testOpUint256MulIntegrityHappy((uint256,uint256,uint256,uint256[],uint256,bytes),uint8,uint16) (runs: 2050, μ: 17866, ~: 17864) -LibOpUint256MulTest:testOpUint256MulIntegrityUnhappyOneInput((uint256,uint256,uint256,uint256[],uint256,bytes)) (runs: 2050, μ: 13760, ~: 13610) -LibOpUint256MulTest:testOpUint256MulIntegrityUnhappyZeroInputs((uint256,uint256,uint256,uint256[],uint256,bytes)) (runs: 2050, μ: 13783, ~: 13633) -LibOpUint256MulTest:testOpUint256MulRun(uint256[]) (runs: 2048, μ: 14887, ~: 14469) -LibOpUint256PowTest:testOpUint256ExpIntegrityHappy((uint256,uint256,uint256,uint256[],uint256,bytes),uint8,uint16) (runs: 2050, μ: 17796, ~: 17745) -LibOpUint256PowTest:testOpUint256PowEval2InputsHappy() (gas: 848704) -LibOpUint256PowTest:testOpUint256PowEval2InputsUnhappy() (gas: 136998) -LibOpUint256PowTest:testOpUint256PowEval3InputsHappy() (gas: 1977622) -LibOpUint256PowTest:testOpUint256PowEval3InputsUnhappy() (gas: 608268) -LibOpUint256PowTest:testOpUint256PowEvalOneInput() (gas: 125860) -LibOpUint256PowTest:testOpUint256PowEvalOperandDisallowed() (gas: 61726) -LibOpUint256PowTest:testOpUint256PowEvalTwoOutputs() (gas: 40608) -LibOpUint256PowTest:testOpUint256PowEvalZeroInputs() (gas: 29725) -LibOpUint256PowTest:testOpUint256PowEvalZeroOutputs() (gas: 39532) -LibOpUint256PowTest:testOpUint256PowIntegrityUnhappyOneInput((uint256,uint256,uint256,uint256[],uint256,bytes)) (runs: 2050, μ: 13762, ~: 13612) -LibOpUint256PowTest:testOpUint256PowIntegrityUnhappyZeroInputs((uint256,uint256,uint256,uint256[],uint256,bytes)) (runs: 2050, μ: 13739, ~: 13589) -LibOpUint256PowTest:testOpUint256PowRun(uint256[]) (runs: 2048, μ: 16355, ~: 15723) -LibParseCommentsTest:testParseCommentAfterSources() (gas: 68194) -LibParseCommentsTest:testParseCommentBetweenSources() (gas: 68271) -LibParseCommentsTest:testParseCommentInIgnoredLHS() (gas: 41415) -LibParseCommentsTest:testParseCommentInLHSWhitespace() (gas: 41692) -LibParseCommentsTest:testParseCommentInNamedLHS() (gas: 41563) -LibParseCommentsTest:testParseCommentInRHS() (gas: 41860) -LibParseCommentsTest:testParseCommentInRHS2() (gas: 44678) -LibParseCommentsTest:testParseCommentInRHS3() (gas: 44688) -LibParseCommentsTest:testParseCommentLong() (gas: 61773) -LibParseCommentsTest:testParseCommentManyAstericks() (gas: 54962) -LibParseCommentsTest:testParseCommentManyAstericksTrailing() (gas: 54898) -LibParseCommentsTest:testParseCommentMultiple() (gas: 72897) -LibParseCommentsTest:testParseCommentNoTrailingWhitespace() (gas: 42267) -LibParseCommentsTest:testParseCommentNoWords() (gas: 51433) -LibParseCommentsTest:testParseCommentSingleWord() (gas: 55418) -LibParseCommentsTest:testParseCommentSingleWordSameLine() (gas: 56246) -LibParseCommentsTest:testParseCommentUnclosed() (gas: 41939) -LibParseCommentsTest:testParseCommentUnclosed2() (gas: 42115) -LibParseEmptyGasTest:testParseGasEmpty00() (gas: 37570) -LibParseEmptyGasTest:testParseGasEmpty01() (gas: 42253) -LibParseEmptyGasTest:testParseGasEmpty02() (gas: 46331) -LibParseEmptyGasTest:testParseGasEmpty03() (gas: 50386) -LibParseEmptyGasTest:testParseGasEmpty04() (gas: 54441) -LibParseEmptyTest:testParseEmpty00() (gas: 41746) -LibParseEmptyTest:testParseEmpty01() (gas: 49720) -LibParseEmptyTest:testParseEmpty02() (gas: 57361) -LibParseEmptyTest:testParseEmpty03() (gas: 64801) -LibParseEmptyTest:testParseEmpty04() (gas: 72262) -LibParseEmptyTest:testParseEmpty08() (gas: 102163) -LibParseEmptyTest:testParseEmpty15() (gas: 154427) -LibParseEmptyTest:testParseEmptyError16() (gas: 85274) -LibParseIgnoredLHSTest:testParseIgnoredLHSAlphaTooLong() (gas: 51784) -LibParseIgnoredLHSTest:testParseIgnoredLHSLoneUnderscore() (gas: 50404) -LibParseIgnoredLHSTest:testParseIgnoredLHSMultipleLines() (gas: 53632) -LibParseIgnoredLHSTest:testParseIgnoredLHSTwoAlphas() (gas: 51501) -LibParseIgnoredLHSTest:testParseIgnoredLHSTwoUnderscores() (gas: 51338) -LibParseIgnoredLHSTest:testParseIgnoredLHSUnderscoreAlpha() (gas: 50478) -LibParseIgnoredLHSTest:testParseIgnoredLHSUnderscoreNotInput() (gas: 55415) -LibParseIgnoredLHSTest:testParseIgnoredWordTooLong() (gas: 53029) -LibParseInputsOnlyGasTest:testParseGasInputsOnly00() (gas: 42946) -LibParseInputsOnlyGasTest:testParseGasInputsOnly01() (gas: 43869) -LibParseInputsOnlyGasTest:testParseGasInputsOnly02() (gas: 44765) -LibParseInputsOnlyGasTest:testParseGasInputsOnly03() (gas: 45687) -LibParseInputsOnlyGasTest:testParseGasInputsOnly04() (gas: 46609) -LibParseInputsOnlyGasTest:testParseGasInputsOnly05() (gas: 47531) -LibParseInputsOnlyGasTest:testParseGasInputsOnly06() (gas: 48451) -LibParseInputsOnlyGasTest:testParseGasInputsOnly07() (gas: 49403) -LibParseInputsOnlyGasTest:testParseGasInputsOnly08() (gas: 50292) -LibParseInputsOnlyGasTest:testParseGasInputsOnly09() (gas: 51214) -LibParseInputsOnlyTest:testParseInputsOnlyMultiple() (gas: 51293) -LibParseInputsOnlyTest:testParseInputsOnlySingle() (gas: 50395) -LibParseIsMaskTest:testIsMaskPastEnd(uint256,uint256,uint256) (runs: 2050, μ: 16916, ~: 18818) -LibParseIsMaskTest:testIsMaskReference(string,uint256,uint256) (runs: 2050, μ: 8238, ~: 8289) -LibParseLiteralBoundLiteralHexTest:testParseLiteralBoundLiteralHexBounds() (gas: 17333) -LibParseLiteralBoundLiteralHexTest:testParseLiteralBoundLiteralHexFuzz(string,bytes1,string) (runs: 2050, μ: 43433, ~: 42204) -LibParseLiteralDecimalParseDecimalFloatTest:testParseLiteralDecimalFloatDecimals() (gas: 406343) -LibParseLiteralDecimalParseDecimalFloatTest:testParseLiteralDecimalFloatDotE() (gas: 5216) -LibParseLiteralDecimalParseDecimalFloatTest:testParseLiteralDecimalFloatDotE0() (gas: 5194) -LibParseLiteralDecimalParseDecimalFloatTest:testParseLiteralDecimalFloatDotRevert() (gas: 5195) -LibParseLiteralDecimalParseDecimalFloatTest:testParseLiteralDecimalFloatDotRevert2() (gas: 5194) -LibParseLiteralDecimalParseDecimalFloatTest:testParseLiteralDecimalFloatDotRevert3() (gas: 6037) -LibParseLiteralDecimalParseDecimalFloatTest:testParseLiteralDecimalFloatEDot() (gas: 5218) -LibParseLiteralDecimalParseDecimalFloatTest:testParseLiteralDecimalFloatEmpty() (gas: 5183) -LibParseLiteralDecimalParseDecimalFloatTest:testParseLiteralDecimalFloatExponentRevert() (gas: 5163) -LibParseLiteralDecimalParseDecimalFloatTest:testParseLiteralDecimalFloatExponentRevert2() (gas: 6253) -LibParseLiteralDecimalParseDecimalFloatTest:testParseLiteralDecimalFloatExponentRevert3() (gas: 6269) -LibParseLiteralDecimalParseDecimalFloatTest:testParseLiteralDecimalFloatExponentRevert4() (gas: 5216) -LibParseLiteralDecimalParseDecimalFloatTest:testParseLiteralDecimalFloatExponentRevert5() (gas: 5237) -LibParseLiteralDecimalParseDecimalFloatTest:testParseLiteralDecimalFloatExponentRevert6() (gas: 5238) -LibParseLiteralDecimalParseDecimalFloatTest:testParseLiteralDecimalFloatExponents() (gas: 443340) -LibParseLiteralDecimalParseDecimalFloatTest:testParseLiteralDecimalFloatFuzz(uint256,uint8,bool) (runs: 2050, μ: 45603, ~: 37336) -LibParseLiteralDecimalParseDecimalFloatTest:testParseLiteralDecimalFloatLeadingZeros() (gas: 64472) -LibParseLiteralDecimalParseDecimalFloatTest:testParseLiteralDecimalFloatNegativeE() (gas: 7259) -LibParseLiteralDecimalParseDecimalFloatTest:testParseLiteralDecimalFloatNegativeFrac() (gas: 6008) -LibParseLiteralDecimalParseDecimalFloatTest:testParseLiteralDecimalFloatNonDecimal() (gas: 5194) -LibParseLiteralDecimalParseDecimalFloatTest:testParseLiteralDecimalFloatPrecisionRevert0() (gas: 28246) -LibParseLiteralDecimalParseDecimalFloatTest:testParseLiteralDecimalFloatPrecisionRevert1() (gas: 28124) -LibParseLiteralDecimalParseDecimalFloatTest:testParseLiteralDecimalFloatSpecific() (gas: 27281) -LibParseLiteralDecimalParseDecimalFloatTest:testParseLiteralDecimalFloatUnrelated() (gas: 36407) -LibParseLiteralDecimalTest:testParseLiteralDecimalDecimals() (gas: 169939) -LibParseLiteralDecimalTest:testParseLiteralDecimalDotError() (gas: 5137) -LibParseLiteralDecimalTest:testParseLiteralDecimalDotError2() (gas: 5137) -LibParseLiteralDecimalTest:testParseLiteralDecimalDotError3() (gas: 5765) -LibParseLiteralDecimalTest:testParseLiteralDecimalDotError4() (gas: 5117) -LibParseLiteralDecimalTest:testParseLiteralDecimalDotError5() (gas: 5094) -LibParseLiteralDecimalTest:testParseLiteralDecimalDotError6() (gas: 5095) -LibParseLiteralDecimalTest:testParseLiteralDecimalEmpty() (gas: 5049) -LibParseLiteralDecimalTest:testParseLiteralDecimalExponents() (gas: 166109) -LibParseLiteralDecimalTest:testParseLiteralDecimalExponents2() (gas: 235133) -LibParseLiteralDecimalTest:testParseLiteralDecimalExponents2Capital() (gas: 169693) -LibParseLiteralDecimalTest:testParseLiteralDecimalExponents3() (gas: 256423) -LibParseLiteralDecimalTest:testParseLiteralDecimalExponents4() (gas: 136502) -LibParseLiteralDecimalTest:testParseLiteralDecimalExponentsError() (gas: 5136) -LibParseLiteralDecimalTest:testParseLiteralDecimalExponentsError3() (gas: 5870) -LibParseLiteralDecimalTest:testParseLiteralDecimalExponentsError4() (gas: 5138) -LibParseLiteralDecimalTest:testParseLiteralDecimalExponentsError5() (gas: 5138) -LibParseLiteralDecimalTest:testParseLiteralDecimalNegativeExponents() (gas: 219344) -LibParseLiteralDecimalTest:testParseLiteralDecimalNegativeExponentsError() (gas: 6489) -LibParseLiteralDecimalTest:testParseLiteralDecimalNonDecimal() (gas: 5041) -LibParseLiteralDecimalTest:testParseLiteralDecimalOverflow() (gas: 7472) -LibParseLiteralDecimalTest:testParseLiteralDecimalPrecisionLossDecimal() (gas: 7330) -LibParseLiteralDecimalTest:testParseLiteralDecimalPrecisionLossDecimalMax() (gas: 11787) -LibParseLiteralDecimalTest:testParseLiteralDecimalPrecisionLossDecimalSmall() (gas: 11450) -LibParseLiteralDecimalTest:testParseLiteralDecimalPrecisionLossInteger() (gas: 7192) -LibParseLiteralDecimalTest:testParseLiteralDecimalRoundTrip(uint256) (runs: 2050, μ: 21595, ~: 20921) -LibParseLiteralDecimalTest:testParseLiteralDecimalSpecific() (gas: 49442) -LibParseLiteralDecimalTest:testParseLiteralDecimalTrailingZeros() (gas: 198848) -LibParseLiteralDecimalTest:testParseLiteralDecimalUnrelated() (gas: 70886) -LibParseLiteralHexBoundHexTest:testParseLiteralHexRoundTrip(uint256) (runs: 2050, μ: 18084, ~: 13270) -LibParseLiteralIntegerDecimalTest:testParseIntegerLiteralDecimal00() (gas: 55518) -LibParseLiteralIntegerDecimalTest:testParseIntegerLiteralDecimal01() (gas: 62770) -LibParseLiteralIntegerDecimalTest:testParseIntegerLiteralDecimal02() (gas: 69243) -LibParseLiteralIntegerDecimalTest:testParseIntegerLiteralDecimalENotation() (gas: 87706) -LibParseLiteralIntegerDecimalTest:testParseIntegerLiteralDecimalParensBoth() (gas: 45583) -LibParseLiteralIntegerDecimalTest:testParseIntegerLiteralDecimalParensLeft() (gas: 45625) -LibParseLiteralIntegerDecimalTest:testParseIntegerLiteralDecimalParensRight() (gas: 45484) -LibParseLiteralIntegerDecimalTest:testParseIntegerLiteralDecimalUint256Max() (gas: 77678) -LibParseLiteralIntegerDecimalTest:testParseIntegerLiteralDecimalUint256MaxLeadingZeros() (gas: 78178) -LibParseLiteralIntegerDecimalTest:testParseIntegerLiteralDecimalUint256OverflowLeadingDigit() (gas: 64314) -LibParseLiteralIntegerDecimalTest:testParseIntegerLiteralDecimalUint256OverflowLeadingDigitLeadingZeros() (gas: 64434) -LibParseLiteralIntegerDecimalTest:testParseIntegerLiteralDecimalUint256OverflowLeadingZeros() (gas: 64597) -LibParseLiteralIntegerDecimalTest:testParseIntegerLiteralDecimalUint256OverflowSimple() (gas: 64424) -LibParseLiteralIntegerDecimalTest:testParseIntegerLiteralDecimalYang() (gas: 46061) -LibParseLiteralIntegerHexTest:testParseIntegerLiteralHex00() (gas: 54645) -LibParseLiteralIntegerHexTest:testParseIntegerLiteralHex01() (gas: 60281) -LibParseLiteralIntegerHexTest:testParseIntegerLiteralHex02() (gas: 65275) -LibParseLiteralIntegerHexTest:testParseIntegerLiteralHexUint256Max() (gas: 71345) -LibParseLiteralStringBoundTest:testParseStringLiteralBounds(string) (runs: 2049, μ: 15969, ~: 16015) -LibParseLiteralStringBoundTest:testParseStringLiteralBoundsInvalidCharBefore(string,uint256) (runs: 2050, μ: 29103, ~: 29036) -LibParseLiteralStringBoundTest:testParseStringLiteralBoundsParserOutOfBounds(string,uint256) (runs: 2049, μ: 18088, ~: 17911) -LibParseLiteralStringBoundTest:testParseStringLiteralBoundsTooLong(string) (runs: 2049, μ: 30535, ~: 30107) -LibParseLiteralStringTest:testParseStringLiteralAny(bytes) (runs: 2048, μ: 13111, ~: 13014) -LibParseLiteralStringTest:testParseStringLiteralCorrupt(bytes,uint256) (runs: 2048, μ: 18032, ~: 17971) -LibParseLiteralStringTest:testParseStringLiteralEmpty() (gas: 53559) -LibParseLiteralStringTest:testParseStringLiteralEmpty() (gas: 5543) -LibParseLiteralStringTest:testParseStringLiteralInvalidCharAfter(string,string) (runs: 2049, μ: 67976, ~: 67556) -LibParseLiteralStringTest:testParseStringLiteralInvalidCharWithin(string,uint256) (runs: 2050, μ: 65929, ~: 65817) -LibParseLiteralStringTest:testParseStringLiteralLongASCII(string) (runs: 2049, μ: 67397, ~: 66965) -LibParseLiteralStringTest:testParseStringLiteralShortASCII(string) (runs: 2049, μ: 61266, ~: 61313) -LibParseLiteralStringTest:testParseStringLiteralSimple() (gas: 53662) -LibParseLiteralStringTest:testParseStringLiteralTwo(string,string) (runs: 2048, μ: 74302, ~: 74242) -LibParseLiteralSubParseableTest:testParseLiteralSubParseableBody() (gas: 52887) -LibParseLiteralSubParseableTest:testParseLiteralSubParseableEmptyBody() (gas: 16526) -LibParseLiteralSubParseableTest:testParseLiteralSubParseableHappyFuzz(string,string,string) (runs: 2050, μ: 85253, ~: 84760) -LibParseLiteralSubParseableTest:testParseLiteralSubParseableMissingDispatchEmpty() (gas: 7839) -LibParseLiteralSubParseableTest:testParseLiteralSubParseableMissingDispatchUnclosed() (gas: 7844) -LibParseLiteralSubParseableTest:testParseLiteralSubParseableMissingDispatchUnclosedWhitespace0() (gas: 7837) -LibParseLiteralSubParseableTest:testParseLiteralSubParseableMissingDispatchUnclosedWhitespace1() (gas: 7794) -LibParseLiteralSubParseableTest:testParseLiteralSubParseableUnclosedDispatch0() (gas: 8252) -LibParseLiteralSubParseableTest:testParseLiteralSubParseableUnclosedDispatchBody() (gas: 8414) -LibParseLiteralSubParseableTest:testParseLiteralSubParseableUnclosedDispatchWhitespace0() (gas: 8346) -LibParseLiteralSubParseableTest:testParseLiteralSubParseableUnclosedDispatchWhitespace1() (gas: 7817) -LibParseLiteralSubParseableTest:testParseLiteralSubParseableUnclosedDoubleOpen() (gas: 8274) -LibParseMissingFinalSemiTest:testParseMissingFinalSemiRevertsEmptySource() (gas: 44180) -LibParseMissingFinalSemiTest:testParseMissingFinalSemiRevertsLHSItems() (gas: 42131) -LibParseMissingFinalSemiTest:testParseMissingFinalSemiRevertsLoneColon() (gas: 41247) -LibParseMissingFinalSemiTest:testParseMissingFinalSemiRevertsSingleWord() (gas: 44158) -LibParseMissingFinalSemiTest:testParseMissingFinalSemiRevertsTrailingComma() (gas: 42405) -LibParseNOutputTest:testParseBalanceStackOffsetsInputs() (gas: 60488) -LibParseNOutputTest:testParseNOutputExcessRHS0() (gas: 49623) -LibParseNOutputTest:testParseNOutputExcessRHS1() (gas: 47915) -LibParseNOutputTest:testParseNOutputExcessRHS2() (gas: 48314) -LibParseNOutputTest:testParseNOutputExcessRHS3() (gas: 49647) -LibParseNOutputTest:testParseNOutputNestedRHS() (gas: 55754) -LibParseNamedLHSTest:testParseNamedDuplicateDifferentSource() (gas: 54420) -LibParseNamedLHSTest:testParseNamedError32() (gas: 44047) -LibParseNamedLHSTest:testParseNamedError33() (gas: 44024) -LibParseNamedLHSTest:testParseNamedErrorDuplicateSameSource() (gas: 44482) -LibParseNamedLHSTest:testParseNamedLHSEmptySourceExamples() (gas: 151264) -LibParseNamedLHSTest:testParseNamedLHSStackIndex() (gas: 57179) -LibParseNamedLHSTest:testParseNamedLHSTwoInputs() (gas: 59946) -LibParseNamedRHSTest:testParseSingleLHSNestingAndSequential00() (gas: 77379) -LibParseNamedRHSTest:testParseSingleLHSNestingAndSequential01() (gas: 92236) -LibParseNamedRHSTest:testParseSingleLHSNestingAndSequential02() (gas: 87634) -LibParseNamedRHSTest:testParseSingleLHSNestingAndSequential03() (gas: 189412) -LibParseNamedRHSTest:testParseSingleWord() (gas: 53392) -LibParseNamedRHSTest:testParseTwoFullLinesSingleRHSEach() (gas: 73943) -LibParseNamedRHSTest:testParseTwoFullSourcesSingleRHSEach() (gas: 64768) -LibParseNamedRHSTest:testParseTwoNested() (gas: 56794) -LibParseNamedRHSTest:testParseTwoNestedAsThirdInput() (gas: 66587) -LibParseNamedRHSTest:testParseTwoSequential() (gas: 58429) -LibParseNamedRHSTest:testParseTwoSequentialWithInputs() (gas: 71329) -LibParseOperand8M1M1Test:testOperand8M1M1Elided() (gas: 91043) -LibParseOperand8M1M1Test:testOperand8M1M1Single() (gas: 264585) -LibParseOperand8M1M1Test:testOperand8M1M1SingleBit() (gas: 546146) -LibParseOperand8M1M1Test:testOperand8M1M1SingleBitsPart1() (gas: 1552186) -LibParseOperand8M1M1Test:testOperand8M1M1Unclosed() (gas: 301312) -LibParseOperand8M1M1Test:testOperand8M1M1Unopened() (gas: 46550) -LibParseOperandDisallowedTest:testOperandDisallowed() (gas: 43291) -LibParseOperandDisallowedTest:testOperandDisallowed1() (gas: 43759) -LibParseOperandDisallowedTest:testOperandDisallowed3() (gas: 45670) -LibParseOperandDisallowedTest:testOperandDisallowed4() (gas: 45692) -LibParseOperandDoublePerByteNoDefaultTest:testOperandDoublePerByteNoDefaultElided() (gas: 42781) -LibParseOperandDoublePerByteNoDefaultTest:testOperandDoublePerByteNoDefaultEmpty() (gas: 43171) -LibParseOperandDoublePerByteNoDefaultTest:testOperandDoublePerByteNoDefaultFirst() (gas: 45744) -LibParseOperandDoublePerByteNoDefaultTest:testOperandDoublePerByteNoDefaultMultipleWhitespace() (gas: 57474) -LibParseOperandDoublePerByteNoDefaultTest:testOperandDoublePerByteNoDefaultPostfixWhitespace() (gas: 56713) -LibParseOperandDoublePerByteNoDefaultTest:testOperandDoublePerByteNoDefaultPrefixWhitespace() (gas: 56689) -LibParseOperandDoublePerByteNoDefaultTest:testOperandDoublePerByteNoDefaultSecond() (gas: 56328) -LibParseOperandDoublePerByteNoDefaultTest:testOperandDoublePerByteNoDefaultSecondMax() (gas: 57447) -LibParseOperandDoublePerByteNoDefaultTest:testOperandDoublePerByteNoDefaultSecondMaxZero() (gas: 56808) -LibParseOperandDoublePerByteNoDefaultTest:testOperandDoublePerByteNoDefaultSecondOverflow() (gas: 50078) -LibParseOperandDoublePerByteNoDefaultTest:testOperandDoublePerByteNoDefaultSecondOverflowFirst() (gas: 50079) -LibParseOperandDoublePerByteNoDefaultTest:testOperandDoublePerByteNoDefaultSecondZero() (gas: 56193) -LibParseOperandDoublePerByteNoDefaultTest:testOperandDoublePerByteNoDefaultSecondZeroMax() (gas: 56830) -LibParseOperandDoublePerByteNoDefaultTest:testOperandDoublePerByteNoDefaultThird() (gas: 51663) -LibParseOperandDoublePerByteNoDefaultTest:testOperandDoublePerByteNoDefaultUnclosed() (gas: 48493) -LibParseOperandDoublePerByteNoDefaultTest:testOperandDoublePerByteNoDefaultUnopened() (gas: 42782) -LibParseOperandHandleOperand8M1M1Test:testHandleOperand8M1M1AllValues(uint256,uint256,uint256) (runs: 2050, μ: 10903, ~: 10989) -LibParseOperandHandleOperand8M1M1Test:testHandleOperand8M1M1AllValuesThirdValueTooLarge(uint256,uint256,uint256) (runs: 2050, μ: 10933, ~: 10751) -LibParseOperandHandleOperand8M1M1Test:testHandleOperand8M1M1FirstAndSecondValue(uint256,uint256) (runs: 2050, μ: 9338, ~: 9329) -LibParseOperandHandleOperand8M1M1Test:testHandleOperand8M1M1FirstAndSecondValueSecondValueTooLarge(uint256,uint256) (runs: 2050, μ: 9354, ~: 9088) -LibParseOperandHandleOperand8M1M1Test:testHandleOperand8M1M1FirstValueOnly(uint256) (runs: 2050, μ: 7827, ~: 7886) -LibParseOperandHandleOperand8M1M1Test:testHandleOperand8M1M1FirstValueTooLarge(uint256) (runs: 2050, μ: 7770, ~: 7979) -LibParseOperandHandleOperand8M1M1Test:testHandleOperand8M1M1ManyValues(uint256[]) (runs: 2050, μ: 14020, ~: 14029) -LibParseOperandHandleOperand8M1M1Test:testHandleOperand8M1M1NoValues() (gas: 3508) -LibParseOperandHandleOperandDisallowedTest:testHandleOperandDisallowedAnyValues(uint256[]) (runs: 2050, μ: 13808, ~: 13855) -LibParseOperandHandleOperandDisallowedTest:testHandleOperandDisallowedNoValues() (gas: 3212) -LibParseOperandHandleOperandDoublePerByteNoDefaultTest:testHandleOperandDoublePerByteNoDefaultBothValuesWithinOneByte(uint256,uint256) (runs: 2050, μ: 9096, ~: 9214) -LibParseOperandHandleOperandDoublePerByteNoDefaultTest:testHandleOperandDoublePerByteNoDefaultFirstValueTooLarge(uint256,uint256) (runs: 2050, μ: 9180, ~: 8895) -LibParseOperandHandleOperandDoublePerByteNoDefaultTest:testHandleOperandDoublePerByteNoDefaultManyValues(uint256[]) (runs: 2050, μ: 13916, ~: 13891) -LibParseOperandHandleOperandDoublePerByteNoDefaultTest:testHandleOperandDoublePerByteNoDefaultNoValues() (gas: 3507) -LibParseOperandHandleOperandDoublePerByteNoDefaultTest:testHandleOperandDoublePerByteNoDefaultOneValue(uint256) (runs: 2050, μ: 7384, ~: 7658) -LibParseOperandHandleOperandDoublePerByteNoDefaultTest:testHandleOperandDoublePerByteNoDefaultSecondValueTooLarge(uint256,uint256) (runs: 2050, μ: 9298, ~: 9277) -LibParseOperandHandleOperandM1M1Test:testHandleOperandM1M1ManyValues(uint256[]) (runs: 2050, μ: 13918, ~: 13893) -LibParseOperandHandleOperandM1M1Test:testHandleOperandM1M1NoValues() (gas: 3544) -LibParseOperandHandleOperandM1M1Test:testHandleOperandM1M1OneValue(uint256) (runs: 2050, μ: 7634, ~: 7602) -LibParseOperandHandleOperandM1M1Test:testHandleOperandM1M1OneValueTooLarge(uint256) (runs: 2050, μ: 7694, ~: 7372) -LibParseOperandHandleOperandM1M1Test:testHandleOperandM1M1TwoValues(uint256,uint256) (runs: 2050, μ: 9175, ~: 9201) -LibParseOperandHandleOperandM1M1Test:testHandleOperandM1M1TwoValuesSecondValueTooLarge(uint256,uint256) (runs: 2050, μ: 9269, ~: 9038) -LibParseOperandHandleOperandSingleFullTest:testHandleOperandSingleFullManyValues(uint256[]) (runs: 2050, μ: 13867, ~: 13889) -LibParseOperandHandleOperandSingleFullTest:testHandleOperandSingleFullNoDefaultManyValues(uint256[]) (runs: 2050, μ: 13911, ~: 13933) -LibParseOperandHandleOperandSingleFullTest:testHandleOperandSingleFullNoDefaultNoValues() (gas: 3502) -LibParseOperandHandleOperandSingleFullTest:testHandleOperandSingleFullNoDefaultSingleValue(uint256) (runs: 2050, μ: 7193, ~: 7466) -LibParseOperandHandleOperandSingleFullTest:testHandleOperandSingleFullNoValues() (gas: 3237) -LibParseOperandHandleOperandSingleFullTest:testHandleOperandSingleFullSingleValue(uint256) (runs: 2050, μ: 7408, ~: 7677) -LibParseOperandHandleOperandSingleFullTest:testHandleOperandSingleFullSingleValueDisallowed(uint256) (runs: 2050, μ: 8096, ~: 8210) -LibParseOperandHandleOperandSingleFullTest:testHandleOperandSingleFullSingleValueNoDefaultDisallowed(uint256) (runs: 2050, μ: 9119, ~: 9227) -LibParseOperandM1M1Test:testOperandM1M1Both() (gas: 56440) -LibParseOperandM1M1Test:testOperandM1M1BothZero() (gas: 55368) -LibParseOperandM1M1Test:testOperandM1M1Elided() (gas: 50298) -LibParseOperandM1M1Test:testOperandM1M1Empty() (gas: 50690) -LibParseOperandM1M1Test:testOperandM1M1First() (gas: 53339) -LibParseOperandM1M1Test:testOperandM1M1FirstOverflow() (gas: 46070) -LibParseOperandM1M1Test:testOperandM1M1Second() (gas: 56361) -LibParseOperandM1M1Test:testOperandM1M1SecondOverflow() (gas: 49170) -LibParseOperandM1M1Test:testOperandM1M1SecondZero() (gas: 56240) -LibParseOperandM1M1Test:testOperandM1M1Unclosed() (gas: 247498) -LibParseOperandM1M1Test:testOperandM1M1Unopened() (gas: 47893) -LibParseOperandParseOperandTest:testParseOperandEmptyOperand(string) (runs: 2050, μ: 42200, ~: 42204) -LibParseOperandParseOperandTest:testParseOperandFourDecimalLiterals(bool[4],uint256[4],string[5],string) (runs: 2050, μ: 341874, ~: 341749) -LibParseOperandParseOperandTest:testParseOperandNoOpeningCharacter(string) (runs: 2050, μ: 42151, ~: 42155) -LibParseOperandParseOperandTest:testParseOperandSingleDecimalLiteral(bool,uint256,string,string,string) (runs: 2050, μ: 149774, ~: 149753) -LibParseOperandParseOperandTest:testParseOperandThreeDecimalLiterals(bool,bool,bool,uint256,uint256,uint256,string,string,string,string,string) (runs: 2050, μ: 275746, ~: 276623) -LibParseOperandParseOperandTest:testParseOperandTooManyValues() (gas: 52964) -LibParseOperandParseOperandTest:testParseOperandTwoDecimalLiterals(bool,bool,uint256,uint256,string,string,string,string) (runs: 2050, μ: 214097, ~: 213889) -LibParseOperandParseOperandTest:testParseOperandUnclosed() (gas: 52478) -LibParseOperandParseOperandTest:testParseOperandUnexpectedChars() (gas: 49578) -LibParseOperandSingleFullTest:testOperandSingleFullElided() (gas: 50041) -LibParseOperandSingleFullTest:testOperandSingleFullEmpty() (gas: 50366) -LibParseOperandSingleFullTest:testOperandSingleFullHexOne() (gas: 52186) -LibParseOperandSingleFullTest:testOperandSingleFullHexUint16Max() (gas: 52798) -LibParseOperandSingleFullTest:testOperandSingleFullHexUint16MaxOverflow() (gas: 46015) -LibParseOperandSingleFullTest:testOperandSingleFullHexZero() (gas: 52187) -LibParseOperandSingleFullTest:testOperandSingleFullLeadingAndTrailingWhitespace() (gas: 52871) -LibParseOperandSingleFullTest:testOperandSingleFullLeadingWhitespace() (gas: 53485) -LibParseOperandSingleFullTest:testOperandSingleFullMultiple() (gas: 46901) -LibParseOperandSingleFullTest:testOperandSingleFullOne() (gas: 53143) -LibParseOperandSingleFullTest:testOperandSingleFullTrailingWhitespace() (gas: 53529) -LibParseOperandSingleFullTest:testOperandSingleFullUint16Max() (gas: 54241) -LibParseOperandSingleFullTest:testOperandSingleFullUint16MaxOverflow() (gas: 47108) -LibParseOperandSingleFullTest:testOperandSingleFullUnclosed() (gas: 45626) -LibParseOperandSingleFullTest:testOperandSingleFullUnopened() (gas: 43806) -LibParseOperandSingleFullTest:testOperandSingleFullZero() (gas: 53088) -LibParseParseWordTest:testLibParseParseWordEnd(uint256) (runs: 2050, μ: 9351, ~: 9368) -LibParseParseWordTest:testLibParseParseWordExamples() (gas: 26461) -LibParseParseWordTest:testLibParseParseWordReferenceImplementation(bytes,uint256) (runs: 2048, μ: 6455, ~: 6236) -LibParseParseWordTest:testLibParseParseWordTooLong(bytes) (runs: 2050, μ: 9041, ~: 9033) -LibParsePragmaKeywordTest:testPragmaKeywordNoWhitespace(uint256,string) (runs: 2050, μ: 8256, ~: 8252) -LibParsePragmaKeywordTest:testPragmaKeywordNoop((uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,uint256[],uint256,bytes,bytes),string) (runs: 2050, μ: 16560, ~: 16437) -LibParsePragmaKeywordTest:testPragmaKeywordParseSubParser(string,address,uint256,string) (runs: 2050, μ: 181202, ~: 176089) -LibParsePragmaKeywordTest:testPragmaKeywordParseSubParserCoupleOfAddresses(string,string,address,address,uint256,string) (runs: 2050, μ: 358987, ~: 357598) -LibParsePragmaKeywordTest:testPragmaKeywordParseSubParserSpecificStrings() (gas: 246981) -LibParsePragmaKeywordTest:testPragmaKeywordWhitespaceNoHex(uint256,string) (runs: 2050, μ: 19767, ~: 17118) -LibParseSingleLHSIgnoredGasTest:testParseGasSingleLHSIgnored00() (gas: 8094) -LibParseSingleLHSIgnoredGasTest:testParseGasSingleLHSIgnored01() (gas: 8154) -LibParseSingleLHSIgnoredGasTest:testParseGasSingleLHSIgnored02() (gas: 8238) -LibParseSingleLHSIgnoredGasTest:testParseGasSingleLHSIgnored03() (gas: 8319) -LibParseSingleLHSIgnoredGasTest:testParseGasSingleLHSIgnored04() (gas: 8422) -LibParseSingleLHSIgnoredGasTest:testParseGasSingleLHSIgnored05() (gas: 8461) -LibParseSingleLHSIgnoredGasTest:testParseGasSingleLHSIgnored06() (gas: 8587) -LibParseSingleLHSIgnoredGasTest:testParseGasSingleLHSIgnored07() (gas: 8626) -LibParseSingleLHSIgnoredGasTest:testParseGasSingleLHSIgnored08() (gas: 8705) -LibParseSingleLHSIgnoredGasTest:testParseGasSingleLHSIgnored09() (gas: 8811) -LibParseSingleLHSNamedGasTest:testParseGasSingleLHSNamed00() (gas: 8794) -LibParseSingleLHSNamedGasTest:testParseGasSingleLHSNamed01() (gas: 8895) -LibParseSingleLHSNamedGasTest:testParseGasSingleLHSNamed02() (gas: 8933) -LibParseSingleLHSNamedGasTest:testParseGasSingleLHSNamed03() (gas: 9035) -LibParseSingleLHSNamedGasTest:testParseGasSingleLHSNamed04() (gas: 9117) -LibParseSingleLHSNamedGasTest:testParseGasSingleLHSNamed05() (gas: 9200) -LibParseSingleLHSNamedGasTest:testParseGasSingleLHSNamed06() (gas: 9278) -LibParseSingleLHSNamedGasTest:testParseGasSingleLHSNamed07() (gas: 9382) -LibParseSingleLHSNamedGasTest:testParseGasSingleLHSNamed08() (gas: 9463) -LibParseSingleLHSNamedGasTest:testParseGasSingleLHSNamed09() (gas: 9543) -LibParseSingleLHSNamedGasTest:testParseGasSingleLHSNamed10() (gas: 9602) -LibParseSingleLHSNamedGasTest:testParseGasSingleLHSNamed11() (gas: 9662) -LibParseSingleLHSNamedGasTest:testParseGasSingleLHSNamed12() (gas: 9786) -LibParseSingleLHSNamedGasTest:testParseGasSingleLHSNamed13() (gas: 9847) -LibParseSingleLHSNamedGasTest:testParseGasSingleLHSNamed14() (gas: 9927) -LibParseSingleLHSNamedGasTest:testParseGasSingleLHSNamed15() (gas: 9985) -LibParseSingleLHSNamedGasTest:testParseGasSingleLHSNamed16() (gas: 10111) -LibParseSingleLHSNamedGasTest:testParseGasSingleLHSNamed17() (gas: 10170) -LibParseSingleLHSNamedGasTest:testParseGasSingleLHSNamed18() (gas: 10272) -LibParseSingleLHSNamedGasTest:testParseGasSingleLHSNamed19() (gas: 10311) -LibParseSingleLHSNamedGasTest:testParseGasSingleLHSNamed20() (gas: 10391) -LibParseSingleLHSNamedGasTest:testParseGasSingleLHSNamed21() (gas: 10494) -LibParseSingleLHSNamedGasTest:testParseGasSingleLHSNamed22() (gas: 10552) -LibParseSingleLHSNamedGasTest:testParseGasSingleLHSNamed23() (gas: 10636) -LibParseSingleLHSNamedGasTest:testParseGasSingleLHSNamed24() (gas: 10714) -LibParseSingleLHSNamedGasTest:testParseGasSingleLHSNamed25() (gas: 10840) -LibParseSingleLHSNamedGasTest:testParseGasSingleLHSNamed26() (gas: 10899) -LibParseSingleLHSNamedGasTest:testParseGasSingleLHSNamed27() (gas: 10959) -LibParseSingleLHSNamedGasTest:testParseGasSingleLHSNamed28() (gas: 11070) -LibParseSingleLHSNamedGasTest:testParseGasSingleLHSNamed29() (gas: 11118) -LibParseSingleLHSNamedGasTest:testParseGasSingleLHSNamed30() (gas: 11202) -LibParseSingleRHSNamedGasTest:testParseGasRHS00() (gas: 115165) -LibParseSingleRHSNamedGasTest:testParseGasRHS01() (gas: 115267) -LibParseSingleRHSNamedGasTest:testParseGasRHS02() (gas: 115326) -LibParseSingleRHSNamedGasTest:testParseGasRHS03() (gas: 115406) -LibParseSingleRHSNamedGasTest:testParseGasRHS04() (gas: 115489) -LibParseSingleRHSNamedGasTest:testParseGasRHS05() (gas: 115569) -LibParseSingleRHSNamedGasTest:testParseGasRHS06() (gas: 115629) -LibParseSingleRHSNamedGasTest:testParseGasRHS07() (gas: 115710) -LibParseSingleRHSNamedGasTest:testParseGasRHS08() (gas: 115811) -LibParseSingleRHSNamedGasTest:testParseGasRHS09() (gas: 115872) -LibParseSingleRHSNamedGasTest:testParseGasRHS10() (gas: 115995) -LibParseSingleRHSNamedGasTest:testParseGasRHS11() (gas: 116031) -LibParseSingleRHSNamedGasTest:testParseGasRHS12() (gas: 116145) -LibParseSingleRHSNamedGasTest:testParseGasRHS13() (gas: 116217) -LibParseSingleRHSNamedGasTest:testParseGasRHS14() (gas: 116275) -LibParseSingleRHSNamedGasTest:testParseGasRHS15() (gas: 116379) -LibParseSingleRHSNamedGasTest:testParseGasRHS16() (gas: 116439) -LibParseSingleRHSNamedGasTest:testParseGasRHS17() (gas: 116519) -LibParseSingleRHSNamedGasTest:testParseGasRHS18() (gas: 116644) -LibParseSingleRHSNamedGasTest:testParseGasRHS19() (gas: 116725) -LibParseSingleRHSNamedGasTest:testParseGasRHS20() (gas: 116784) -LibParseSingleRHSNamedGasTest:testParseGasRHS21() (gas: 116886) -LibParseSingleRHSNamedGasTest:testParseGasRHS22() (gas: 116924) -LibParseSingleRHSNamedGasTest:testParseGasRHS23() (gas: 117028) -LibParseSingleRHSNamedGasTest:testParseGasRHS24() (gas: 117107) -LibParseSingleRHSNamedGasTest:testParseGasRHS25() (gas: 117188) -LibParseSingleRHSNamedGasTest:testParseGasRHS26() (gas: 117250) -LibParseSingleRHSNamedGasTest:testParseGasRHS27() (gas: 117341) -LibParseSingleRHSNamedGasTest:testParseGasRHS28() (gas: 117445) -LibParseSingleRHSNamedGasTest:testParseGasRHS29() (gas: 117536) -LibParseSingleRHSNamedGasTest:testParseGasRHS30() (gas: 117598) -LibParseSourceInputsTest:testParseSourceInputsEmptyLinePrefix() (gas: 48331) -LibParseSourceInputsTest:testParseSourceInputsMultipleLines() (gas: 51041) -LibParseSourceInputsTest:testParseSourceInputsSingle() (gas: 48308) -LibParseStackNameTest:testPushAndRetrieveStackNameDouble((uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,uint256[],uint256,bytes,bytes),bytes32,bytes32) (runs: 2050, μ: 20694, ~: 20680) -LibParseStackNameTest:testPushAndRetrieveStackNameDoubleIdentical((uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,uint256[],uint256,bytes,bytes),bytes32) (runs: 2050, μ: 17937, ~: 18124) -LibParseStackNameTest:testPushAndRetrieveStackNameMany((uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,uint256[],uint256,bytes,bytes),uint256) (runs: 2050, μ: 323090, ~: 274813) -LibParseStackNameTest:testPushAndRetrieveStackNameSingle((uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,uint256[],uint256,bytes,bytes),bytes32) (runs: 2050, μ: 17816, ~: 18003) -LibParseStateConstantValueBloomTest:testConstantValueBloom(uint256) (runs: 2050, μ: 3357, ~: 3357) -LibParseStateConstantValueBloomTest:testConstantValueBloomAllBits() (gas: 44617) -LibParseStateConstantValueBloomTest:testConstantValueBloomSingleBit(uint256) (runs: 2050, μ: 3417, ~: 3417) -LibParseStateExportSubParsersTest:testExportSubParsers((uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,uint256[],uint256,bytes,bytes),address[]) (runs: 2050, μ: 151933, ~: 152126) -LibParseStateNewActiveSourcePointerTest:testAlignedOldPointer(uint256,uint256) (runs: 2050, μ: 12573, ~: 12696) -LibParseStateNewActiveSourcePointerTest:testPostUnalignedNewPointer(uint256) (runs: 2050, μ: 6529, ~: 6529) -LibParseStateNewActiveSourcePointerTest:testPreUnalignedNewPointer() (gas: 8436) -LibParseStateNewActiveSourcePointerTest:testZeroOldPointer(bytes) (runs: 2050, μ: 4604, ~: 4601) -LibParseStatePushConstantValueTest:testPushConstantValueEmpty(bytes,bytes,bytes,bytes) (runs: 2050, μ: 6321, ~: 6318) -LibParseStatePushConstantValueTest:testPushConstantValueMany(uint256[]) (runs: 2050, μ: 226420, ~: 227538) -LibParseStatePushConstantValueTest:testPushConstantValueSingle(uint256) (runs: 2050, μ: 6924, ~: 6924) -LibParseStatePushSubParserTest:testPushSubParserList((uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,uint256[],uint256,bytes,bytes),address[]) (runs: 2050, μ: 135534, ~: 136056) -LibParseStatePushSubParserTest:testPushSubParserMultiple((uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,uint256[],uint256,bytes,bytes),address,address,address) (runs: 2050, μ: 16835, ~: 16834) -LibParseStatePushSubParserTest:testPushSubParserOverflow((uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,uint256[],uint256,bytes,bytes),uint256) (runs: 2050, μ: 19138, ~: 18934) -LibParseStatePushSubParserTest:testPushSubParserZero((uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,uint256[],uint256,bytes,bytes),address) (runs: 2050, μ: 15697, ~: 15656) -LibParseUnclosedLeftParenTest:testParseUnclosedLeftParen() (gas: 44207) -LibParseUnclosedLeftParenTest:testParseUnclosedLeftParenNested() (gas: 63377) -LibParseUnclosedLeftParenTest:testParseUnclosedLeftParenNested2() (gas: 64859) -LibParseUnclosedLeftParenTest:testParseUnclosedLeftParenNested3() (gas: 74307) -LibParseUnexpectedLHSTest:testParseUnexpectedLHSBadIgnoredTail(uint8) (runs: 2050, μ: 41969, ~: 41970) -LibParseUnexpectedLHSTest:testParseUnexpectedLHSBadNamedTail(uint8,bytes) (runs: 2050, μ: 47702, ~: 47786) -LibParseUnexpectedLHSTest:testParseUnexpectedLHSEOF() (gas: 41043) -LibParseUnexpectedLHSTest:testParseUnexpectedLHSEOL() (gas: 41044) -LibParseUnexpectedLHSTest:testParseUnexpectedLHSSingleChar(uint8) (runs: 2050, μ: 41587, ~: 41587) -LibParseUnexpectedLHSTest:testParseUnexpectedLHSUnderscoreTail() (gas: 42035) -LibParseUnexpectedRHSTest:testParseUnexpectedRHS(uint8) (runs: 2050, μ: 41917, ~: 41917) -LibParseUnexpectedRHSTest:testParseUnexpectedRHSLeftParen() (gas: 41411) -LibParseUnexpectedRightParenTest:testParseUnexpectedRightParen() (gas: 40924) -LibParseUnexpectedRightParenTest:testParseUnexpectedRightParenNested() (gas: 46503) -LibSubParseSubParserExternTest:testLibSubParseSubParserExtern(address,uint8,uint8,uint8,uint16,uint8) (runs: 2050, μ: 12953, ~: 12904) -LibSubParseSubParserExternTest:testLibSubParseSubParserExternConstantsHeightOverflow(address,uint256,uint8,uint8,uint16,uint8) (runs: 2050, μ: 7691, ~: 7427) -RainterpreterExpressionDeployerNPE2DeployCheckTest:testRainterpreterExpressionDeployerDeployNoEIP1820() (gas: 9499762) -RainterpreterExpressionDeployerNPE2DescribedByMetaV1Test:testRainterpreterExpressionDeployerNPE2DescribedByMetaV1Happy() (gas: 9506782) -RainterpreterExpressionDeployerNPE2IERC165Test:testRainterpreterExpressionDeployerNPE2IERC165(bytes4) (runs: 2050, μ: 9507878, ~: 9507878) -RainterpreterExpressionDeployerNPE2MetaTest:testRainterpreterExpressionDeployerNPE2ExpectedConstructionMetaHash() (gas: 6173) -RainterpreterNPE2IERC165Test:testRainterpreterNPE2IERC165(bytes4) (runs: 2050, μ: 4105796, ~: 4105796) -RainterpreterNPE2PointersTest:testOpcodeFunctionPointers() (gas: 4112532) -RainterpreterNPE2Test:testRainterpreterNPE2OddFunctionPointersLength() (gas: 3690) -RainterpreterParserNPE2IERC165Test:testRainterpreterParserNPE2IERC165(bytes4) (runs: 2050, μ: 3720510, ~: 3720510) -RainterpreterParserNPE2ParserPragma:testParsePragmaNoPragma() (gas: 18575805) -RainterpreterParserNPE2ParserPragma:testParsePragmaSinglePragma() (gas: 11195849) -RainterpreterParserNPE2ParserPragma:testParsePragmaWithInterstitial() (gas: 11199078) -RainterpreterParserNPE2PointersTest:testLiteralParserFunctionPointers() (gas: 3717503) -RainterpreterParserNPE2PointersTest:testOperandHandlerFunctionPointers() (gas: 3725674) -RainterpreterParserNPE2PointersTest:testParserParseMeta() (gas: 5324665) -RainterpreterReferenceExternNPE2ContextRainlenTest:testRainterpreterReferenceExterNPE2ContextRainlenHappy() (gas: 1700182) -RainterpreterReferenceExternNPE2ContextSenderTest:testRainterpreterReferenceExterNPE2ContextContractHappy() (gas: 1699796) -RainterpreterReferenceExternNPE2ContextSenderTest:testRainterpreterReferenceExterNPE2ContextSenderHappy() (gas: 1698620) -RainterpreterReferenceExternNPE2DescribedByMetaV1:testRainterpreterReferenceExternNPE2DescribedByMetaV1Happy() (gas: 1624445) -RainterpreterReferenceExternNPE2IERC165Test:testRainterpreterReferenceExternNPE2IERC165(bytes4) (runs: 2050, μ: 1630367, ~: 1630367) -RainterpreterReferenceExternNPE2IntIncTest:testRainterpreterReferenceExternNPE2IntIncHappySugared() (gas: 1720541) -RainterpreterReferenceExternNPE2IntIncTest:testRainterpreterReferenceExternNPE2IntIncHappyUnsugared() (gas: 1714504) -RainterpreterReferenceExternNPE2IntIncTest:testRainterpreterReferenceExternNPE2IntIncIntegrity(uint256,uint256,uint256) (runs: 2050, μ: 3613, ~: 3613) -RainterpreterReferenceExternNPE2IntIncTest:testRainterpreterReferenceExternNPE2IntIncRun(uint256,uint256[]) (runs: 2050, μ: 167010, ~: 153544) -RainterpreterReferenceExternNPE2IntIncTest:testRainterpreterReferenceExternNPE2IntIncSubParseKnownWord(uint16,bytes1) (runs: 2050, μ: 1638495, ~: 1638770) -RainterpreterReferenceExternNPE2IntIncTest:testRainterpreterReferenceExternNPE2IntIncSubParseUnknownWord(uint16,bytes1,bytes) (runs: 2048, μ: 1635042, ~: 1634765) -RainterpreterReferenceExternNPE2PointersTest:testIntegrityFunctionPointers() (gas: 1624934) -RainterpreterReferenceExternNPE2PointersTest:testOpcodeFunctionPointers() (gas: 1624999) -RainterpreterReferenceExternNPE2PointersTest:testSubParserFunctionPointers() (gas: 1625444) -RainterpreterReferenceExternNPE2PointersTest:testSubParserLiteralParsers() (gas: 1624976) -RainterpreterReferenceExternNPE2PointersTest:testSubParserOperandParsers() (gas: 1625449) -RainterpreterReferenceExternNPE2PointersTest:testSubParserParseMeta() (gas: 18170) -RainterpreterReferenceExternNPE2RepeatTest:testRainterpreterReferenceExternNPE2RepeatHappy() (gas: 1747852) -RainterpreterReferenceExternNPE2StackOperandTest:testRainterpreterReferenceExternNPE2StackOperandSingle(uint256) (runs: 2050, μ: 1706930, ~: 1707287) -RainterpreterReferenceExternNPE2UnknownWordTest:testRainterpreterReferenceExternNPE2UnknownWord() (gas: 1671158) -RainterpreterStoreNPE2IERC165Test:testRainterpreterStoreNPE2IERC165(bytes4) (runs: 2050, μ: 224769, ~: 224769) -RainterpreterStoreNPE2Test:testRainterpreterStoreNPE2IERC165(uint32) (runs: 2050, μ: 224786, ~: 224786) -RainterpreterStoreNPE2Test:testRainterpreterStoreNPE2SetGetDupes((uint256,uint256[11])[]) (runs: 2048, μ: 1503674, ~: 1460139) -RainterpreterStoreNPE2Test:testRainterpreterStoreNPE2SetGetNoDupesMany((uint256,uint256[])[]) (runs: 2050, μ: 3512055, ~: 3343134) -RainterpreterStoreNPE2Test:testRainterpreterStoreNPE2SetGetNoDupesSingle(uint256,uint256[]) (runs: 2050, μ: 1931151, ~: 1944236) -RainterpreterStoreNPE2Test:testRainterpreterStoreNPE2SetOddLength(uint256,uint256[]) (runs: 2049, μ: 243348, ~: 243330) -TestLibParseLiteralDecimalUnsafeStrToInt:testUnsafeStrToIntOverflowVeryLarge(uint256,uint256,uint8) (runs: 2050, μ: 42686, ~: 37168) -TestLibParseLiteralDecimalUnsafeStrToInt:testUnsafeStrToIntRoundTrip(uint256,uint8) (runs: 2050, μ: 29700, ~: 22983) -TestLibParseLiteralDecimalUnsafeStrToSignedInt:testUnsafeStrToSignedIntOverflowNegative(uint256,uint8) (runs: 2050, μ: 46115, ~: 36528) -TestLibParseLiteralDecimalUnsafeStrToSignedInt:testUnsafeStrToSignedIntOverflowPositive(uint256,uint8) (runs: 2050, μ: 46156, ~: 36569) -TestLibParseLiteralDecimalUnsafeStrToSignedInt:testUnsafeStrToSignedIntRoundTrip(uint256,uint8,bool) (runs: 2050, μ: 34797, ~: 29273) \ No newline at end of file +BaseRainterpreterExternNPE2IERC165Test:testRainterpreterExternNPE2IERC165(bytes4) (runs: 2048, μ: 287281, ~: 287281) +BaseRainterpreterSubParserNPE2CompatibilityTest:testRainterpreterSubParserNPE2Compatibility(bytes32,bytes) (runs: 2048, μ: 679858, ~: 679810) +BaseRainterpreterSubParserNPE2IERC165Test:testRainterpreterSubParserNPE2IERC165(uint32) (runs: 2048, μ: 680462, ~: 680462) +LibAllStandardOpsNPTest:testIntegrityAndOpcodeFunctionPointersLength() (gas: 90234) +LibAllStandardOpsNPTest:testIntegrityFunctionPointersLength() (gas: 12096) +LibAllStandardOpsNPTest:testOpcodeFunctionPointersLength() (gas: 12090) +LibEvalNPFBoundsTest:testEvalNPFBoundsModConstant(uint256) (runs: 2048, μ: 86864, ~: 86864) +LibExternCodecTest:testLibExternCodecEncodeExternCall(uint256,uint256) (runs: 2048, μ: 9644, ~: 9532) +LibExternCodecTest:testLibExternCodecEncodeExternDispatch(uint256,uint256) (runs: 2048, μ: 8812, ~: 8700) +LibInterpreterStateNPStackTraceTest:testStackTraceCall(uint256,uint256,uint256[]) (runs: 2048, μ: 43098, ~: 42742) +LibOpAddTest:testOpAddEval2InputsHappy() (gas: 104831) +LibOpAddTest:testOpAddEval2InputsHappyZero() (gas: 57054) +LibOpAddTest:testOpAddEval2InputsHappyZeroMax() (gas: 100817) +LibOpAddTest:testOpAddEval2InputsHappyZeroOne() (gas: 103826) +LibOpAddTest:testOpAddEval2InputsUnhappy() (gas: 96963) +LibOpAddTest:testOpAddEval3InputsHappy() (gas: 329667) +LibOpAddTest:testOpAddEval3InputsUnhappy() (gas: 667141) +LibOpAddTest:testOpAddEvalOneInput() (gas: 35897) +LibOpAddTest:testOpAddEvalOperandDisallowed() (gas: 93453) +LibOpAddTest:testOpAddEvalTwoOutput() (gas: 42745) +LibOpAddTest:testOpAddEvalZeroInputs() (gas: 30156) +LibOpAddTest:testOpAddEvalZeroOutputs() (gas: 41657) +LibOpAddTest:testOpAddIntegrityHappy((uint256,uint256,uint256,uint256[],uint256,bytes),uint8,uint16) (runs: 2048, μ: 17968, ~: 17968) +LibOpAddTest:testOpAddIntegrityUnhappyOneInput((uint256,uint256,uint256,uint256[],uint256,bytes)) (runs: 2048, μ: 13798, ~: 13645) +LibOpAddTest:testOpAddIntegrityUnhappyZeroInputs((uint256,uint256,uint256,uint256[],uint256,bytes)) (runs: 2048, μ: 13797, ~: 13644) +LibOpAddTest:testOpAddRun(uint256[]) (runs: 2048, μ: 19869, ~: 20060) +LibOpAnyNPTest:testOpAnyNPEval1FalseInput() (gas: 50005) +LibOpAnyNPTest:testOpAnyNPEval1TrueInput() (gas: 49903) +LibOpAnyNPTest:testOpAnyNPEval2FalseInputs() (gas: 55414) +LibOpAnyNPTest:testOpAnyNPEval2MixedInputs() (gas: 56181) +LibOpAnyNPTest:testOpAnyNPEval2MixedInputs2() (gas: 56285) +LibOpAnyNPTest:testOpAnyNPEval2TrueInputs() (gas: 56183) +LibOpAnyNPTest:testOpAnyNPEvalFail() (gas: 29691) +LibOpAnyNPTest:testOpAnyNPIntegrityGas0() (gas: 3279) +LibOpAnyNPTest:testOpAnyNPIntegrityHappy(uint8,uint16) (runs: 2048, μ: 8303, ~: 8432) +LibOpAnyNPTest:testOpAnyNPIntegrityUnhappyZeroInputs() (gas: 4079) +LibOpAnyNPTest:testOpAnyNPRun(uint256[],uint16) (runs: 2048, μ: 19148, ~: 19140) +LibOpAnyNPTest:testOpAnyNPRunGas0() (gas: 3382) +LibOpAnyNPTest:testOpAnyNPTwoOutputs() (gas: 36001) +LibOpAnyNPTest:testOpAnyNPZeroOutputs() (gas: 34974) +LibOpAvgTest:testOpAvgEval() (gas: 416320) +LibOpAvgTest:testOpAvgEvalOneInput() (gas: 35336) +LibOpAvgTest:testOpAvgEvalOperandDisallowed() (gas: 17754) +LibOpAvgTest:testOpAvgEvalThreeInputs() (gas: 45473) +LibOpAvgTest:testOpAvgEvalTwoOutputs() (gas: 41123) +LibOpAvgTest:testOpAvgEvalZeroOutputs() (gas: 40058) +LibOpAvgTest:testOpAvgIntegrity((uint256,uint256,uint256,uint256[],uint256,bytes),uint256) (runs: 2048, μ: 13835, ~: 13805) +LibOpAvgTest:testOpAvgRun(uint256,uint256,uint16) (runs: 2048, μ: 22103, ~: 21813) +LibOpBitwiseAndNPTest:testOpBitwiseAndNPEvalHappy() (gas: 749629) +LibOpBitwiseAndNPTest:testOpBitwiseAndNPIntegrity((uint256,uint256,uint256,uint256[],uint256,bytes),uint256) (runs: 2048, μ: 13857, ~: 13827) +LibOpBitwiseAndNPTest:testOpBitwiseAndNPRun(uint256,uint256) (runs: 2048, μ: 16544, ~: 16544) +LibOpBitwiseAndNPTest:testOpBitwiseORNPEvalBadOperand() (gas: 18444) +LibOpBitwiseAndNPTest:testOpBitwiseORNPEvalOneInput() (gas: 35953) +LibOpBitwiseAndNPTest:testOpBitwiseORNPEvalThreeInputs() (gas: 46111) +LibOpBitwiseAndNPTest:testOpBitwiseORNPEvalTwoOutputs() (gas: 41761) +LibOpBitwiseAndNPTest:testOpBitwiseORNPEvalZeroInputs() (gas: 30781) +LibOpBitwiseAndNPTest:testOpBitwiseORNPEvalZeroOutputs() (gas: 40738) +LibOpBitwiseOrNPTest:testOpBitwiseORNPEval() (gas: 748313) +LibOpBitwiseOrNPTest:testOpBitwiseORNPEvalBadOperand() (gas: 18363) +LibOpBitwiseOrNPTest:testOpBitwiseORNPEvalOneInput() (gas: 35894) +LibOpBitwiseOrNPTest:testOpBitwiseORNPEvalThreeInputs() (gas: 46052) +LibOpBitwiseOrNPTest:testOpBitwiseORNPEvalTwoOutputs() (gas: 41657) +LibOpBitwiseOrNPTest:testOpBitwiseORNPEvalZeroInputs() (gas: 30656) +LibOpBitwiseOrNPTest:testOpBitwiseORNPEvalZeroOutputs() (gas: 40657) +LibOpBitwiseOrNPTest:testOpBitwiseORNPIntegrity((uint256,uint256,uint256,uint256[],uint256,bytes),uint256) (runs: 2048, μ: 13835, ~: 13805) +LibOpBitwiseOrNPTest:testOpBitwiseORNPRun(uint256,uint256) (runs: 2048, μ: 16520, ~: 16520) +LibOpBlockNumberNPTest:testOpBlockNumberNPEval(uint256) (runs: 2048, μ: 48928, ~: 48797) +LibOpBlockNumberNPTest:testOpBlockNumberNPEvalOneInput() (gas: 35094) +LibOpBlockNumberNPTest:testOpBlockNumberNPEvalTwoOutputs() (gas: 31448) +LibOpBlockNumberNPTest:testOpBlockNumberNPEvalZeroOutputs() (gas: 30442) +LibOpBlockNumberNPTest:testOpBlockNumberNPIntegrity((uint256,uint256,uint256,uint256[],uint256,bytes),uint8,uint8,uint16) (runs: 2048, μ: 19422, ~: 19456) +LibOpBlockNumberNPTest:testOpBlockNumberNPRun(uint256,uint16) (runs: 2048, μ: 20146, ~: 20009) +LibOpCallNPTest:testCallTraceInnerOnly() (gas: 62207) +LibOpCallNPTest:testCallTraceOuterAndInner() (gas: 73065) +LibOpCallNPTest:testCallTraceOuterAndTwoInner() (gas: 113087) +LibOpCallNPTest:testCallTraceOuterOnly() (gas: 44866) +LibOpCallNPTest:testOpCallNPIntegrityIO((uint256,uint256,uint256,uint256[],uint256,bytes),uint256,uint256,uint8,bytes32) (runs: 2048, μ: 39810, ~: 38276) +LibOpCallNPTest:testOpCallNPIntegritySourceIndexOutOfBounds((uint256,uint256,uint256,uint256[],uint256,bytes),uint256,uint256,uint256,uint256,bytes32) (runs: 2048, μ: 37505, ~: 35590) +LibOpCallNPTest:testOpCallNPIntegrityTooManyOutputs((uint256,uint256,uint256,uint256[],uint256,bytes),uint256,uint256,uint8,bytes32) (runs: 2048, μ: 36210, ~: 35993) +LibOpCallNPTest:testOpCallNPRunInputsMismatch() (gas: 73763) +LibOpCallNPTest:testOpCallNPRunNoIO() (gas: 708857) +LibOpCallNPTest:testOpCallNPRunOutputsMismatch() (gas: 66546) +LibOpCallNPTest:testOpCallNPRunRecursive() (gas: 302226) +LibOpCallNPTest:testOpCallNPRunSourceDoesNotExist() (gas: 351530) +LibOpCeilTest:testOpCeilEval() (gas: 208294) +LibOpCeilTest:testOpCeilEvalOperandDisallowed() (gas: 17835) +LibOpCeilTest:testOpCeilIntegrity((uint256,uint256,uint256,uint256[],uint256,bytes),uint256) (runs: 2048, μ: 13879, ~: 13849) +LibOpCeilTest:testOpCeilRun(uint256,uint16) (runs: 2048, μ: 20396, ~: 20603) +LibOpCeilTest:testOpCeilTwoInputs() (gas: 40498) +LibOpCeilTest:testOpCeilTwoOutputs() (gas: 36085) +LibOpCeilTest:testOpCeilZeroInputs() (gas: 30203) +LibOpCeilTest:testOpCeilZeroOutputs() (gas: 35081) +LibOpChainIdNPTest:testOpChainIDNPEval(uint64,uint256) (runs: 2048, μ: 46206, ~: 46206) +LibOpChainIdNPTest:testOpChainIDNPIntegrity((uint256,uint256,uint256,uint256[],uint256,bytes),uint8,uint8,uint16) (runs: 2048, μ: 19439, ~: 19492) +LibOpChainIdNPTest:testOpChainIdNPEvalFail() (gas: 34363) +LibOpChainIdNPTest:testOpChainIdNPRun(uint64,uint16) (runs: 2048, μ: 16607, ~: 16607) +LibOpChainIdNPTest:testOpChainIdNPTwoOutputs() (gas: 31129) +LibOpChainIdNPTest:testOpChainIdNPZeroOutputs() (gas: 30103) +LibOpConditionsNPTest:testOpConditionsNPEval1FalseInput1TrueInput() (gas: 70019) +LibOpConditionsNPTest:testOpConditionsNPEval1FalseInputRevert() (gas: 54464) +LibOpConditionsNPTest:testOpConditionsNPEval1TrueInput1FalseInput() (gas: 69893) +LibOpConditionsNPTest:testOpConditionsNPEval1TrueInputZeroOutput() (gas: 57011) +LibOpConditionsNPTest:testOpConditionsNPEval2MixedInputs() (gas: 57013) +LibOpConditionsNPTest:testOpConditionsNPEval2TrueInputs() (gas: 69894) +LibOpConditionsNPTest:testOpConditionsNPEvalErrorCode() (gas: 66410) +LibOpConditionsNPTest:testOpConditionsNPEvalFail0Inputs() (gas: 30360) +LibOpConditionsNPTest:testOpConditionsNPEvalFail1Inputs() (gas: 34639) +LibOpConditionsNPTest:testOpConditionsNPEvalUnhappyOperand() (gas: 18305) +LibOpConditionsNPTest:testOpConditionsNPIntegrityHappy((uint256,uint256,uint256,uint256[],uint256,bytes),uint8,uint8,uint16) (runs: 2048, μ: 19997, ~: 20089) +LibOpConditionsNPTest:testOpConditionsNPRun(uint256[],uint256) (runs: 2048, μ: 19641, ~: 19743) +LibOpConditionsNPTest:testOpConditionsNPRunNoConditionsMet(uint256[],string) (runs: 2048, μ: 25208, ~: 24938) +LibOpConditionsNPTest:testOpConditionsNPTwoOutputs() (gas: 39888) +LibOpConditionsNPTest:testOpConditionsNPZeroOutputs() (gas: 38889) +LibOpConstantNPTest:testOpConstantEvalNPE2E() (gas: 53786) +LibOpConstantNPTest:testOpConstantEvalZeroConstants() (gas: 41484) +LibOpConstantNPTest:testOpConstantNPIntegrity((uint256,uint256,uint256,uint256[],uint256,bytes),uint256) (runs: 2048, μ: 19241, ~: 19225) +LibOpConstantNPTest:testOpConstantNPIntegrityOOBConstants((uint256,uint256,uint256,uint256[],uint256,bytes),uint256) (runs: 2048, μ: 18107, ~: 18108) +LibOpConstantNPTest:testOpConstantNPMultipleOutputErrorSugared() (gas: 31852) +LibOpConstantNPTest:testOpConstantNPMultipleOutputErrorUnsugared() (gas: 41813) +LibOpConstantNPTest:testOpConstantNPRun(uint256[],uint16) (runs: 2048, μ: 53277, ~: 53322) +LibOpConstantNPTest:testOpConstantNPZeroOutputErrorSugared() (gas: 30496) +LibOpConstantNPTest:testOpConstantNPZeroOutputErrorUnsugared() (gas: 40402) +LibOpContextNPTest:testOpContextNPEval00(uint256[][]) (runs: 2048, μ: 7239042, ~: 6126133) +LibOpContextNPTest:testOpContextNPEval01(uint256[][]) (runs: 2048, μ: 7232806, ~: 6116670) +LibOpContextNPTest:testOpContextNPEval10(uint256[][]) (runs: 2048, μ: 7278488, ~: 6183761) +LibOpContextNPTest:testOpContextNPEval11(uint256[][]) (runs: 2048, μ: 7275172, ~: 6203107) +LibOpContextNPTest:testOpContextNPEvalOOBi(uint256[]) (runs: 2048, μ: 76577, ~: 76665) +LibOpContextNPTest:testOpContextNPEvalOOBj(uint256) (runs: 2048, μ: 47576, ~: 47576) +LibOpContextNPTest:testOpContextNPIntegrity((uint256,uint256,uint256,uint256[],uint256,bytes),uint256) (runs: 2048, μ: 14558, ~: 14528) +LibOpContextNPTest:testOpContextNPOneInput() (gas: 41806) +LibOpContextNPTest:testOpContextNPRun(uint256[][],uint256,uint256) (runs: 2048, μ: 10520944, ~: 8961145) +LibOpContextNPTest:testOpContextNPRunOOBi(uint256[][],uint256,uint256) (runs: 2048, μ: 5494721, ~: 4781618) +LibOpContextNPTest:testOpContextNPRunOOBj(uint256[][],uint256,uint256) (runs: 2048, μ: 5522188, ~: 4828386) +LibOpContextNPTest:testOpContextNPTwoInputs() (gas: 46929) +LibOpContextNPTest:testOpContextNPTwoOutputs() (gas: 37298) +LibOpContextNPTest:testOpContextNPZeroOutputs() (gas: 36270) +LibOpCtPopNPTest:testOpCtPopNPEval(uint256) (runs: 2048, μ: 63962, ~: 60857) +LibOpCtPopNPTest:testOpCtPopNPIntegrity((uint256,uint256,uint256,uint256[],uint256,bytes),uint256) (runs: 2048, μ: 13878, ~: 13848) +LibOpCtPopNPTest:testOpCtPopNPRun(uint256) (runs: 2048, μ: 16679, ~: 16680) +LibOpCtPopNPTest:testOpCtPopNPTwoInputs() (gas: 41554) +LibOpCtPopNPTest:testOpCtPopNPTwoOutputs() (gas: 37207) +LibOpCtPopNPTest:testOpCtPopNPZeroInputs() (gas: 31258) +LibOpCtPopNPTest:testOpCtPopNPZeroOutputs() (gas: 36159) +LibOpDecodeBitsNPTest:testOpDecodeBitsNPEvalHappy() (gas: 836330) +LibOpDecodeBitsNPTest:testOpDecodeBitsNPEvalTwoInputs() (gas: 47409) +LibOpDecodeBitsNPTest:testOpDecodeBitsNPEvalTwoOutputs() (gas: 43086) +LibOpDecodeBitsNPTest:testOpDecodeBitsNPEvalZeroInputs() (gas: 37159) +LibOpDecodeBitsNPTest:testOpDecodeBitsNPEvalZeroOutputs() (gas: 41992) +LibOpDecodeBitsNPTest:testOpDecodeBitsNPIntegrity((uint256,uint256,uint256,uint256[],uint256,bytes),uint8,uint8,uint8,uint8) (runs: 2048, μ: 22060, ~: 22206) +LibOpDecodeBitsNPTest:testOpDecodeBitsNPIntegrityFail((uint256,uint256,uint256,uint256[],uint256,bytes),uint8,uint8) (runs: 2048, μ: 19426, ~: 19364) +LibOpDecodeBitsNPTest:testOpDecodeBitsNPIntegrityFailZeroLength((uint256,uint256,uint256,uint256[],uint256,bytes),uint8) (runs: 2048, μ: 13873, ~: 13849) +LibOpDecodeBitsNPTest:testOpDecodeBitsNPRun(uint256,uint8,uint8) (runs: 2048, μ: 20851, ~: 20668) +LibOpDivTest:testDebugOpDivRun() (gas: 11706) +LibOpDivTest:testOpDivEvalOneInput() (gas: 126900) +LibOpDivTest:testOpDivEvalOperandsDisallowed() (gas: 93429) +LibOpDivTest:testOpDivEvalThreeInputsHappy() (gas: 370588) +LibOpDivTest:testOpDivEvalThreeInputsUnhappy() (gas: 207933) +LibOpDivTest:testOpDivEvalThreeInputsUnhappyOverflow() (gas: 165561) +LibOpDivTest:testOpDivEvalTwoInputsHappy() (gas: 328277) +LibOpDivTest:testOpDivEvalTwoInputsUnhappy() (gas: 141121) +LibOpDivTest:testOpDivEvalTwoInputsUnhappyOverflow() (gas: 99815) +LibOpDivTest:testOpDivEvalTwoOutputs() (gas: 41831) +LibOpDivTest:testOpDivEvalZeroInputs() (gas: 30156) +LibOpDivTest:testOpDivEvalZeroOutputs() (gas: 40786) +LibOpDivTest:testOpDivIntegrityHappy((uint256,uint256,uint256,uint256[],uint256,bytes),uint8,uint16) (runs: 2048, μ: 17971, ~: 17979) +LibOpDivTest:testOpDivIntegrityUnhappyOneInput((uint256,uint256,uint256,uint256[],uint256,bytes)) (runs: 2048, μ: 13797, ~: 13644) +LibOpDivTest:testOpDivIntegrityUnhappyZeroInputs((uint256,uint256,uint256,uint256[],uint256,bytes)) (runs: 2048, μ: 13820, ~: 13667) +LibOpDivTest:testOpDivRun(uint256[]) (runs: 2048, μ: 25144, ~: 24769) +LibOpERC20AllowanceTest:testOpERC20AllowanceNPEvalFourInputs() (gas: 55762) +LibOpERC20AllowanceTest:testOpERC20AllowanceNPEvalHappy(uint256,uint8) (runs: 2048, μ: 70963, ~: 71019) +LibOpERC20AllowanceTest:testOpERC20AllowanceNPEvalOneInput() (gas: 37109) +LibOpERC20AllowanceTest:testOpERC20AllowanceNPEvalOperandDisallowed() (gas: 18791) +LibOpERC20AllowanceTest:testOpERC20AllowanceNPEvalTwoInputs() (gas: 43521) +LibOpERC20AllowanceTest:testOpERC20AllowanceNPEvalTwoOutputs() (gas: 50587) +LibOpERC20AllowanceTest:testOpERC20AllowanceNPEvalZeroInputs() (gas: 31077) +LibOpERC20AllowanceTest:testOpERC20AllowanceNPEvalZeroOutputs() (gas: 49521) +LibOpERC20AllowanceTest:testOpERC20AllowanceNPIntegrity((uint256,uint256,uint256,uint256[],uint256,bytes),uint256) (runs: 2048, μ: 13859, ~: 13829) +LibOpERC20AllowanceTest:testOpERC20AllowanceNPRun(address,address,address,uint256,uint8) (runs: 2048, μ: 26859, ~: 26907) +LibOpERC20BalanceOfTest:testOpERC20BalanceOfNPEvalHappy(uint256,uint8) (runs: 2048, μ: 64673, ~: 64592) +LibOpERC20BalanceOfTest:testOpERC20BalanceOfNPEvalOneInput() (gas: 37165) +LibOpERC20BalanceOfTest:testOpERC20BalanceOfNPEvalOperandDisallowed() (gas: 18872) +LibOpERC20BalanceOfTest:testOpERC20BalanceOfNPEvalOverflow(uint256,uint8) (runs: 2048, μ: 60637, ~: 60637) +LibOpERC20BalanceOfTest:testOpERC20BalanceOfNPEvalThreeInputs() (gas: 49456) +LibOpERC20BalanceOfTest:testOpERC20BalanceOfNPEvalTwoOutputs() (gas: 44285) +LibOpERC20BalanceOfTest:testOpERC20BalanceOfNPEvalZeroInputs() (gas: 31175) +LibOpERC20BalanceOfTest:testOpERC20BalanceOfNPEvalZeroOutputs() (gas: 43261) +LibOpERC20BalanceOfTest:testOpERC20BalanceOfNPIntegrity((uint256,uint256,uint256,uint256[],uint256,bytes),uint256) (runs: 2048, μ: 13879, ~: 13849) +LibOpERC20BalanceOfTest:testOpERC20BalanceOfNPRun(address,address,uint256,uint16,uint8) (runs: 2048, μ: 26934, ~: 26855) +LibOpERC20TotalSupplyTest:testOpERC20TotalSupplyNPEvalHappy(uint256,uint8) (runs: 2048, μ: 57821, ~: 57738) +LibOpERC20TotalSupplyTest:testOpERC20TotalSupplyNPEvalOperandDisallowed() (gas: 19078) +LibOpERC20TotalSupplyTest:testOpERC20TotalSupplyNPEvalOverflow(uint256,uint8) (runs: 2048, μ: 53851, ~: 53851) +LibOpERC20TotalSupplyTest:testOpERC20TotalSupplyNPEvalTwoInputs() (gas: 43782) +LibOpERC20TotalSupplyTest:testOpERC20TotalSupplyNPEvalTwoOutputs() (gas: 38151) +LibOpERC20TotalSupplyTest:testOpERC20TotalSupplyNPEvalZeroInputs() (gas: 31338) +LibOpERC20TotalSupplyTest:testOpERC20TotalSupplyNPEvalZeroOutputs() (gas: 37104) +LibOpERC20TotalSupplyTest:testOpERC20TotalSupplyNPIntegrity((uint256,uint256,uint256,uint256[],uint256,bytes),uint256) (runs: 2048, μ: 13859, ~: 13829) +LibOpERC20TotalSupplyTest:testOpERC20TotalSupplyNPRun(address,uint256,uint16,uint8) (runs: 2048, μ: 26193, ~: 26109) +LibOpERC5313OwnerNPTest:testOpERC5313OwnerNPEvalHappy() (gas: 54484) +LibOpERC5313OwnerNPTest:testOpERC5313OwnerNPEvalOperandDisallowed() (gas: 18576) +LibOpERC5313OwnerNPTest:testOpERC5313OwnerNPEvalTwoInputs() (gas: 43346) +LibOpERC5313OwnerNPTest:testOpERC5313OwnerNPEvalTwoOutputs() (gas: 37623) +LibOpERC5313OwnerNPTest:testOpERC5313OwnerNPEvalZeroInputs() (gas: 30900) +LibOpERC5313OwnerNPTest:testOpERC5313OwnerNPEvalZeroOutputs() (gas: 36572) +LibOpERC5313OwnerNPTest:testOpERC5313OwnerOfNPIntegrity((uint256,uint256,uint256,uint256[],uint256,bytes),uint256) (runs: 2048, μ: 13836, ~: 13806) +LibOpERC5313OwnerNPTest:testOpERC5313OwnerOfNPRun(address,address,uint16) (runs: 2048, μ: 23167, ~: 23167) +LibOpERC721OwnerOfTest:testOpERC721OwnerOfNPEvalFail0() (gas: 30653) +LibOpERC721OwnerOfTest:testOpERC721OwnerOfNPEvalFail1() (gas: 34976) +LibOpERC721OwnerOfTest:testOpERC721OwnerOfNPEvalFail3() (gas: 44395) +LibOpERC721OwnerOfTest:testOpERC721OwnerOfNPEvalFailOperand() (gas: 18409) +LibOpERC721OwnerOfTest:testOpERC721OwnerOfNPEvalHappy(address,uint256,address) (runs: 2048, μ: 95436, ~: 91777) +LibOpERC721OwnerOfTest:testOpERC721OwnerOfNPEvalOneInput() (gas: 35428) +LibOpERC721OwnerOfTest:testOpERC721OwnerOfNPEvalThreeInputs() (gas: 44899) +LibOpERC721OwnerOfTest:testOpERC721OwnerOfNPEvalZeroInputs() (gas: 31117) +LibOpERC721OwnerOfTest:testOpERC721OwnerOfNPEvalZeroOutputs() (gas: 39683) +LibOpERC721OwnerOfTest:testOpERC721OwnerOfNPIntegrity((uint256,uint256,uint256,uint256[],uint256,bytes),uint8) (runs: 2048, μ: 13861, ~: 13838) +LibOpERC721OwnerOfTest:testOpERC721OwnerOfNPRun(address,uint256,address,uint16) (runs: 2048, μ: 23764, ~: 23764) +LibOpERC721OwnerOfTest:testOpERC721OwnerOfNPTwoOutputs() (gas: 40726) +LibOpETest:testOpEEval() (gas: 43885) +LibOpETest:testOpEEvalOneInput() (gas: 34204) +LibOpETest:testOpEEvalTwoOutputs() (gas: 30600) +LibOpETest:testOpEEvalZeroOutputs() (gas: 29552) +LibOpETest:testOpEIntegrity((uint256,uint256,uint256,uint256[],uint256,bytes),uint8,uint8,uint16) (runs: 2048, μ: 19443, ~: 19492) +LibOpETest:testOpERun(uint16) (runs: 2048, μ: 16015, ~: 16015) +LibOpEncodeBitsNPTest:testOpEncodeBitsNPEvalHappy() (gas: 839051) +LibOpEncodeBitsNPTest:testOpEncodeBitsNPEvalOneInput() (gas: 42290) +LibOpEncodeBitsNPTest:testOpEncodeBitsNPEvalThreeInputs() (gas: 52447) +LibOpEncodeBitsNPTest:testOpEncodeBitsNPEvalTwoOutputs() (gas: 48054) +LibOpEncodeBitsNPTest:testOpEncodeBitsNPEvalZeroInputs() (gas: 37073) +LibOpEncodeBitsNPTest:testOpEncodeBitsNPEvalZeroOutputs() (gas: 47053) +LibOpEncodeBitsNPTest:testOpEncodeBitsNPIntegrity((uint256,uint256,uint256,uint256[],uint256,bytes),uint8,uint8) (runs: 2048, μ: 18146, ~: 18133) +LibOpEncodeBitsNPTest:testOpEncodeBitsNPIntegrityFail((uint256,uint256,uint256,uint256[],uint256,bytes),uint8,uint8) (runs: 2048, μ: 19550, ~: 19556) +LibOpEncodeBitsNPTest:testOpEncodeBitsNPIntegrityFailZeroLength((uint256,uint256,uint256,uint256[],uint256,bytes),uint8) (runs: 2048, μ: 14045, ~: 14021) +LibOpEncodeBitsNPTest:testOpEncodeBitsNPRun(uint256,uint256,uint8,uint8) (runs: 2048, μ: 21261, ~: 21069) +LibOpEnsureNPTest:testOpEnsureNPEvalBadOutputs() (gas: 35192) +LibOpEnsureNPTest:testOpEnsureNPEvalBadOutputs2() (gas: 34532) +LibOpEnsureNPTest:testOpEnsureNPEvalHappy() (gas: 168250) +LibOpEnsureNPTest:testOpEnsureNPEvalOne() (gas: 34869) +LibOpEnsureNPTest:testOpEnsureNPEvalThree() (gas: 46416) +LibOpEnsureNPTest:testOpEnsureNPEvalUnhappy() (gas: 111811) +LibOpEnsureNPTest:testOpEnsureNPEvalUnhappyOperand() (gas: 17295) +LibOpEnsureNPTest:testOpEnsureNPEvalZero() (gas: 29605) +LibOpEnsureNPTest:testOpEnsureNPIntegrityHappy((uint256,uint256,uint256,uint256[],uint256,bytes),uint8,uint8,uint16) (runs: 2048, μ: 19504, ~: 19557) +LibOpEnsureNPTest:testOpEnsureNPIntegrityUnhappy((uint256,uint256,uint256,uint256[],uint256,bytes)) (runs: 2048, μ: 13764, ~: 13611) +LibOpEnsureNPTest:testOpEnsureNPOneOutput() (gas: 39962) +LibOpEnsureNPTest:testOpEnsureNPRun(uint256,string) (runs: 2048, μ: 16542, ~: 16613) +LibOpEqualToNPTest:testOpEqualToNPEval2InputsBothOne() (gas: 55573) +LibOpEqualToNPTest:testOpEqualToNPEval2InputsFirstOneSecondZero() (gas: 56500) +LibOpEqualToNPTest:testOpEqualToNPEval2InputsFirstZeroSecondOne() (gas: 56479) +LibOpEqualToNPTest:testOpEqualToNPEval2ZeroInputs() (gas: 55615) +LibOpEqualToNPTest:testOpEqualToNPEvalFail0Inputs() (gas: 30053) +LibOpEqualToNPTest:testOpEqualToNPEvalFail1Input() (gas: 34352) +LibOpEqualToNPTest:testOpEqualToNPEvalFail3Inputs() (gas: 42725) +LibOpEqualToNPTest:testOpEqualToNPIntegrityHappy((uint256,uint256,uint256,uint256[],uint256,bytes),uint8,uint8,uint16) (runs: 2048, μ: 19444, ~: 19492) +LibOpEqualToNPTest:testOpEqualToNPRun(uint256,uint256) (runs: 2048, μ: 16571, ~: 16572) +LibOpEqualToNPTest:testOpEqualToNPTwoOutputs() (gas: 41423) +LibOpEqualToNPTest:testOpEqualToNPZeroOutputs() (gas: 40424) +LibOpEveryNPTest:testOpAnyNPEvalFail() (gas: 30560) +LibOpEveryNPTest:testOpEveryNPEval1FalseInput() (gas: 50766) +LibOpEveryNPTest:testOpEveryNPEval1TrueInput() (gas: 50805) +LibOpEveryNPTest:testOpEveryNPEval2FalseInputs() (gas: 56143) +LibOpEveryNPTest:testOpEveryNPEval2MixedInputs() (gas: 57125) +LibOpEveryNPTest:testOpEveryNPEval2MixedInputs2() (gas: 57071) +LibOpEveryNPTest:testOpEveryNPEval2TrueInputs() (gas: 57161) +LibOpEveryNPTest:testOpEveryNPIntegrityHappy((uint256,uint256,uint256,uint256[],uint256,bytes),uint8,uint8,uint16) (runs: 2048, μ: 19630, ~: 19699) +LibOpEveryNPTest:testOpEveryNPIntegrityUnhappyZeroInputs((uint256,uint256,uint256,uint256[],uint256,bytes)) (runs: 2048, μ: 13747, ~: 13594) +LibOpEveryNPTest:testOpEveryNPRun(uint256[]) (runs: 2048, μ: 20480, ~: 20545) +LibOpEveryNPTest:testOpEveryNPTwoOutputs() (gas: 36847) +LibOpEveryNPTest:testOpEveryNPZeroOutputs() (gas: 35820) +LibOpExp2Test:testOpExp2Eval() (gas: 212859) +LibOpExp2Test:testOpExp2EvalBad() (gas: 67085) +LibOpExp2Test:testOpExp2EvalOperandDisallowed() (gas: 18525) +LibOpExp2Test:testOpExp2Integrity((uint256,uint256,uint256,uint256[],uint256,bytes),uint256) (runs: 2048, μ: 13835, ~: 13805) +LibOpExp2Test:testOpExp2Run(uint256,uint16) (runs: 2048, μ: 24021, ~: 25086) +LibOpExp2Test:testOpExp2TwoOutputs() (gas: 36733) +LibOpExp2Test:testOpExp2ZeroOutputs() (gas: 35705) +LibOpExpTest:testOpExpEval() (gas: 217864) +LibOpExpTest:testOpExpEvalOperandDisallowed() (gas: 17752) +LibOpExpTest:testOpExpEvalTwoInputs() (gas: 40394) +LibOpExpTest:testOpExpEvalZeroInputs() (gas: 30121) +LibOpExpTest:testOpExpIntegrity((uint256,uint256,uint256,uint256[],uint256,bytes),uint256) (runs: 2048, μ: 13856, ~: 13826) +LibOpExpTest:testOpExpRun(uint256,uint16) (runs: 2048, μ: 24317, ~: 25588) +LibOpExpTest:testOpExpTwoOutputs() (gas: 36006) +LibOpExpTest:testOpExpZeroOutputs() (gas: 35000) +LibOpExponentialGrowthTest:testOpExponentialGrowthEval() (gas: 689027) +LibOpExponentialGrowthTest:testOpExponentialGrowthEvalFourInputs() (gas: 52560) +LibOpExponentialGrowthTest:testOpExponentialGrowthEvalOneInput() (gas: 36520) +LibOpExponentialGrowthTest:testOpExponentialGrowthEvalOperandDisallowed() (gas: 18959) +LibOpExponentialGrowthTest:testOpExponentialGrowthEvalTwoInputs() (gas: 42304) +LibOpExponentialGrowthTest:testOpExponentialGrowthEvalTwoOutputs() (gas: 48074) +LibOpExponentialGrowthTest:testOpExponentialGrowthEvalZeroInputs() (gas: 30917) +LibOpExponentialGrowthTest:testOpExponentialGrowthEvalZeroOutputs() (gas: 47008) +LibOpExponentialGrowthTest:testOpExponentialGrowthIntegrity((uint256,uint256,uint256,uint256[],uint256,bytes),uint256) (runs: 2048, μ: 13834, ~: 13804) +LibOpExponentialGrowthTest:testOpExponentialGrowthRun(uint256,uint256,uint256,uint16) (runs: 2048, μ: 39048, ~: 39160) +LibOpExternNPTest:testOpExternNPEvalHappy() (gas: 99409) +LibOpExternNPTest:testOpExternNPEvalMultipleInputsOutputsHappy() (gas: 114332) +LibOpExternNPTest:testOpExternNPIntegrityHappy((uint256,uint256,uint256,uint256[],uint256,bytes),address,uint16,uint8,uint8) (runs: 2048, μ: 34374, ~: 34223) +LibOpExternNPTest:testOpExternNPIntegrityNotAnExternContract((uint256,uint256,uint256,uint256[],uint256,bytes),address,uint16,uint8,uint8) (runs: 2048, μ: 52617, ~: 52172) +LibOpExternNPTest:testOpExternNPRunHappy(address,uint256[],uint16,uint256[],uint256[]) (runs: 2048, μ: 116351, ~: 115761) +LibOpFloorTest:testOpFloorEval() (gas: 247261) +LibOpFloorTest:testOpFloorEvalOperandDisallowed() (gas: 17917) +LibOpFloorTest:testOpFloorIntegrity((uint256,uint256,uint256,uint256[],uint256,bytes),uint256) (runs: 2048, μ: 13856, ~: 13826) +LibOpFloorTest:testOpFloorRun(uint256,uint16) (runs: 2048, μ: 20258, ~: 20466) +LibOpFloorTest:testOpFloorTwoInputs() (gas: 40578) +LibOpFloorTest:testOpFloorTwoOutputs() (gas: 36167) +LibOpFloorTest:testOpFloorZeroInputs() (gas: 30262) +LibOpFloorTest:testOpFloorZeroOutputs() (gas: 35141) +LibOpFracTest:testOpFracEval() (gas: 246698) +LibOpFracTest:testOpFracEvalOperandDisallowed() (gas: 17835) +LibOpFracTest:testOpFracIntegrity((uint256,uint256,uint256,uint256[],uint256,bytes),uint256) (runs: 2048, μ: 13834, ~: 13804) +LibOpFracTest:testOpFracRun(uint256,uint16) (runs: 2048, μ: 20218, ~: 20425) +LibOpFracTest:testOpFracTwoInputs() (gas: 40488) +LibOpFracTest:testOpFracTwoOutputs() (gas: 36120) +LibOpFracTest:testOpFracZeroInputs() (gas: 30191) +LibOpFracTest:testOpFracZeroOutputs() (gas: 35070) +LibOpGetNPTest:testLibOpGetNPEvalKeyNotSet() (gas: 303282) +LibOpGetNPTest:testLibOpGetNPEvalOperandDisallowed() (gas: 58646) +LibOpGetNPTest:testLibOpGetNPEvalSetThenGet() (gas: 516383) +LibOpGetNPTest:testLibOpGetNPEvalStoreAndSetAndGet() (gas: 252945) +LibOpGetNPTest:testLibOpGetNPEvalStoreThenGet() (gas: 468972) +LibOpGetNPTest:testLibOpGetNPEvalThreeInputs() (gas: 44966) +LibOpGetNPTest:testLibOpGetNPEvalTwoInputs() (gas: 39739) +LibOpGetNPTest:testLibOpGetNPEvalTwoOutputs() (gas: 35284) +LibOpGetNPTest:testLibOpGetNPEvalZeroInputs() (gas: 29769) +LibOpGetNPTest:testLibOpGetNPEvalZeroOutputs() (gas: 34257) +LibOpGetNPTest:testLibOpGetNPIntegrity((uint256,uint256,uint256,uint256[],uint256,bytes),uint8,uint8,uint16) (runs: 2048, μ: 20314, ~: 20410) +LibOpGetNPTest:testLibOpGetNPRunState(uint256,uint256,uint16) (runs: 2048, μ: 19501, ~: 19505) +LibOpGetNPTest:testLibOpGetNPRunStateAndStore(uint256,uint256,uint256,uint16) (runs: 2048, μ: 47306, ~: 47524) +LibOpGetNPTest:testLibOpGetNPRunStore(uint256,uint256,uint16) (runs: 2048, μ: 49516, ~: 49724) +LibOpGetNPTest:testLibOpGetNPRunStoreDifferentNamespace(uint256,uint256,uint16) (runs: 2048, μ: 51046, ~: 51254) +LibOpGetNPTest:testLibOpGetNPRunUnset(uint256,uint16) (runs: 2048, μ: 24523, ~: 24528) +LibOpGmTest:testOpGmEval() (gas: 420651) +LibOpGmTest:testOpGmEvalOperandDisallowed() (gas: 17695) +LibOpGmTest:testOpGmIntegrity((uint256,uint256,uint256,uint256[],uint256,bytes),uint256) (runs: 2048, μ: 13878, ~: 13848) +LibOpGmTest:testOpGmOneInput() (gas: 36120) +LibOpGmTest:testOpGmRun(uint256,uint256,uint16) (runs: 2048, μ: 23534, ~: 23449) +LibOpGmTest:testOpGmThreeInputs() (gas: 45426) +LibOpGmTest:testOpGmTwoOutputs() (gas: 41009) +LibOpGmTest:testOpGmZeroOutputs() (gas: 39989) +LibOpGreaterThanNPTest:testOpGreaterThanNPEval2InputsBothOne() (gas: 55939) +LibOpGreaterThanNPTest:testOpGreaterThanNPEval2InputsFirstOneSecondZero() (gas: 56803) +LibOpGreaterThanNPTest:testOpGreaterThanNPEval2InputsFirstZeroSecondOne() (gas: 56802) +LibOpGreaterThanNPTest:testOpGreaterThanNPEval2ZeroInputs() (gas: 55916) +LibOpGreaterThanNPTest:testOpGreaterThanNPEvalFail0Inputs() (gas: 30388) +LibOpGreaterThanNPTest:testOpGreaterThanNPEvalFail1Input() (gas: 34700) +LibOpGreaterThanNPTest:testOpGreaterThanNPEvalFail3Inputs() (gas: 43020) +LibOpGreaterThanNPTest:testOpGreaterThanNPIntegrityHappy((uint256,uint256,uint256,uint256[],uint256,bytes),uint8,uint8,uint16) (runs: 2048, μ: 19425, ~: 19486) +LibOpGreaterThanNPTest:testOpGreaterThanNPRun(uint256,uint256) (runs: 2048, μ: 16567, ~: 16563) +LibOpGreaterThanNPTest:testOpGreaterThanNPTwoOutputs() (gas: 42410) +LibOpGreaterThanNPTest:testOpGreaterThanNPZeroOutputs() (gas: 41409) +LibOpGreaterThanOrEqualToNPTest:testOpGreaterThanOrEqualToNPEval2InputsBothOne() (gas: 56982) +LibOpGreaterThanOrEqualToNPTest:testOpGreaterThanOrEqualToNPEval2InputsFirstOneSecondZero() (gas: 57844) +LibOpGreaterThanOrEqualToNPTest:testOpGreaterThanOrEqualToNPEval2InputsFirstZeroSecondOne() (gas: 57866) +LibOpGreaterThanOrEqualToNPTest:testOpGreaterThanOrEqualToNPEval2ZeroInputs() (gas: 56962) +LibOpGreaterThanOrEqualToNPTest:testOpGreaterThanOrEqualToNPEvalFail0Inputs() (gas: 31371) +LibOpGreaterThanOrEqualToNPTest:testOpGreaterThanOrEqualToNPEvalFail1Input() (gas: 35743) +LibOpGreaterThanOrEqualToNPTest:testOpGreaterThanOrEqualToNPEvalFail3Inputs() (gas: 44106) +LibOpGreaterThanOrEqualToNPTest:testOpGreaterThanOrEqualToNPIntegrityHappy((uint256,uint256,uint256,uint256[],uint256,bytes),uint8) (runs: 2048, μ: 13838, ~: 13815) +LibOpGreaterThanOrEqualToNPTest:testOpGreaterThanOrEqualToNPRun(uint256,uint256) (runs: 2048, μ: 16574, ~: 16570) +LibOpGreaterThanOrEqualToNPTest:testOpGreaterThanOrEqualToNPTwoOutputs() (gas: 43581) +LibOpGreaterThanOrEqualToNPTest:testOpGreaterThanOrEqualToNPZeroOutputs() (gas: 42357) +LibOpHashNPTest:testOpHashNPEval0Inputs() (gas: 45329) +LibOpHashNPTest:testOpHashNPEval1Input() (gas: 52776) +LibOpHashNPTest:testOpHashNPEval2Inputs() (gas: 60931) +LibOpHashNPTest:testOpHashNPEval2InputsDifferent() (gas: 61637) +LibOpHashNPTest:testOpHashNPEval2InputsOtherStack() (gas: 78001) +LibOpHashNPTest:testOpHashNPIntegrityHappy((uint256,uint256,uint256,uint256[],uint256,bytes),uint8,uint8,uint16) (runs: 2048, μ: 19479, ~: 19599) +LibOpHashNPTest:testOpHashNPRun(uint256[]) (runs: 2048, μ: 19321, ~: 19429) +LibOpHashNPTest:testOpHashNPTwoOutputs() (gas: 30856) +LibOpHashNPTest:testOpHashNPZeroOutputs() (gas: 29423) +LibOpHeadroomTest:testOpHeadroomEval() (gas: 248521) +LibOpHeadroomTest:testOpHeadroomEvalOperandDisallowed() (gas: 18181) +LibOpHeadroomTest:testOpHeadroomIntegrity((uint256,uint256,uint256,uint256[],uint256,bytes),uint256) (runs: 2048, μ: 13834, ~: 13804) +LibOpHeadroomTest:testOpHeadroomRun(uint256,uint16) (runs: 2048, μ: 20307, ~: 20513) +LibOpHeadroomTest:testOpHeadroomTwoInputs() (gas: 40800) +LibOpHeadroomTest:testOpHeadroomTwoOutputs() (gas: 36432) +LibOpHeadroomTest:testOpHeadroomZeroInputs() (gas: 30526) +LibOpHeadroomTest:testOpHeadroomZeroOutputs() (gas: 35404) +LibOpIfNPTest:testOpIfNPEval3InputsFirstOneSecondTwoThirdThree() (gas: 62443) +LibOpIfNPTest:testOpIfNPEval3InputsFirstOneSecondZeroThirdThree() (gas: 62400) +LibOpIfNPTest:testOpIfNPEval3InputsFirstTwoSecondThreeThirdFour() (gas: 62399) +LibOpIfNPTest:testOpIfNPEval3InputsFirstTwoSecondZeroThirdFour() (gas: 62420) +LibOpIfNPTest:testOpIfNPEval3InputsFirstZeroSecondOneThirdTwo() (gas: 62442) +LibOpIfNPTest:testOpIfNPEval3InputsFirstZeroSecondOneThirdZero() (gas: 61490) +LibOpIfNPTest:testOpIfNPEval3InputsFirstZeroSecondZeroThirdOne() (gas: 61401) +LibOpIfNPTest:testOpIfNPEval3InputsFirstZeroSecondZeroThirdThree() (gas: 61423) +LibOpIfNPTest:testOpIfNPEvalEmptyStringTruthy() (gas: 61389) +LibOpIfNPTest:testOpIfNPEvalFail0Inputs() (gas: 29547) +LibOpIfNPTest:testOpIfNPEvalFail1Input() (gas: 33910) +LibOpIfNPTest:testOpIfNPEvalFail2Inputs() (gas: 38088) +LibOpIfNPTest:testOpIfNPEvalFail4Inputs() (gas: 46390) +LibOpIfNPTest:testOpIfNPEvalTwoOutputs() (gas: 46706) +LibOpIfNPTest:testOpIfNPEvalZeroOutputs() (gas: 45641) +LibOpIfNPTest:testOpIfNPIntegrityHappy((uint256,uint256,uint256,uint256[],uint256,bytes),uint8,uint8,uint16) (runs: 2048, μ: 19426, ~: 19477) +LibOpIfNPTest:testOpIfNPRun(uint256,uint256,uint256) (runs: 2048, μ: 16803, ~: 16803) +LibOpInvTest:testOpExpEvalOperandDisallowed() (gas: 17774) +LibOpInvTest:testOpInvEval() (gas: 168366) +LibOpInvTest:testOpInvIntegrity((uint256,uint256,uint256,uint256[],uint256,bytes),uint256) (runs: 2048, μ: 13857, ~: 13827) +LibOpInvTest:testOpInvRun(uint256,uint16) (runs: 2048, μ: 20339, ~: 20544) +LibOpInvTest:testOpInvTwoInputs() (gas: 40416) +LibOpInvTest:testOpInvTwoOutputs() (gas: 36005) +LibOpInvTest:testOpInvZeroInputs() (gas: 30122) +LibOpInvTest:testOpInvZeroOutputs() (gas: 35001) +LibOpIsZeroNPTest:testOpIsZeroNPEval1NonZeroInput() (gas: 50374) +LibOpIsZeroNPTest:testOpIsZeroNPEval1ZeroInput() (gas: 50070) +LibOpIsZeroNPTest:testOpIsZeroNPEvalFail0Inputs() (gas: 29960) +LibOpIsZeroNPTest:testOpIsZeroNPEvalFail2Inputs() (gas: 38437) +LibOpIsZeroNPTest:testOpIsZeroNPIntegrityHappy((uint256,uint256,uint256,uint256[],uint256,bytes),uint8,uint8,uint16) (runs: 2048, μ: 19536, ~: 19600) +LibOpIsZeroNPTest:testOpIsZeroNPRun(uint256) (runs: 2048, μ: 16268, ~: 16269) +LibOpIsZeroNPTest:testOpIsZeroNPTwoOutputs() (gas: 36595) +LibOpIsZeroNPTest:testOpIsZeroNPZeroOutputs() (gas: 35241) +LibOpLessThanNPTest:testOpLessThanNPEval2InputsBothOne() (gas: 55676) +LibOpLessThanNPTest:testOpLessThanNPEval2InputsFirstOneSecondZero() (gas: 56559) +LibOpLessThanNPTest:testOpLessThanNPEval2InputsFirstZeroSecondOne() (gas: 56558) +LibOpLessThanNPTest:testOpLessThanNPEval2ZeroInputs() (gas: 55696) +LibOpLessThanNPTest:testOpLessThanNPIntegrityHappy((uint256,uint256,uint256,uint256[],uint256,bytes),uint8,uint8,uint16) (runs: 2048, μ: 19478, ~: 19520) +LibOpLessThanNPTest:testOpLessThanNPRun(uint256,uint256) (runs: 2048, μ: 16553, ~: 16558) +LibOpLessThanNPTest:testOpLessThanNPTwoOutputs() (gas: 42448) +LibOpLessThanNPTest:testOpLessThanNPZeroOutputs() (gas: 40504) +LibOpLessThanNPTest:testOpLessThanToNPEvalFail0Inputs() (gas: 30168) +LibOpLessThanNPTest:testOpLessThanToNPEvalFail1Input() (gas: 34425) +LibOpLessThanNPTest:testOpLessThanToNPEvalFail3Inputs() (gas: 42829) +LibOpLessThanOrEqualToNPTest:testOpLessThanOrEqualToNPEval2InputsBothOne() (gas: 56627) +LibOpLessThanOrEqualToNPTest:testOpLessThanOrEqualToNPEval2InputsFirstOneSecondZero() (gas: 57534) +LibOpLessThanOrEqualToNPTest:testOpLessThanOrEqualToNPEval2InputsFirstZeroSecondOne() (gas: 57535) +LibOpLessThanOrEqualToNPTest:testOpLessThanOrEqualToNPEval2ZeroInputs() (gas: 56671) +LibOpLessThanOrEqualToNPTest:testOpLessThanOrEqualToNPEvalFail0Inputs() (gas: 31117) +LibOpLessThanOrEqualToNPTest:testOpLessThanOrEqualToNPEvalFail1Input() (gas: 35449) +LibOpLessThanOrEqualToNPTest:testOpLessThanOrEqualToNPEvalFail3Inputs() (gas: 43874) +LibOpLessThanOrEqualToNPTest:testOpLessThanOrEqualToNPIntegrityHappy((uint256,uint256,uint256,uint256[],uint256,bytes),uint8,uint8,uint16) (runs: 2048, μ: 19470, ~: 19537) +LibOpLessThanOrEqualToNPTest:testOpLessThanOrEqualToNPRun(uint256,uint256) (runs: 2048, μ: 16582, ~: 16587) +LibOpLessThanOrEqualToNPTest:testOpLessThanOrEqualToNPTwoOutputs() (gas: 43181) +LibOpLessThanOrEqualToNPTest:testOpLessThanOrEqualToNPZeroOutputs() (gas: 42094) +LibOpLinearGrowthTest:testOpLinearGrowthEval() (gas: 646689) +LibOpLinearGrowthTest:testOpLinearGrowthEvalFourInputs() (gas: 52188) +LibOpLinearGrowthTest:testOpLinearGrowthEvalOneInput() (gas: 36169) +LibOpLinearGrowthTest:testOpLinearGrowthEvalOperandDisallowed() (gas: 18562) +LibOpLinearGrowthTest:testOpLinearGrowthEvalTwoInputs() (gas: 41865) +LibOpLinearGrowthTest:testOpLinearGrowthEvalTwoOutputs() (gas: 47661) +LibOpLinearGrowthTest:testOpLinearGrowthEvalZeroInputs() (gas: 30567) +LibOpLinearGrowthTest:testOpLinearGrowthEvalZeroOutputs() (gas: 46593) +LibOpLinearGrowthTest:testOpLinearGrowthIntegrity((uint256,uint256,uint256,uint256[],uint256,bytes),uint256) (runs: 2048, μ: 13836, ~: 13806) +LibOpLinearGrowthTest:testOpLinearGrowthRun(uint256,uint256,uint256,uint16) (runs: 2048, μ: 23714, ~: 23623) +LibOpLnTest:testOpLnEval() (gas: 231118) +LibOpLnTest:testOpLnEvalOperandDisallowed() (gas: 17694) +LibOpLnTest:testOpLnIntegrity((uint256,uint256,uint256,uint256[],uint256,bytes),uint256) (runs: 2048, μ: 13857, ~: 13827) +LibOpLnTest:testOpLnRun(uint256,uint16) (runs: 2048, μ: 33279, ~: 33302) +LibOpLnTest:testOpLnTwoInputs() (gas: 40314) +LibOpLnTest:testOpLnTwoOutputs() (gas: 35968) +LibOpLnTest:testOpLnZeroInputs() (gas: 30020) +LibOpLnTest:testOpLnZeroOutputs() (gas: 34899) +LibOpLog10Test:testOpLog10Eval() (gas: 280702) +LibOpLog10Test:testOpLog10EvalOperandDisallowed() (gas: 17937) +LibOpLog10Test:testOpLog10Integrity((uint256,uint256,uint256,uint256[],uint256,bytes),uint256) (runs: 2048, μ: 13879, ~: 13849) +LibOpLog10Test:testOpLog10Run(uint256,uint16) (runs: 2048, μ: 36859, ~: 36877) +LibOpLog10Test:testOpLog10TwoInputs() (gas: 40600) +LibOpLog10Test:testOpLog10TwoOutputs() (gas: 36168) +LibOpLog10Test:testOpLog10ZeroInputs() (gas: 30261) +LibOpLog10Test:testOpLog10ZeroOutputs() (gas: 35141) +LibOpLog2Test:testOpLog2Eval() (gas: 270570) +LibOpLog2Test:testOpLog2EvalOperandDisallowed() (gas: 17856) +LibOpLog2Test:testOpLog2Integrity((uint256,uint256,uint256,uint256[],uint256,bytes),uint256) (runs: 2048, μ: 13834, ~: 13804) +LibOpLog2Test:testOpLog2Run(uint256) (runs: 2048, μ: 32995, ~: 33036) +LibOpLog2Test:testOpLog2TwoInputs() (gas: 40488) +LibOpLog2Test:testOpLog2TwoOutputs() (gas: 36120) +LibOpLog2Test:testOpLog2ZeroInputs() (gas: 30193) +LibOpLog2Test:testOpLog2ZeroOutputs() (gas: 35091) +LibOpMaxTest:testOpMaxEval2InputsHappy() (gas: 551020) +LibOpMaxTest:testOpMaxEval3InputsHappy() (gas: 1864517) +LibOpMaxTest:testOpMaxEvalOneInput() (gas: 127927) +LibOpMaxTest:testOpMaxEvalOperandDisallowed() (gas: 59987) +LibOpMaxTest:testOpMaxEvalTwoOutputs() (gas: 41170) +LibOpMaxTest:testOpMaxEvalZeroInputs() (gas: 30158) +LibOpMaxTest:testOpMaxIntegrityHappy((uint256,uint256,uint256,uint256[],uint256,bytes),uint8,uint16) (runs: 2048, μ: 17971, ~: 17970) +LibOpMaxTest:testOpMaxIntegrityUnhappyOneInput((uint256,uint256,uint256,uint256[],uint256,bytes)) (runs: 2048, μ: 13778, ~: 13625) +LibOpMaxTest:testOpMaxIntegrityUnhappyZeroInputs((uint256,uint256,uint256,uint256[],uint256,bytes)) (runs: 2048, μ: 13776, ~: 13623) +LibOpMaxTest:testOpMaxRun(uint256[]) (runs: 2048, μ: 20921, ~: 21069) +LibOpMaxUint256NPTest:testOpMaxUint256NPEval(uint256) (runs: 2048, μ: 44613, ~: 44613) +LibOpMaxUint256NPTest:testOpMaxUint256NPEvalFail() (gas: 34445) +LibOpMaxUint256NPTest:testOpMaxUint256NPIntegrity((uint256,uint256,uint256,uint256[],uint256,bytes),uint8,uint8,uint16) (runs: 2048, μ: 19442, ~: 19477) +LibOpMaxUint256NPTest:testOpMaxUint256NPRun() (gas: 15866) +LibOpMaxUint256NPTest:testOpMaxUint256NPTwoOutputs() (gas: 31254) +LibOpMaxUint256NPTest:testOpMaxUint256NPZeroOutputs() (gas: 30140) +LibOpMinTest:testOpMinEval2InputsHappy() (gas: 551025) +LibOpMinTest:testOpMinEval3InputsHappy() (gas: 3279221) +LibOpMinTest:testOpMinEvalOneInput() (gas: 127863) +LibOpMinTest:testOpMinEvalOperandDisallowed() (gas: 59966) +LibOpMinTest:testOpMinEvalZeroInputs() (gas: 30163) +LibOpMinTest:testOpMinIntegrityHappy((uint256,uint256,uint256,uint256[],uint256,bytes),uint8,uint16) (runs: 2048, μ: 17979, ~: 17976) +LibOpMinTest:testOpMinIntegrityUnhappyOneInput((uint256,uint256,uint256,uint256[],uint256,bytes)) (runs: 2048, μ: 13775, ~: 13622) +LibOpMinTest:testOpMinIntegrityUnhappyZeroInputs((uint256,uint256,uint256,uint256[],uint256,bytes)) (runs: 2048, μ: 13798, ~: 13645) +LibOpMinTest:testOpMinRun(uint256[],uint16) (runs: 2048, μ: 20910, ~: 20764) +LibOpModTest:testOpModEval2InputsHappy() (gas: 785908) +LibOpModTest:testOpModEval2InputsUnhappy() (gas: 140823) +LibOpModTest:testOpModEval3InputsHappy() (gas: 1524493) +LibOpModTest:testOpModEval3InputsUnhappy() (gas: 464466) +LibOpModTest:testOpModEvalOneInput() (gas: 127927) +LibOpModTest:testOpModEvalOperandDisallowed() (gas: 60011) +LibOpModTest:testOpModEvalTwoOutputs() (gas: 41168) +LibOpModTest:testOpModEvalZeroInputs() (gas: 30156) +LibOpModTest:testOpModEvalZeroOutputs() (gas: 40125) +LibOpModTest:testOpModIntegrityHappy((uint256,uint256,uint256,uint256[],uint256,bytes),uint8,uint16) (runs: 2048, μ: 17940, ~: 17947) +LibOpModTest:testOpModIntegrityUnhappyOneInput((uint256,uint256,uint256,uint256[],uint256,bytes)) (runs: 2048, μ: 13777, ~: 13624) +LibOpModTest:testOpModIntegrityUnhappyZeroInputs((uint256,uint256,uint256,uint256[],uint256,bytes)) (runs: 2048, μ: 13755, ~: 13602) +LibOpModTest:testOpModRun(uint256[]) (runs: 2048, μ: 21251, ~: 21667) +LibOpMulTest:testOpDecimal18MulNPIntegrityUnhappyOneInput((uint256,uint256,uint256,uint256[],uint256,bytes)) (runs: 2048, μ: 13799, ~: 13646) +LibOpMulTest:testOpMulEvalOneInput() (gas: 126835) +LibOpMulTest:testOpMulEvalOperandsDisallowed() (gas: 93473) +LibOpMulTest:testOpMulEvalThreeInputsHappy() (gas: 729920) +LibOpMulTest:testOpMulEvalThreeInputsUnhappyOverflow() (gas: 165387) +LibOpMulTest:testOpMulEvalTwoInputsHappy() (gas: 512115) +LibOpMulTest:testOpMulEvalTwoInputsUnhappyOverflow() (gas: 99621) +LibOpMulTest:testOpMulEvalZeroInputs() (gas: 30179) +LibOpMulTest:testOpMulIntegrityHappy((uint256,uint256,uint256,uint256[],uint256,bytes),uint8,uint16) (runs: 2048, μ: 17925, ~: 17926) +LibOpMulTest:testOpMulIntegrityUnhappyZeroInputs((uint256,uint256,uint256,uint256[],uint256,bytes)) (runs: 2048, μ: 13798, ~: 13645) +LibOpMulTest:testOpMulRun(uint256[]) (runs: 2048, μ: 20737, ~: 18603) +LibOpMulTest:testOpMulTwoOutputs() (gas: 41169) +LibOpMulTest:testOpMulZeroOutputs() (gas: 40126) +LibOpPowTest:testOpPowEval() (gas: 422565) +LibOpPowTest:testOpPowEvalOneInput() (gas: 35500) +LibOpPowTest:testOpPowEvalOperandDisallowed() (gas: 17915) +LibOpPowTest:testOpPowIntegrity((uint256,uint256,uint256,uint256[],uint256,bytes),uint256) (runs: 2048, μ: 13856, ~: 13826) +LibOpPowTest:testOpPowRun(uint256,uint256) (runs: 2048, μ: 35357, ~: 37120) +LibOpPowTest:testOpPowThreeInputs() (gas: 45635) +LibOpPowTest:testOpPowTwoOutputs() (gas: 41243) +LibOpPowTest:testOpPowZeroOutputs() (gas: 40196) +LibOpScale18DynamicTest:testOpScale18DynamicEval() (gas: 1655856) +LibOpScale18DynamicTest:testOpScale18DynamicEvalOneInput() (gas: 132030) +LibOpScale18DynamicTest:testOpScale18DynamicEvalThreeInputs() (gas: 349735) +LibOpScale18DynamicTest:testOpScale18DynamicEvalZeroInputs() (gas: 31415) +LibOpScale18DynamicTest:testOpScale18DynamicIntegrity((uint256,uint256,uint256,uint256[],uint256,bytes),uint8,uint16) (runs: 2048, μ: 17899, ~: 17902) +LibOpScale18DynamicTest:testOpScale18DynamicRun(uint256,uint256,uint256,uint256) (runs: 2048, μ: 24552, ~: 24439) +LibOpScale18DynamicTest:testOpScale18DynamicTwoOutputs() (gas: 42396) +LibOpScale18DynamicTest:testOpScale18DynamicZeroOutputs() (gas: 41371) +LibOpScale18Test:testOpScale18Eval() (gas: 1556824) +LibOpScale18Test:testOpScale18EvalOneInput() (gas: 166647) +LibOpScale18Test:testOpScale18EvalZeroInputs() (gas: 34595) +LibOpScale18Test:testOpScale18Integrity((uint256,uint256,uint256,uint256[],uint256,bytes),uint8,uint16) (runs: 2048, μ: 17846, ~: 17825) +LibOpScale18Test:testOpScale18Run(uint256,uint256,uint256,uint256) (runs: 2048, μ: 24117, ~: 24241) +LibOpScale18Test:testOpScale18TwoOutputs() (gas: 40481) +LibOpScale18Test:testOpScale18ZeroOutputs() (gas: 39452) +LibOpScale18Test:testOpUint256ToDecimal18Eval() (gas: 177947) +LibOpScaleNDynamicTest:testOpScaleNDynamicEval() (gas: 1653526) +LibOpScaleNDynamicTest:testOpScaleNDynamicEvalOneInput() (gas: 131523) +LibOpScaleNDynamicTest:testOpScaleNDynamicEvalThreeInputs() (gas: 349000) +LibOpScaleNDynamicTest:testOpScaleNDynamicEvalZeroInputs() (gas: 31323) +LibOpScaleNDynamicTest:testOpScaleNDynamicIntegrity((uint256,uint256,uint256,uint256[],uint256,bytes),uint8,uint16) (runs: 2048, μ: 17918, ~: 17925) +LibOpScaleNDynamicTest:testOpScaleNDynamicRun(uint256,uint256,uint256,uint256) (runs: 2048, μ: 22379, ~: 24087) +LibOpScaleNDynamicTest:testOpScaleNDynamicTwoOutputs() (gas: 42346) +LibOpScaleNDynamicTest:testOpScaleNDynamicZeroOutputs() (gas: 41280) +LibOpScaleNTest:testOpDecimal18ToIntNPEval() (gas: 297412) +LibOpScaleNTest:testOpScaleNEval() (gas: 1533292) +LibOpScaleNTest:testOpScaleNEvalOneInput() (gas: 163585) +LibOpScaleNTest:testOpScaleNEvalZeroInputs() (gas: 33816) +LibOpScaleNTest:testOpScaleNEvalZeroOutputs() (gas: 38715) +LibOpScaleNTest:testOpScaleNIntegrity((uint256,uint256,uint256,uint256[],uint256,bytes),uint8,uint16) (runs: 2048, μ: 17864, ~: 17846) +LibOpScaleNTest:testOpScaleNRun(uint256,uint256,uint256,uint256) (runs: 2048, μ: 22153, ~: 24136) +LibOpScaleNTest:testOpScaleNTwoOutputs() (gas: 39741) +LibOpSetNPTest:testLibOpSetNP(uint256,uint256) (runs: 2048, μ: 17584, ~: 17589) +LibOpSetNPTest:testLibOpSetNPEvalOneInput() (gas: 34177) +LibOpSetNPTest:testLibOpSetNPEvalOneOutput() (gas: 39732) +LibOpSetNPTest:testLibOpSetNPEvalOperandsDisallowed() (gas: 57116) +LibOpSetNPTest:testLibOpSetNPEvalSetTwice() (gas: 77419) +LibOpSetNPTest:testLibOpSetNPEvalThreeInputs() (gas: 44594) +LibOpSetNPTest:testLibOpSetNPEvalTwoInputs() (gas: 255478) +LibOpSetNPTest:testLibOpSetNPEvalTwoOutputs() (gas: 40392) +LibOpSetNPTest:testLibOpSetNPEvalZeroInputs() (gas: 29394) +LibOpSetNPTest:testLibOpSetNPIntegrity((uint256,uint256,uint256,uint256[],uint256,bytes),uint8,uint8,uint16) (runs: 2048, μ: 20206, ~: 20257) +LibOpShiftBitsLeftNPTest:testOpShiftBitsLeftNPEval() (gas: 882117) +LibOpShiftBitsLeftNPTest:testOpShiftBitsLeftNPIntegrityFailBadShiftAmount() (gas: 128896) +LibOpShiftBitsLeftNPTest:testOpShiftBitsLeftNPIntegrityFailTwoInputs() (gas: 44838) +LibOpShiftBitsLeftNPTest:testOpShiftBitsLeftNPIntegrityFailTwoOutputs() (gas: 40460) +LibOpShiftBitsLeftNPTest:testOpShiftBitsLeftNPIntegrityFailZeroInputs() (gas: 34587) +LibOpShiftBitsLeftNPTest:testOpShiftBitsLeftNPIntegrityFailZeroOutputs() (gas: 39431) +LibOpShiftBitsLeftNPTest:testOpShiftBitsLeftNPIntegrityHappy((uint256,uint256,uint256,uint256[],uint256,bytes),uint8,uint8,uint8) (runs: 2048, μ: 19963, ~: 20043) +LibOpShiftBitsLeftNPTest:testOpShiftBitsLeftNPIntegrityNoop((uint256,uint256,uint256,uint256[],uint256,bytes),uint8) (runs: 2048, μ: 14033, ~: 14009) +LibOpShiftBitsLeftNPTest:testOpShiftBitsLeftNPIntegrityZero((uint256,uint256,uint256,uint256[],uint256,bytes),uint8,uint16) (runs: 2048, μ: 19172, ~: 19136) +LibOpShiftBitsLeftNPTest:testOpShiftBitsLeftNPRun(uint256,uint8) (runs: 2048, μ: 16675, ~: 16675) +LibOpShiftBitsRightNPTest:testOpShiftBitsRightNPEval() (gas: 1061600) +LibOpShiftBitsRightNPTest:testOpShiftBitsRightNPIntegrityFailBadShiftAmount() (gas: 129440) +LibOpShiftBitsRightNPTest:testOpShiftBitsRightNPIntegrityHappy((uint256,uint256,uint256,uint256[],uint256,bytes),uint8,uint8,uint8) (runs: 2048, μ: 19924, ~: 19926) +LibOpShiftBitsRightNPTest:testOpShiftBitsRightNPIntegrityNoop((uint256,uint256,uint256,uint256[],uint256,bytes),uint8) (runs: 2048, μ: 14001, ~: 13977) +LibOpShiftBitsRightNPTest:testOpShiftBitsRightNPIntegrityZero((uint256,uint256,uint256,uint256[],uint256,bytes),uint8,uint16) (runs: 2048, μ: 17740, ~: 17725) +LibOpShiftBitsRightNPTest:testOpShiftBitsRightNPRun(uint256,uint8) (runs: 2048, μ: 16722, ~: 16722) +LibOpShiftBitsRightNPTest:testOpShiftBitsRightNPTwoInputs() (gas: 44917) +LibOpShiftBitsRightNPTest:testOpShiftBitsRightNPTwoOutputs() (gas: 40563) +LibOpShiftBitsRightNPTest:testOpShiftBitsRightNPZeroInputs() (gas: 34624) +LibOpShiftBitsRightNPTest:testOpShiftBitsRightNPZeroOutputs() (gas: 39515) +LibOpSnapToUnitTest:testOpSnapToUnitEval() (gas: 617598) +LibOpSnapToUnitTest:testOpSnapToUnitEvalBad() (gas: 103480) +LibOpSnapToUnitTest:testOpSnapToUnitEvalOperandDisallowed() (gas: 18483) +LibOpSnapToUnitTest:testOpSnapToUnitEvalTwoOutputs() (gas: 41819) +LibOpSnapToUnitTest:testOpSnapToUnitEvalZeroOutputs() (gas: 40797) +LibOpSnapToUnitTest:testOpSnapToUnitIntegrity((uint256,uint256,uint256,uint256[],uint256,bytes),uint256) (runs: 2048, μ: 13855, ~: 13825) +LibOpSnapToUnitTest:testOpSnapToUnitRun(uint256,uint256) (runs: 2048, μ: 20648, ~: 20331) +LibOpSqrtTest:testOpSqrtEval() (gas: 211285) +LibOpSqrtTest:testOpSqrtEvalBad() (gas: 65750) +LibOpSqrtTest:testOpSqrtEvalOperandDisallowed() (gas: 17834) +LibOpSqrtTest:testOpSqrtEvalTwoOutputs() (gas: 36086) +LibOpSqrtTest:testOpSqrtEvalZeroOutputs() (gas: 35058) +LibOpSqrtTest:testOpSqrtIntegrity((uint256,uint256,uint256,uint256[],uint256,bytes),uint256) (runs: 2048, μ: 13857, ~: 13827) +LibOpSqrtTest:testOpSqrtRun(uint256) (runs: 2048, μ: 21681, ~: 21976) +LibOpStackNPTest:testOpStackEval() (gas: 55644) +LibOpStackNPTest:testOpStackEvalSeveral() (gas: 88525) +LibOpStackNPTest:testOpStackNPIntegrity(bytes,uint256,uint256[],uint256) (runs: 2048, μ: 18685, ~: 18489) +LibOpStackNPTest:testOpStackNPIntegrityOOBStack(bytes,uint16,uint256[],uint16,uint256) (runs: 2048, μ: 19232, ~: 19194) +LibOpStackNPTest:testOpStackNPMultipleOutputErrorSugared() (gas: 40192) +LibOpStackNPTest:testOpStackNPMultipleOutputErrorUnsugared() (gas: 43149) +LibOpStackNPTest:testOpStackNPRun(uint256[][],uint256) (runs: 2048, μ: 2041044, ~: 1872279) +LibOpStackNPTest:testOpStackNPZeroOutputErrorSugared() (gas: 38786) +LibOpStackNPTest:testOpStackNPZeroOutputErrorUnsugared() (gas: 41709) +LibOpSubTest:testOpSubEval2InputsSaturatingUnderflow() (gas: 300204) +LibOpSubTest:testOpSubEval2InputsUnhappyUnderflow() (gas: 144893) +LibOpSubTest:testOpSubEval3InputsSaturatingUnderflow() (gas: 773283) +LibOpSubTest:testOpSubEval3InputsUnhappyUnderflow() (gas: 372713) +LibOpSubTest:testOpSubEvalOneInput() (gas: 127814) +LibOpSubTest:testOpSubEvalOneInputSaturating() (gas: 270666) +LibOpSubTest:testOpSubEvalThreeInputs() (gas: 219696) +LibOpSubTest:testOpSubEvalThreeInputsSaturating() (gas: 442319) +LibOpSubTest:testOpSubEvalTwoInputs() (gas: 327479) +LibOpSubTest:testOpSubEvalTwoInputsSaturating() (gas: 670104) +LibOpSubTest:testOpSubEvalZeroInputs() (gas: 30130) +LibOpSubTest:testOpSubEvalZeroInputsSaturating() (gas: 59323) +LibOpSubTest:testOpSubIntegrityHappy((uint256,uint256,uint256,uint256[],uint256,bytes),uint8,uint16) (runs: 2048, μ: 17988, ~: 17991) +LibOpSubTest:testOpSubIntegrityUnhappyOneInput((uint256,uint256,uint256,uint256[],uint256,bytes)) (runs: 2048, μ: 13799, ~: 13646) +LibOpSubTest:testOpSubIntegrityUnhappyZeroInputs((uint256,uint256,uint256,uint256[],uint256,bytes)) (runs: 2048, μ: 13799, ~: 13646) +LibOpSubTest:testOpSubRun(uint256[]) (runs: 2048, μ: 15641, ~: 15258) +LibOpTimestampNPTest:testOpBlockTimestampNPEvalFail() (gas: 65754) +LibOpTimestampNPTest:testOpBlockTimestampNPTwoOutputs() (gas: 58730) +LibOpTimestampNPTest:testOpBlockTimestampNPZeroOutputs() (gas: 56611) +LibOpTimestampNPTest:testOpTimestampNPEval(uint256) (runs: 2048, μ: 83699, ~: 83571) +LibOpTimestampNPTest:testOpTimestampNPIntegrity((uint256,uint256,uint256,uint256[],uint256,bytes),uint8,uint8,uint16) (runs: 2048, μ: 19416, ~: 19470) +LibOpTimestampNPTest:testOpTimestampNPRun(uint256) (runs: 2048, μ: 20084, ~: 19956) +LibOpUint256DivTest:testOpUint256DivEval2InputsHappy() (gas: 797390) +LibOpUint256DivTest:testOpUint256DivEval2InputsUnhappy() (gas: 142766) +LibOpUint256DivTest:testOpUint256DivEval3InputsHappy() (gas: 1493157) +LibOpUint256DivTest:testOpUint256DivEval3InputsUnhappy() (gas: 470381) +LibOpUint256DivTest:testOpUint256DivEvalOneInput() (gas: 131022) +LibOpUint256DivTest:testOpUint256DivEvalOperandDisallowed() (gas: 62603) +LibOpUint256DivTest:testOpUint256DivEvalTwoOutputs() (gas: 41796) +LibOpUint256DivTest:testOpUint256DivEvalZeroInputs() (gas: 30806) +LibOpUint256DivTest:testOpUint256DivEvalZeroOutputs() (gas: 40774) +LibOpUint256DivTest:testOpUint256DivIntegrityHappy((uint256,uint256,uint256,uint256[],uint256,bytes),uint8,uint16) (runs: 2048, μ: 17946, ~: 17938) +LibOpUint256DivTest:testOpUint256DivIntegrityUnhappyOneInput((uint256,uint256,uint256,uint256[],uint256,bytes)) (runs: 2048, μ: 13819, ~: 13666) +LibOpUint256DivTest:testOpUint256DivIntegrityUnhappyZeroInputs((uint256,uint256,uint256,uint256[],uint256,bytes)) (runs: 2048, μ: 13775, ~: 13622) +LibOpUint256DivTest:testOpUint256DivRun(uint256[]) (runs: 2048, μ: 21211, ~: 21625) +LibOpUint256ERC20AllowanceTest:testOpERC20AllowanceNPEvalFourInputs() (gas: 56516) +LibOpUint256ERC20AllowanceTest:testOpERC20AllowanceNPEvalHappy(uint256) (runs: 2048, μ: 69475, ~: 69475) +LibOpUint256ERC20AllowanceTest:testOpERC20AllowanceNPEvalOneInput() (gas: 37900) +LibOpUint256ERC20AllowanceTest:testOpERC20AllowanceNPEvalOperandDisallowed() (gas: 19439) +LibOpUint256ERC20AllowanceTest:testOpERC20AllowanceNPEvalTwoInputs() (gas: 44165) +LibOpUint256ERC20AllowanceTest:testOpERC20AllowanceNPEvalTwoOutputs() (gas: 51209) +LibOpUint256ERC20AllowanceTest:testOpERC20AllowanceNPEvalZeroInputs() (gas: 31765) +LibOpUint256ERC20AllowanceTest:testOpERC20AllowanceNPEvalZeroOutputs() (gas: 50142) +LibOpUint256ERC20AllowanceTest:testOpERC20AllowanceNPIntegrity((uint256,uint256,uint256,uint256[],uint256,bytes),uint256) (runs: 2048, μ: 13837, ~: 13807) +LibOpUint256ERC20AllowanceTest:testOpERC20AllowanceNPRun(address,address,address,uint256) (runs: 2048, μ: 24285, ~: 24285) +LibOpUint256ERC20BalanceOfTest:testOpERC20BalanceOfNPEvalHappy(uint256) (runs: 2048, μ: 62524, ~: 62524) +LibOpUint256ERC20BalanceOfTest:testOpERC20BalanceOfNPEvalOneInput() (gas: 37960) +LibOpUint256ERC20BalanceOfTest:testOpERC20BalanceOfNPEvalOperandDisallowed() (gas: 19520) +LibOpUint256ERC20BalanceOfTest:testOpERC20BalanceOfNPEvalThreeInputs() (gas: 50082) +LibOpUint256ERC20BalanceOfTest:testOpERC20BalanceOfNPEvalTwoOutputs() (gas: 44933) +LibOpUint256ERC20BalanceOfTest:testOpERC20BalanceOfNPEvalZeroInputs() (gas: 31823) +LibOpUint256ERC20BalanceOfTest:testOpERC20BalanceOfNPEvalZeroOutputs() (gas: 43909) +LibOpUint256ERC20BalanceOfTest:testOpERC20BalanceOfNPIntegrity((uint256,uint256,uint256,uint256[],uint256,bytes),uint256) (runs: 2048, μ: 13879, ~: 13849) +LibOpUint256ERC20BalanceOfTest:testOpERC20BalanceOfNPRun(address,address,uint256,uint16) (runs: 2048, μ: 23683, ~: 23683) +LibOpUint256ERC20TotalSupplyTest:testOpERC20TotalSupplyNPEvalHappy(uint256) (runs: 2048, μ: 55681, ~: 55681) +LibOpUint256ERC20TotalSupplyTest:testOpERC20TotalSupplyNPEvalOperandDisallowed() (gas: 19726) +LibOpUint256ERC20TotalSupplyTest:testOpERC20TotalSupplyNPEvalTwoInputs() (gas: 44430) +LibOpUint256ERC20TotalSupplyTest:testOpERC20TotalSupplyNPEvalTwoOutputs() (gas: 38811) +LibOpUint256ERC20TotalSupplyTest:testOpERC20TotalSupplyNPEvalZeroInputs() (gas: 31986) +LibOpUint256ERC20TotalSupplyTest:testOpERC20TotalSupplyNPEvalZeroOutputs() (gas: 37742) +LibOpUint256ERC20TotalSupplyTest:testOpERC20TotalSupplyNPIntegrity((uint256,uint256,uint256,uint256[],uint256,bytes),uint256) (runs: 2048, μ: 13859, ~: 13829) +LibOpUint256ERC20TotalSupplyTest:testOpERC20TotalSupplyNPRun(address,uint256,uint16) (runs: 2048, μ: 22945, ~: 22945) +LibOpUint256ERC721BalanceOfTest:testOpERC721BalanceOfEvalHappy(address,address,uint256) (runs: 2048, μ: 611442, ~: 103631) +LibOpUint256ERC721BalanceOfTest:testOpERC721BalanceOfIntegrity((uint256,uint256,uint256,uint256[],uint256,bytes),uint8,uint8,uint16) (runs: 2048, μ: 19431, ~: 19469) +LibOpUint256ERC721BalanceOfTest:testOpERC721BalanceOfIntegrityFail0() (gas: 31441) +LibOpUint256ERC721BalanceOfTest:testOpERC721BalanceOfIntegrityFail1() (gas: 35815) +LibOpUint256ERC721BalanceOfTest:testOpERC721BalanceOfIntegrityFail3() (gas: 45130) +LibOpUint256ERC721BalanceOfTest:testOpERC721BalanceOfIntegrityFailOperand() (gas: 22392) +LibOpUint256ERC721BalanceOfTest:testOpERC721BalanceOfOneInput() (gas: 36339) +LibOpUint256ERC721BalanceOfTest:testOpERC721BalanceOfRun(address,address,uint256,uint16) (runs: 2048, μ: 23770, ~: 23770) +LibOpUint256ERC721BalanceOfTest:testOpERC721BalanceOfThreeInputs() (gas: 45644) +LibOpUint256ERC721BalanceOfTest:testOpERC721BalanceOfTwoOutputs() (gas: 41649) +LibOpUint256ERC721BalanceOfTest:testOpERC721BalanceOfZeroInputs() (gas: 31869) +LibOpUint256ERC721BalanceOfTest:testOpERC721BalanceOfZeroOutputs() (gas: 40627) +LibOpUint256MulTest:testOpUint256MulEvalOneInput() (gas: 130563) +LibOpUint256MulTest:testOpUint256MulEvalOperandsDisallowed() (gas: 97362) +LibOpUint256MulTest:testOpUint256MulEvalThreeInputsHappy() (gas: 1055506) +LibOpUint256MulTest:testOpUint256MulEvalThreeInputsUnhappy() (gas: 650225) +LibOpUint256MulTest:testOpUint256MulEvalTwoInputsHappy() (gas: 425754) +LibOpUint256MulTest:testOpUint256MulEvalTwoInputsUnhappy() (gas: 141809) +LibOpUint256MulTest:testOpUint256MulEvalTwoOutputs() (gas: 41784) +LibOpUint256MulTest:testOpUint256MulEvalZeroInputs() (gas: 30815) +LibOpUint256MulTest:testOpUint256MulEvalZeroOutputs() (gas: 40786) +LibOpUint256MulTest:testOpUint256MulIntegrityHappy((uint256,uint256,uint256,uint256[],uint256,bytes),uint8,uint16) (runs: 2048, μ: 17993, ~: 17995) +LibOpUint256MulTest:testOpUint256MulIntegrityUnhappyOneInput((uint256,uint256,uint256,uint256[],uint256,bytes)) (runs: 2048, μ: 13775, ~: 13622) +LibOpUint256MulTest:testOpUint256MulIntegrityUnhappyZeroInputs((uint256,uint256,uint256,uint256[],uint256,bytes)) (runs: 2048, μ: 13799, ~: 13646) +LibOpUint256MulTest:testOpUint256MulRun(uint256[]) (runs: 2048, μ: 16312, ~: 15956) +LibOpUint256PowTest:testOpUint256ExpIntegrityHappy((uint256,uint256,uint256,uint256[],uint256,bytes),uint8,uint16) (runs: 2048, μ: 17932, ~: 17931) +LibOpUint256PowTest:testOpUint256PowEval2InputsHappy() (gas: 893983) +LibOpUint256PowTest:testOpUint256PowEval2InputsUnhappy() (gas: 143765) +LibOpUint256PowTest:testOpUint256PowEval3InputsHappy() (gas: 2078307) +LibOpUint256PowTest:testOpUint256PowEval3InputsUnhappy() (gas: 637876) +LibOpUint256PowTest:testOpUint256PowEvalOneInput() (gas: 131211) +LibOpUint256PowTest:testOpUint256PowEvalOperandDisallowed() (gas: 63205) +LibOpUint256PowTest:testOpUint256PowEvalTwoOutputs() (gas: 41991) +LibOpUint256PowTest:testOpUint256PowEvalZeroInputs() (gas: 31020) +LibOpUint256PowTest:testOpUint256PowEvalZeroOutputs() (gas: 40904) +LibOpUint256PowTest:testOpUint256PowIntegrityUnhappyOneInput((uint256,uint256,uint256,uint256[],uint256,bytes)) (runs: 2048, μ: 13777, ~: 13624) +LibOpUint256PowTest:testOpUint256PowIntegrityUnhappyZeroInputs((uint256,uint256,uint256,uint256[],uint256,bytes)) (runs: 2048, μ: 13755, ~: 13602) +LibOpUint256PowTest:testOpUint256PowRun(uint256[]) (runs: 2048, μ: 17674, ~: 17124) +LibParseCommentsTest:testParseCommentAfterSources() (gas: 69470) +LibParseCommentsTest:testParseCommentBetweenSources() (gas: 69548) +LibParseCommentsTest:testParseCommentInIgnoredLHS() (gas: 42114) +LibParseCommentsTest:testParseCommentInLHSWhitespace() (gas: 42395) +LibParseCommentsTest:testParseCommentInNamedLHS() (gas: 42264) +LibParseCommentsTest:testParseCommentInRHS() (gas: 42561) +LibParseCommentsTest:testParseCommentInRHS2() (gas: 45415) +LibParseCommentsTest:testParseCommentInRHS3() (gas: 45425) +LibParseCommentsTest:testParseCommentLong() (gas: 62861) +LibParseCommentsTest:testParseCommentManyAstericks() (gas: 55971) +LibParseCommentsTest:testParseCommentManyAstericksTrailing() (gas: 55907) +LibParseCommentsTest:testParseCommentMultiple() (gas: 74232) +LibParseCommentsTest:testParseCommentNoTrailingWhitespace() (gas: 42975) +LibParseCommentsTest:testParseCommentNoWords() (gas: 52406) +LibParseCommentsTest:testParseCommentSingleWord() (gas: 56433) +LibParseCommentsTest:testParseCommentSingleWordSameLine() (gas: 57270) +LibParseCommentsTest:testParseCommentUnclosed() (gas: 42647) +LibParseCommentsTest:testParseCommentUnclosed2() (gas: 42825) +LibParseEmptyGasTest:testParseGasEmpty00() (gas: 38090) +LibParseEmptyGasTest:testParseGasEmpty01() (gas: 42935) +LibParseEmptyGasTest:testParseGasEmpty02() (gas: 47171) +LibParseEmptyGasTest:testParseGasEmpty03() (gas: 51384) +LibParseEmptyGasTest:testParseGasEmpty04() (gas: 55597) +LibParseEmptyTest:testParseEmpty00() (gas: 42493) +LibParseEmptyTest:testParseEmpty01() (gas: 50675) +LibParseEmptyTest:testParseEmpty02() (gas: 58519) +LibParseEmptyTest:testParseEmpty03() (gas: 66163) +LibParseEmptyTest:testParseEmpty04() (gas: 73828) +LibParseEmptyTest:testParseEmpty08() (gas: 104673) +LibParseEmptyTest:testParseEmpty15() (gas: 158493) +LibParseEmptyTest:testParseEmptyError16() (gas: 86202) +LibParseIgnoredLHSTest:testParseIgnoredLHSAlphaTooLong() (gas: 52762) +LibParseIgnoredLHSTest:testParseIgnoredLHSLoneUnderscore() (gas: 51361) +LibParseIgnoredLHSTest:testParseIgnoredLHSMultipleLines() (gas: 54618) +LibParseIgnoredLHSTest:testParseIgnoredLHSTwoAlphas() (gas: 52471) +LibParseIgnoredLHSTest:testParseIgnoredLHSTwoUnderscores() (gas: 52304) +LibParseIgnoredLHSTest:testParseIgnoredLHSUnderscoreAlpha() (gas: 51437) +LibParseIgnoredLHSTest:testParseIgnoredLHSUnderscoreNotInput() (gas: 56424) +LibParseIgnoredLHSTest:testParseIgnoredWordTooLong() (gas: 54050) +LibParseInputsOnlyGasTest:testParseGasInputsOnly00() (gas: 43633) +LibParseInputsOnlyGasTest:testParseGasInputsOnly01() (gas: 44565) +LibParseInputsOnlyGasTest:testParseGasInputsOnly02() (gas: 45470) +LibParseInputsOnlyGasTest:testParseGasInputsOnly03() (gas: 46401) +LibParseInputsOnlyGasTest:testParseGasInputsOnly04() (gas: 47332) +LibParseInputsOnlyGasTest:testParseGasInputsOnly05() (gas: 48263) +LibParseInputsOnlyGasTest:testParseGasInputsOnly06() (gas: 49192) +LibParseInputsOnlyGasTest:testParseGasInputsOnly07() (gas: 50153) +LibParseInputsOnlyGasTest:testParseGasInputsOnly08() (gas: 51051) +LibParseInputsOnlyGasTest:testParseGasInputsOnly09() (gas: 51982) +LibParseInputsOnlyTest:testParseInputsOnlyMultiple() (gas: 52259) +LibParseInputsOnlyTest:testParseInputsOnlySingle() (gas: 51352) +LibParseIsMaskTest:testIsMaskPastEnd(uint256,uint256,uint256) (runs: 2048, μ: 17082, ~: 18994) +LibParseIsMaskTest:testIsMaskReference(string,uint256,uint256) (runs: 2048, μ: 8346, ~: 8396) +LibParseLiteralBoundLiteralHexTest:testParseLiteralBoundLiteralHexBounds() (gas: 18768) +LibParseLiteralBoundLiteralHexTest:testParseLiteralBoundLiteralHexFuzz(string,bytes1,string) (runs: 2048, μ: 45074, ~: 43868) +LibParseLiteralDecimalParseDecimalFloatTest:testParseLiteralDecimalFloatDecimals() (gas: 411326) +LibParseLiteralDecimalParseDecimalFloatTest:testParseLiteralDecimalFloatDotE() (gas: 5430) +LibParseLiteralDecimalParseDecimalFloatTest:testParseLiteralDecimalFloatDotE0() (gas: 5408) +LibParseLiteralDecimalParseDecimalFloatTest:testParseLiteralDecimalFloatDotRevert() (gas: 5409) +LibParseLiteralDecimalParseDecimalFloatTest:testParseLiteralDecimalFloatDotRevert2() (gas: 5408) +LibParseLiteralDecimalParseDecimalFloatTest:testParseLiteralDecimalFloatDotRevert3() (gas: 6259) +LibParseLiteralDecimalParseDecimalFloatTest:testParseLiteralDecimalFloatEDot() (gas: 5432) +LibParseLiteralDecimalParseDecimalFloatTest:testParseLiteralDecimalFloatEmpty() (gas: 5397) +LibParseLiteralDecimalParseDecimalFloatTest:testParseLiteralDecimalFloatExponentRevert() (gas: 5377) +LibParseLiteralDecimalParseDecimalFloatTest:testParseLiteralDecimalFloatExponentRevert2() (gas: 6479) +LibParseLiteralDecimalParseDecimalFloatTest:testParseLiteralDecimalFloatExponentRevert3() (gas: 6497) +LibParseLiteralDecimalParseDecimalFloatTest:testParseLiteralDecimalFloatExponentRevert4() (gas: 5430) +LibParseLiteralDecimalParseDecimalFloatTest:testParseLiteralDecimalFloatExponentRevert5() (gas: 5451) +LibParseLiteralDecimalParseDecimalFloatTest:testParseLiteralDecimalFloatExponentRevert6() (gas: 5452) +LibParseLiteralDecimalParseDecimalFloatTest:testParseLiteralDecimalFloatExponents() (gas: 448597) +LibParseLiteralDecimalParseDecimalFloatTest:testParseLiteralDecimalFloatFuzz(uint256,uint8,bool) (runs: 2048, μ: 46682, ~: 38192) +LibParseLiteralDecimalParseDecimalFloatTest:testParseLiteralDecimalFloatLeadingZeros() (gas: 65265) +LibParseLiteralDecimalParseDecimalFloatTest:testParseLiteralDecimalFloatNegativeE() (gas: 7499) +LibParseLiteralDecimalParseDecimalFloatTest:testParseLiteralDecimalFloatNegativeFrac() (gas: 6230) +LibParseLiteralDecimalParseDecimalFloatTest:testParseLiteralDecimalFloatNonDecimal() (gas: 5408) +LibParseLiteralDecimalParseDecimalFloatTest:testParseLiteralDecimalFloatPrecisionRevert0() (gas: 28706) +LibParseLiteralDecimalParseDecimalFloatTest:testParseLiteralDecimalFloatPrecisionRevert1() (gas: 28584) +LibParseLiteralDecimalParseDecimalFloatTest:testParseLiteralDecimalFloatSpecific() (gas: 27606) +LibParseLiteralDecimalParseDecimalFloatTest:testParseLiteralDecimalFloatUnrelated() (gas: 36849) +LibParseLiteralDecimalTest:testParseLiteralDecimalDecimals() (gas: 171897) +LibParseLiteralDecimalTest:testParseLiteralDecimalDotError() (gas: 5341) +LibParseLiteralDecimalTest:testParseLiteralDecimalDotError2() (gas: 5341) +LibParseLiteralDecimalTest:testParseLiteralDecimalDotError3() (gas: 5976) +LibParseLiteralDecimalTest:testParseLiteralDecimalDotError4() (gas: 5321) +LibParseLiteralDecimalTest:testParseLiteralDecimalDotError5() (gas: 5298) +LibParseLiteralDecimalTest:testParseLiteralDecimalDotError6() (gas: 5299) +LibParseLiteralDecimalTest:testParseLiteralDecimalEmpty() (gas: 5250) +LibParseLiteralDecimalTest:testParseLiteralDecimalExponents() (gas: 168036) +LibParseLiteralDecimalTest:testParseLiteralDecimalExponents2() (gas: 237834) +LibParseLiteralDecimalTest:testParseLiteralDecimalExponents2Capital() (gas: 171655) +LibParseLiteralDecimalTest:testParseLiteralDecimalExponents3() (gas: 259413) +LibParseLiteralDecimalTest:testParseLiteralDecimalExponents4() (gas: 138106) +LibParseLiteralDecimalTest:testParseLiteralDecimalExponentsError() (gas: 5340) +LibParseLiteralDecimalTest:testParseLiteralDecimalExponentsError3() (gas: 6083) +LibParseLiteralDecimalTest:testParseLiteralDecimalExponentsError4() (gas: 5342) +LibParseLiteralDecimalTest:testParseLiteralDecimalExponentsError5() (gas: 5342) +LibParseLiteralDecimalTest:testParseLiteralDecimalNegativeExponents() (gas: 221911) +LibParseLiteralDecimalTest:testParseLiteralDecimalNegativeExponentsError() (gas: 6710) +LibParseLiteralDecimalTest:testParseLiteralDecimalNonDecimal() (gas: 5245) +LibParseLiteralDecimalTest:testParseLiteralDecimalOverflow() (gas: 7703) +LibParseLiteralDecimalTest:testParseLiteralDecimalPrecisionLossDecimal() (gas: 7558) +LibParseLiteralDecimalTest:testParseLiteralDecimalPrecisionLossDecimalMax() (gas: 12063) +LibParseLiteralDecimalTest:testParseLiteralDecimalPrecisionLossDecimalSmall() (gas: 11721) +LibParseLiteralDecimalTest:testParseLiteralDecimalPrecisionLossInteger() (gas: 7420) +LibParseLiteralDecimalTest:testParseLiteralDecimalRoundTrip(uint256) (runs: 2048, μ: 21969, ~: 21156) +LibParseLiteralDecimalTest:testParseLiteralDecimalSpecific() (gas: 49997) +LibParseLiteralDecimalTest:testParseLiteralDecimalTrailingZeros() (gas: 201496) +LibParseLiteralDecimalTest:testParseLiteralDecimalUnrelated() (gas: 71717) +LibParseLiteralHexBoundHexTest:testParseLiteralHexRoundTrip(uint256) (runs: 2048, μ: 18385, ~: 14263) +LibParseLiteralIntegerDecimalTest:testParseIntegerLiteralDecimal00() (gas: 56515) +LibParseLiteralIntegerDecimalTest:testParseIntegerLiteralDecimal01() (gas: 63825) +LibParseLiteralIntegerDecimalTest:testParseIntegerLiteralDecimal02() (gas: 70353) +LibParseLiteralIntegerDecimalTest:testParseIntegerLiteralDecimalENotation() (gas: 88972) +LibParseLiteralIntegerDecimalTest:testParseIntegerLiteralDecimalParensBoth() (gas: 46319) +LibParseLiteralIntegerDecimalTest:testParseIntegerLiteralDecimalParensLeft() (gas: 46361) +LibParseLiteralIntegerDecimalTest:testParseIntegerLiteralDecimalParensRight() (gas: 46223) +LibParseLiteralIntegerDecimalTest:testParseIntegerLiteralDecimalUint256Max() (gas: 78917) +LibParseLiteralIntegerDecimalTest:testParseIntegerLiteralDecimalUint256MaxLeadingZeros() (gas: 79426) +LibParseLiteralIntegerDecimalTest:testParseIntegerLiteralDecimalUint256OverflowLeadingDigit() (gas: 65262) +LibParseLiteralIntegerDecimalTest:testParseIntegerLiteralDecimalUint256OverflowLeadingDigitLeadingZeros() (gas: 65386) +LibParseLiteralIntegerDecimalTest:testParseIntegerLiteralDecimalUint256OverflowLeadingZeros() (gas: 65549) +LibParseLiteralIntegerDecimalTest:testParseIntegerLiteralDecimalUint256OverflowSimple() (gas: 65372) +LibParseLiteralIntegerDecimalTest:testParseIntegerLiteralDecimalYang() (gas: 46805) +LibParseLiteralIntegerHexTest:testParseIntegerLiteralHex00() (gas: 55638) +LibParseLiteralIntegerHexTest:testParseIntegerLiteralHex01() (gas: 61322) +LibParseLiteralIntegerHexTest:testParseIntegerLiteralHex02() (gas: 66361) +LibParseLiteralIntegerHexTest:testParseIntegerLiteralHexUint256Max() (gas: 72462) +LibParseLiteralStringBoundTest:testParseStringLiteralBounds(string) (runs: 2048, μ: 16695, ~: 16752) +LibParseLiteralStringBoundTest:testParseStringLiteralBoundsInvalidCharBefore(string,uint256) (runs: 2048, μ: 30342, ~: 30223) +LibParseLiteralStringBoundTest:testParseStringLiteralBoundsParserOutOfBounds(string,uint256) (runs: 2048, μ: 18751, ~: 18606) +LibParseLiteralStringBoundTest:testParseStringLiteralBoundsTooLong(string) (runs: 2048, μ: 31812, ~: 31361) +LibParseLiteralStringTest:testParseStringLiteralAny(bytes) (runs: 2048, μ: 13386, ~: 13290) +LibParseLiteralStringTest:testParseStringLiteralCorrupt(bytes,uint256) (runs: 2048, μ: 18612, ~: 18540) +LibParseLiteralStringTest:testParseStringLiteralEmpty() (gas: 54332) +LibParseLiteralStringTest:testParseStringLiteralEmpty() (gas: 5585) +LibParseLiteralStringTest:testParseStringLiteralInvalidCharAfter(string,string) (runs: 2048, μ: 69516, ~: 69114) +LibParseLiteralStringTest:testParseStringLiteralInvalidCharWithin(string,uint256) (runs: 2048, μ: 67303, ~: 67223) +LibParseLiteralStringTest:testParseStringLiteralLongASCII(string) (runs: 2048, μ: 68846, ~: 68385) +LibParseLiteralStringTest:testParseStringLiteralShortASCII(string) (runs: 2048, μ: 62233, ~: 62294) +LibParseLiteralStringTest:testParseStringLiteralSimple() (gas: 54434) +LibParseLiteralStringTest:testParseStringLiteralTwo(string,string) (runs: 2048, μ: 75501, ~: 75448) +LibParseLiteralSubParseableTest:testParseLiteralSubParseableBody() (gas: 64781) +LibParseLiteralSubParseableTest:testParseLiteralSubParseableEmptyBody() (gas: 19685) +LibParseLiteralSubParseableTest:testParseLiteralSubParseableHappyFuzz(string,string,string) (runs: 2048, μ: 89730, ~: 89233) +LibParseLiteralSubParseableTest:testParseLiteralSubParseableMissingDispatchEmpty() (gas: 9223) +LibParseLiteralSubParseableTest:testParseLiteralSubParseableMissingDispatchUnclosed() (gas: 9228) +LibParseLiteralSubParseableTest:testParseLiteralSubParseableMissingDispatchUnclosedWhitespace0() (gas: 9221) +LibParseLiteralSubParseableTest:testParseLiteralSubParseableMissingDispatchUnclosedWhitespace1() (gas: 9178) +LibParseLiteralSubParseableTest:testParseLiteralSubParseableUnclosedDispatch0() (gas: 9646) +LibParseLiteralSubParseableTest:testParseLiteralSubParseableUnclosedDispatchBody() (gas: 9812) +LibParseLiteralSubParseableTest:testParseLiteralSubParseableUnclosedDispatchWhitespace0() (gas: 9742) +LibParseLiteralSubParseableTest:testParseLiteralSubParseableUnclosedDispatchWhitespace1() (gas: 9201) +LibParseLiteralSubParseableTest:testParseLiteralSubParseableUnclosedDoubleOpen() (gas: 9668) +LibParseMissingFinalSemiTest:testParseMissingFinalSemiRevertsEmptySource() (gas: 44895) +LibParseMissingFinalSemiTest:testParseMissingFinalSemiRevertsLHSItems() (gas: 42838) +LibParseMissingFinalSemiTest:testParseMissingFinalSemiRevertsLoneColon() (gas: 41943) +LibParseMissingFinalSemiTest:testParseMissingFinalSemiRevertsSingleWord() (gas: 44890) +LibParseMissingFinalSemiTest:testParseMissingFinalSemiRevertsTrailingComma() (gas: 43111) +LibParseNOutputTest:testParseBalanceStackOffsetsInputs() (gas: 61554) +LibParseNOutputTest:testParseNOutputExcessRHS0() (gas: 50564) +LibParseNOutputTest:testParseNOutputExcessRHS1() (gas: 48694) +LibParseNOutputTest:testParseNOutputExcessRHS2() (gas: 49097) +LibParseNOutputTest:testParseNOutputExcessRHS3() (gas: 50446) +LibParseNOutputTest:testParseNOutputNestedRHS() (gas: 56760) +LibParseNamedLHSTest:testParseNamedDuplicateDifferentSource() (gas: 55410) +LibParseNamedLHSTest:testParseNamedError32() (gas: 44980) +LibParseNamedLHSTest:testParseNamedError33() (gas: 44957) +LibParseNamedLHSTest:testParseNamedErrorDuplicateSameSource() (gas: 45201) +LibParseNamedLHSTest:testParseNamedLHSEmptySourceExamples() (gas: 153516) +LibParseNamedLHSTest:testParseNamedLHSStackIndex() (gas: 57996) +LibParseNamedLHSTest:testParseNamedLHSTwoInputs() (gas: 61112) +LibParseNamedRHSTest:testParseSingleLHSNestingAndSequential00() (gas: 78612) +LibParseNamedRHSTest:testParseSingleLHSNestingAndSequential01() (gas: 93835) +LibParseNamedRHSTest:testParseSingleLHSNestingAndSequential02() (gas: 89122) +LibParseNamedRHSTest:testParseSingleLHSNestingAndSequential03() (gas: 192678) +LibParseNamedRHSTest:testParseSingleWord() (gas: 54374) +LibParseNamedRHSTest:testParseTwoFullLinesSingleRHSEach() (gas: 75133) +LibParseNamedRHSTest:testParseTwoFullSourcesSingleRHSEach() (gas: 65993) +LibParseNamedRHSTest:testParseTwoNested() (gas: 57814) +LibParseNamedRHSTest:testParseTwoNestedAsThirdInput() (gas: 67706) +LibParseNamedRHSTest:testParseTwoSequential() (gas: 59464) +LibParseNamedRHSTest:testParseTwoSequentialWithInputs() (gas: 72497) +LibParseOperand8M1M1Test:testOperand8M1M1Elided() (gas: 92668) +LibParseOperand8M1M1Test:testOperand8M1M1Single() (gas: 271311) +LibParseOperand8M1M1Test:testOperand8M1M1SingleBit() (gas: 558958) +LibParseOperand8M1M1Test:testOperand8M1M1SingleBitsPart1() (gas: 1585625) +LibParseOperand8M1M1Test:testOperand8M1M1Unclosed() (gas: 306844) +LibParseOperand8M1M1Test:testOperand8M1M1Unopened() (gas: 47361) +LibParseOperandDisallowedTest:testOperandDisallowed() (gas: 44015) +LibParseOperandDisallowedTest:testOperandDisallowed1() (gas: 44486) +LibParseOperandDisallowedTest:testOperandDisallowed3() (gas: 46350) +LibParseOperandDisallowedTest:testOperandDisallowed4() (gas: 46372) +LibParseOperandDoublePerByteNoDefaultTest:testOperandDoublePerByteNoDefaultElided() (gas: 43433) +LibParseOperandDoublePerByteNoDefaultTest:testOperandDoublePerByteNoDefaultEmpty() (gas: 43827) +LibParseOperandDoublePerByteNoDefaultTest:testOperandDoublePerByteNoDefaultFirst() (gas: 46423) +LibParseOperandDoublePerByteNoDefaultTest:testOperandDoublePerByteNoDefaultMultipleWhitespace() (gas: 58502) +LibParseOperandDoublePerByteNoDefaultTest:testOperandDoublePerByteNoDefaultPostfixWhitespace() (gas: 57724) +LibParseOperandDoublePerByteNoDefaultTest:testOperandDoublePerByteNoDefaultPrefixWhitespace() (gas: 57700) +LibParseOperandDoublePerByteNoDefaultTest:testOperandDoublePerByteNoDefaultSecond() (gas: 57332) +LibParseOperandDoublePerByteNoDefaultTest:testOperandDoublePerByteNoDefaultSecondMax() (gas: 58463) +LibParseOperandDoublePerByteNoDefaultTest:testOperandDoublePerByteNoDefaultSecondMaxZero() (gas: 57817) +LibParseOperandDoublePerByteNoDefaultTest:testOperandDoublePerByteNoDefaultSecondOverflow() (gas: 50929) +LibParseOperandDoublePerByteNoDefaultTest:testOperandDoublePerByteNoDefaultSecondOverflowFirst() (gas: 50930) +LibParseOperandDoublePerByteNoDefaultTest:testOperandDoublePerByteNoDefaultSecondZero() (gas: 57195) +LibParseOperandDoublePerByteNoDefaultTest:testOperandDoublePerByteNoDefaultSecondZeroMax() (gas: 57839) +LibParseOperandDoublePerByteNoDefaultTest:testOperandDoublePerByteNoDefaultThird() (gas: 52402) +LibParseOperandDoublePerByteNoDefaultTest:testOperandDoublePerByteNoDefaultUnclosed() (gas: 49261) +LibParseOperandDoublePerByteNoDefaultTest:testOperandDoublePerByteNoDefaultUnopened() (gas: 43434) +LibParseOperandHandleOperand8M1M1Test:testHandleOperand8M1M1AllValues(uint256,uint256,uint256) (runs: 2048, μ: 11205, ~: 11288) +LibParseOperandHandleOperand8M1M1Test:testHandleOperand8M1M1AllValuesThirdValueTooLarge(uint256,uint256,uint256) (runs: 2048, μ: 11468, ~: 11285) +LibParseOperandHandleOperand8M1M1Test:testHandleOperand8M1M1FirstAndSecondValue(uint256,uint256) (runs: 2048, μ: 9538, ~: 9532) +LibParseOperandHandleOperand8M1M1Test:testHandleOperand8M1M1FirstAndSecondValueSecondValueTooLarge(uint256,uint256) (runs: 2048, μ: 9791, ~: 9525) +LibParseOperandHandleOperand8M1M1Test:testHandleOperand8M1M1FirstValueOnly(uint256) (runs: 2048, μ: 7933, ~: 7994) +LibParseOperandHandleOperand8M1M1Test:testHandleOperand8M1M1FirstValueTooLarge(uint256) (runs: 2048, μ: 8115, ~: 8321) +LibParseOperandHandleOperand8M1M1Test:testHandleOperand8M1M1ManyValues(uint256[]) (runs: 2048, μ: 14113, ~: 14123) +LibParseOperandHandleOperand8M1M1Test:testHandleOperand8M1M1NoValues() (gas: 3601) +LibParseOperandHandleOperandDisallowedTest:testHandleOperandDisallowedAnyValues(uint256[]) (runs: 2048, μ: 13901, ~: 13949) +LibParseOperandHandleOperandDisallowedTest:testHandleOperandDisallowedNoValues() (gas: 3219) +LibParseOperandHandleOperandDoublePerByteNoDefaultTest:testHandleOperandDoublePerByteNoDefaultBothValuesWithinOneByte(uint256,uint256) (runs: 2048, μ: 9294, ~: 9414) +LibParseOperandHandleOperandDoublePerByteNoDefaultTest:testHandleOperandDoublePerByteNoDefaultFirstValueTooLarge(uint256,uint256) (runs: 2048, μ: 9619, ~: 9329) +LibParseOperandHandleOperandDoublePerByteNoDefaultTest:testHandleOperandDoublePerByteNoDefaultManyValues(uint256[]) (runs: 2048, μ: 14008, ~: 13984) +LibParseOperandHandleOperandDoublePerByteNoDefaultTest:testHandleOperandDoublePerByteNoDefaultNoValues() (gas: 3599) +LibParseOperandHandleOperandDoublePerByteNoDefaultTest:testHandleOperandDoublePerByteNoDefaultOneValue(uint256) (runs: 2048, μ: 7573, ~: 7848) +LibParseOperandHandleOperandDoublePerByteNoDefaultTest:testHandleOperandDoublePerByteNoDefaultSecondValueTooLarge(uint256,uint256) (runs: 2048, μ: 9739, ~: 9713) +LibParseOperandHandleOperandM1M1Test:testHandleOperandM1M1ManyValues(uint256[]) (runs: 2048, μ: 14010, ~: 13986) +LibParseOperandHandleOperandM1M1Test:testHandleOperandM1M1NoValues() (gas: 3554) +LibParseOperandHandleOperandM1M1Test:testHandleOperandM1M1OneValue(uint256) (runs: 2048, μ: 7740, ~: 7704) +LibParseOperandHandleOperandM1M1Test:testHandleOperandM1M1OneValueTooLarge(uint256) (runs: 2048, μ: 8040, ~: 7712) +LibParseOperandHandleOperandM1M1Test:testHandleOperandM1M1TwoValues(uint256,uint256) (runs: 2048, μ: 9376, ~: 9402) +LibParseOperandHandleOperandM1M1Test:testHandleOperandM1M1TwoValuesSecondValueTooLarge(uint256,uint256) (runs: 2048, μ: 9712, ~: 9474) +LibParseOperandHandleOperandSingleFullTest:testHandleOperandSingleFullManyValues(uint256[]) (runs: 2048, μ: 13960, ~: 13983) +LibParseOperandHandleOperandSingleFullTest:testHandleOperandSingleFullNoDefaultManyValues(uint256[]) (runs: 2048, μ: 14004, ~: 14027) +LibParseOperandHandleOperandSingleFullTest:testHandleOperandSingleFullNoDefaultNoValues() (gas: 3595) +LibParseOperandHandleOperandSingleFullTest:testHandleOperandSingleFullNoDefaultSingleValue(uint256) (runs: 2048, μ: 7292, ~: 7569) +LibParseOperandHandleOperandSingleFullTest:testHandleOperandSingleFullNoValues() (gas: 3244) +LibParseOperandHandleOperandSingleFullTest:testHandleOperandSingleFullSingleValue(uint256) (runs: 2048, μ: 7506, ~: 7782) +LibParseOperandHandleOperandSingleFullTest:testHandleOperandSingleFullSingleValueDisallowed(uint256) (runs: 2048, μ: 8442, ~: 8555) +LibParseOperandHandleOperandSingleFullTest:testHandleOperandSingleFullSingleValueNoDefaultDisallowed(uint256) (runs: 2048, μ: 9553, ~: 9663) +LibParseOperandM1M1Test:testOperandM1M1Both() (gas: 57445) +LibParseOperandM1M1Test:testOperandM1M1BothZero() (gas: 56265) +LibParseOperandM1M1Test:testOperandM1M1Elided() (gas: 51246) +LibParseOperandM1M1Test:testOperandM1M1Empty() (gas: 51642) +LibParseOperandM1M1Test:testOperandM1M1First() (gas: 54314) +LibParseOperandM1M1Test:testOperandM1M1FirstOverflow() (gas: 46881) +LibParseOperandM1M1Test:testOperandM1M1Second() (gas: 57365) +LibParseOperandM1M1Test:testOperandM1M1SecondOverflow() (gas: 50011) +LibParseOperandM1M1Test:testOperandM1M1SecondZero() (gas: 57243) +LibParseOperandM1M1Test:testOperandM1M1Unclosed() (gas: 252075) +LibParseOperandM1M1Test:testOperandM1M1Unopened() (gas: 48781) +LibParseOperandParseOperandTest:testParseOperandEmptyOperand(string) (runs: 2048, μ: 42731, ~: 42735) +LibParseOperandParseOperandTest:testParseOperandFourDecimalLiterals(bool[4],uint256[4],string[5],string) (runs: 2048, μ: 351820, ~: 351379) +LibParseOperandParseOperandTest:testParseOperandNoOpeningCharacter(string) (runs: 2048, μ: 42679, ~: 42683) +LibParseOperandParseOperandTest:testParseOperandSingleDecimalLiteral(bool,uint256,string,string,string) (runs: 2048, μ: 153470, ~: 153712) +LibParseOperandParseOperandTest:testParseOperandThreeDecimalLiterals(bool,bool,bool,uint256,uint256,uint256,string,string,string,string,string) (runs: 2048, μ: 283326, ~: 284035) +LibParseOperandParseOperandTest:testParseOperandTooManyValues() (gas: 53781) +LibParseOperandParseOperandTest:testParseOperandTwoDecimalLiterals(bool,bool,uint256,uint256,string,string,string,string) (runs: 2048, μ: 219544, ~: 219276) +LibParseOperandParseOperandTest:testParseOperandUnclosed() (gas: 53286) +LibParseOperandParseOperandTest:testParseOperandUnexpectedChars() (gas: 50358) +LibParseOperandSingleFullTest:testOperandSingleFullElided() (gas: 50986) +LibParseOperandSingleFullTest:testOperandSingleFullEmpty() (gas: 51315) +LibParseOperandSingleFullTest:testOperandSingleFullHexOne() (gas: 53153) +LibParseOperandSingleFullTest:testOperandSingleFullHexUint16Max() (gas: 53769) +LibParseOperandSingleFullTest:testOperandSingleFullHexUint16MaxOverflow() (gas: 46827) +LibParseOperandSingleFullTest:testOperandSingleFullHexZero() (gas: 53154) +LibParseOperandSingleFullTest:testOperandSingleFullLeadingAndTrailingWhitespace() (gas: 53852) +LibParseOperandSingleFullTest:testOperandSingleFullLeadingWhitespace() (gas: 54464) +LibParseOperandSingleFullTest:testOperandSingleFullMultiple() (gas: 47603) +LibParseOperandSingleFullTest:testOperandSingleFullOne() (gas: 54115) +LibParseOperandSingleFullTest:testOperandSingleFullTrailingWhitespace() (gas: 54508) +LibParseOperandSingleFullTest:testOperandSingleFullUint16Max() (gas: 55225) +LibParseOperandSingleFullTest:testOperandSingleFullUint16MaxOverflow() (gas: 47929) +LibParseOperandSingleFullTest:testOperandSingleFullUnclosed() (gas: 46366) +LibParseOperandSingleFullTest:testOperandSingleFullUnopened() (gas: 44533) +LibParseOperandSingleFullTest:testOperandSingleFullZero() (gas: 54059) +LibParseParseWordTest:testLibParseParseWordEnd(uint256) (runs: 2048, μ: 9471, ~: 9471) +LibParseParseWordTest:testLibParseParseWordExamples() (gas: 26926) +LibParseParseWordTest:testLibParseParseWordReferenceImplementation(bytes,uint256) (runs: 2048, μ: 6474, ~: 6254) +LibParseParseWordTest:testLibParseParseWordTooLong(bytes) (runs: 2048, μ: 9694, ~: 9627) +LibParsePragmaKeywordTest:testPragmaKeywordNoWhitespace(uint256,string) (runs: 2048, μ: 8923, ~: 8888) +LibParsePragmaKeywordTest:testPragmaKeywordNoop((uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,uint256[],uint256,bytes,bytes),string) (runs: 2048, μ: 16581, ~: 16456) +LibParsePragmaKeywordTest:testPragmaKeywordParseSubParser(string,address,uint256,string) (runs: 2048, μ: 186117, ~: 180938) +LibParsePragmaKeywordTest:testPragmaKeywordParseSubParserCoupleOfAddresses(string,string,address,address,uint256,string) (runs: 2048, μ: 369124, ~: 367816) +LibParsePragmaKeywordTest:testPragmaKeywordParseSubParserSpecificStrings() (gas: 252034) +LibParsePragmaKeywordTest:testPragmaKeywordWhitespaceNoHex(uint256,string) (runs: 2048, μ: 20268, ~: 17493) +LibParseSingleLHSIgnoredGasTest:testParseGasSingleLHSIgnored00() (gas: 8317) +LibParseSingleLHSIgnoredGasTest:testParseGasSingleLHSIgnored01() (gas: 8379) +LibParseSingleLHSIgnoredGasTest:testParseGasSingleLHSIgnored02() (gas: 8465) +LibParseSingleLHSIgnoredGasTest:testParseGasSingleLHSIgnored03() (gas: 8548) +LibParseSingleLHSIgnoredGasTest:testParseGasSingleLHSIgnored04() (gas: 8653) +LibParseSingleLHSIgnoredGasTest:testParseGasSingleLHSIgnored05() (gas: 8694) +LibParseSingleLHSIgnoredGasTest:testParseGasSingleLHSIgnored06() (gas: 8822) +LibParseSingleLHSIgnoredGasTest:testParseGasSingleLHSIgnored07() (gas: 8863) +LibParseSingleLHSIgnoredGasTest:testParseGasSingleLHSIgnored08() (gas: 8944) +LibParseSingleLHSIgnoredGasTest:testParseGasSingleLHSIgnored09() (gas: 9052) +LibParseSingleLHSNamedGasTest:testParseGasSingleLHSNamed00() (gas: 9018) +LibParseSingleLHSNamedGasTest:testParseGasSingleLHSNamed01() (gas: 9119) +LibParseSingleLHSNamedGasTest:testParseGasSingleLHSNamed02() (gas: 9157) +LibParseSingleLHSNamedGasTest:testParseGasSingleLHSNamed03() (gas: 9259) +LibParseSingleLHSNamedGasTest:testParseGasSingleLHSNamed04() (gas: 9341) +LibParseSingleLHSNamedGasTest:testParseGasSingleLHSNamed05() (gas: 9424) +LibParseSingleLHSNamedGasTest:testParseGasSingleLHSNamed06() (gas: 9502) +LibParseSingleLHSNamedGasTest:testParseGasSingleLHSNamed07() (gas: 9606) +LibParseSingleLHSNamedGasTest:testParseGasSingleLHSNamed08() (gas: 9687) +LibParseSingleLHSNamedGasTest:testParseGasSingleLHSNamed09() (gas: 9767) +LibParseSingleLHSNamedGasTest:testParseGasSingleLHSNamed10() (gas: 9826) +LibParseSingleLHSNamedGasTest:testParseGasSingleLHSNamed11() (gas: 9886) +LibParseSingleLHSNamedGasTest:testParseGasSingleLHSNamed12() (gas: 10010) +LibParseSingleLHSNamedGasTest:testParseGasSingleLHSNamed13() (gas: 10071) +LibParseSingleLHSNamedGasTest:testParseGasSingleLHSNamed14() (gas: 10151) +LibParseSingleLHSNamedGasTest:testParseGasSingleLHSNamed15() (gas: 10209) +LibParseSingleLHSNamedGasTest:testParseGasSingleLHSNamed16() (gas: 10335) +LibParseSingleLHSNamedGasTest:testParseGasSingleLHSNamed17() (gas: 10394) +LibParseSingleLHSNamedGasTest:testParseGasSingleLHSNamed18() (gas: 10496) +LibParseSingleLHSNamedGasTest:testParseGasSingleLHSNamed19() (gas: 10535) +LibParseSingleLHSNamedGasTest:testParseGasSingleLHSNamed20() (gas: 10615) +LibParseSingleLHSNamedGasTest:testParseGasSingleLHSNamed21() (gas: 10718) +LibParseSingleLHSNamedGasTest:testParseGasSingleLHSNamed22() (gas: 10776) +LibParseSingleLHSNamedGasTest:testParseGasSingleLHSNamed23() (gas: 10860) +LibParseSingleLHSNamedGasTest:testParseGasSingleLHSNamed24() (gas: 10938) +LibParseSingleLHSNamedGasTest:testParseGasSingleLHSNamed25() (gas: 11064) +LibParseSingleLHSNamedGasTest:testParseGasSingleLHSNamed26() (gas: 11123) +LibParseSingleLHSNamedGasTest:testParseGasSingleLHSNamed27() (gas: 11183) +LibParseSingleLHSNamedGasTest:testParseGasSingleLHSNamed28() (gas: 11294) +LibParseSingleLHSNamedGasTest:testParseGasSingleLHSNamed29() (gas: 11342) +LibParseSingleLHSNamedGasTest:testParseGasSingleLHSNamed30() (gas: 11426) +LibParseSingleRHSNamedGasTest:testParseGasRHS00() (gas: 117215) +LibParseSingleRHSNamedGasTest:testParseGasRHS01() (gas: 117317) +LibParseSingleRHSNamedGasTest:testParseGasRHS02() (gas: 117376) +LibParseSingleRHSNamedGasTest:testParseGasRHS03() (gas: 117456) +LibParseSingleRHSNamedGasTest:testParseGasRHS04() (gas: 117539) +LibParseSingleRHSNamedGasTest:testParseGasRHS05() (gas: 117619) +LibParseSingleRHSNamedGasTest:testParseGasRHS06() (gas: 117679) +LibParseSingleRHSNamedGasTest:testParseGasRHS07() (gas: 117760) +LibParseSingleRHSNamedGasTest:testParseGasRHS08() (gas: 117861) +LibParseSingleRHSNamedGasTest:testParseGasRHS09() (gas: 117922) +LibParseSingleRHSNamedGasTest:testParseGasRHS10() (gas: 118045) +LibParseSingleRHSNamedGasTest:testParseGasRHS11() (gas: 118081) +LibParseSingleRHSNamedGasTest:testParseGasRHS12() (gas: 118195) +LibParseSingleRHSNamedGasTest:testParseGasRHS13() (gas: 118267) +LibParseSingleRHSNamedGasTest:testParseGasRHS14() (gas: 118325) +LibParseSingleRHSNamedGasTest:testParseGasRHS15() (gas: 118429) +LibParseSingleRHSNamedGasTest:testParseGasRHS16() (gas: 118489) +LibParseSingleRHSNamedGasTest:testParseGasRHS17() (gas: 118569) +LibParseSingleRHSNamedGasTest:testParseGasRHS18() (gas: 118694) +LibParseSingleRHSNamedGasTest:testParseGasRHS19() (gas: 118775) +LibParseSingleRHSNamedGasTest:testParseGasRHS20() (gas: 118834) +LibParseSingleRHSNamedGasTest:testParseGasRHS21() (gas: 118936) +LibParseSingleRHSNamedGasTest:testParseGasRHS22() (gas: 118974) +LibParseSingleRHSNamedGasTest:testParseGasRHS23() (gas: 119078) +LibParseSingleRHSNamedGasTest:testParseGasRHS24() (gas: 119157) +LibParseSingleRHSNamedGasTest:testParseGasRHS25() (gas: 119238) +LibParseSingleRHSNamedGasTest:testParseGasRHS26() (gas: 119300) +LibParseSingleRHSNamedGasTest:testParseGasRHS27() (gas: 119391) +LibParseSingleRHSNamedGasTest:testParseGasRHS28() (gas: 119495) +LibParseSingleRHSNamedGasTest:testParseGasRHS29() (gas: 119586) +LibParseSingleRHSNamedGasTest:testParseGasRHS30() (gas: 119648) +LibParseSourceInputsTest:testParseSourceInputsEmptyLinePrefix() (gas: 49254) +LibParseSourceInputsTest:testParseSourceInputsMultipleLines() (gas: 51991) +LibParseSourceInputsTest:testParseSourceInputsSingle() (gas: 49231) +LibParseStackNameTest:testPushAndRetrieveStackNameDouble((uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,uint256[],uint256,bytes,bytes),bytes32,bytes32) (runs: 2048, μ: 20724, ~: 20700) +LibParseStackNameTest:testPushAndRetrieveStackNameDoubleIdentical((uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,uint256[],uint256,bytes,bytes),bytes32) (runs: 2048, μ: 17960, ~: 18143) +LibParseStackNameTest:testPushAndRetrieveStackNameMany((uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,uint256[],uint256,bytes,bytes),uint256) (runs: 2048, μ: 318847, ~: 260840) +LibParseStackNameTest:testPushAndRetrieveStackNameSingle((uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,uint256[],uint256,bytes,bytes),bytes32) (runs: 2048, μ: 17838, ~: 18021) +LibParseStateConstantValueBloomTest:testConstantValueBloom(uint256) (runs: 2048, μ: 3363, ~: 3363) +LibParseStateConstantValueBloomTest:testConstantValueBloomAllBits() (gas: 45132) +LibParseStateConstantValueBloomTest:testConstantValueBloomSingleBit(uint256) (runs: 2048, μ: 3423, ~: 3423) +LibParseStateExportSubParsersTest:testExportSubParsers((uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,uint256[],uint256,bytes,bytes),address[]) (runs: 2048, μ: 152065, ~: 152276) +LibParseStateNewActiveSourcePointerTest:testAlignedOldPointer(uint256,uint256) (runs: 2048, μ: 13310, ~: 13428) +LibParseStateNewActiveSourcePointerTest:testPostUnalignedNewPointer(uint256) (runs: 2048, μ: 7131, ~: 7131) +LibParseStateNewActiveSourcePointerTest:testPreUnalignedNewPointer() (gas: 9152) +LibParseStateNewActiveSourcePointerTest:testZeroOldPointer(bytes) (runs: 2048, μ: 4787, ~: 4784) +LibParseStatePushConstantValueTest:testPushConstantValueEmpty(bytes,bytes,bytes,bytes) (runs: 2048, μ: 6365, ~: 6362) +LibParseStatePushConstantValueTest:testPushConstantValueMany(uint256[]) (runs: 2048, μ: 227338, ~: 228479) +LibParseStatePushConstantValueTest:testPushConstantValueSingle(uint256) (runs: 2048, μ: 6968, ~: 6968) +LibParseStatePushSubParserTest:testPushSubParserList((uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,uint256[],uint256,bytes,bytes),address[]) (runs: 2048, μ: 135665, ~: 136207) +LibParseStatePushSubParserTest:testPushSubParserMultiple((uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,uint256[],uint256,bytes,bytes),address,address,address) (runs: 2048, μ: 16856, ~: 16855) +LibParseStatePushSubParserTest:testPushSubParserOverflow((uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,uint256[],uint256,bytes,bytes),uint256) (runs: 2048, μ: 19413, ~: 19203) +LibParseStatePushSubParserTest:testPushSubParserZero((uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,uint256,bytes,bytes,uint256[],uint256,bytes,bytes),address) (runs: 2048, μ: 15715, ~: 15673) +LibParseUnclosedLeftParenTest:testParseUnclosedLeftParen() (gas: 44936) +LibParseUnclosedLeftParenTest:testParseUnclosedLeftParenNested() (gas: 64305) +LibParseUnclosedLeftParenTest:testParseUnclosedLeftParenNested2() (gas: 65819) +LibParseUnclosedLeftParenTest:testParseUnclosedLeftParenNested3() (gas: 75373) +LibParseUnexpectedLHSTest:testParseUnexpectedLHSBadIgnoredTail(uint8) (runs: 2048, μ: 42670, ~: 42671) +LibParseUnexpectedLHSTest:testParseUnexpectedLHSBadNamedTail(uint8,bytes) (runs: 2048, μ: 48704, ~: 48743) +LibParseUnexpectedLHSTest:testParseUnexpectedLHSEOF() (gas: 41739) +LibParseUnexpectedLHSTest:testParseUnexpectedLHSEOL() (gas: 41740) +LibParseUnexpectedLHSTest:testParseUnexpectedLHSSingleChar(uint8) (runs: 2048, μ: 42285, ~: 42285) +LibParseUnexpectedLHSTest:testParseUnexpectedLHSUnderscoreTail() (gas: 42735) +LibParseUnexpectedRHSTest:testParseUnexpectedRHS(uint8) (runs: 2048, μ: 42617, ~: 42617) +LibParseUnexpectedRHSTest:testParseUnexpectedRHSLeftParen() (gas: 42109) +LibParseUnexpectedRightParenTest:testParseUnexpectedRightParen() (gas: 41612) +LibParseUnexpectedRightParenTest:testParseUnexpectedRightParenNested() (gas: 47262) +LibSubParseSubParserExternTest:testLibSubParseSubParserExtern(address,uint8,uint8,uint8,uint16,uint8) (runs: 2048, μ: 13169, ~: 13112) +LibSubParseSubParserExternTest:testLibSubParseSubParserExternConstantsHeightOverflow(address,uint256,uint8,uint8,uint16,uint8) (runs: 2048, μ: 7949, ~: 7689) +RainterpreterExpressionDeployerNPE2DeployCheckTest:testRainterpreterExpressionDeployerDeployNoEIP1820() (gas: 9685569) +RainterpreterExpressionDeployerNPE2DescribedByMetaV1Test:testRainterpreterExpressionDeployerNPE2DescribedByMetaV1Happy() (gas: 9699668) +RainterpreterExpressionDeployerNPE2IERC165Test:testRainterpreterExpressionDeployerNPE2IERC165(bytes4) (runs: 2048, μ: 9693706, ~: 9693706) +RainterpreterExpressionDeployerNPE2MetaTest:testRainterpreterExpressionDeployerNPE2ExpectedConstructionMetaHash() (gas: 6178) +RainterpreterNPE2IERC165Test:testRainterpreterNPE2IERC165(bytes4) (runs: 2048, μ: 4164319, ~: 4164319) +RainterpreterNPE2PointersTest:testOpcodeFunctionPointers() (gas: 4172525) +RainterpreterNPE2Test:testRainterpreterNPE2OddFunctionPointersLength() (gas: 3695) +RainterpreterParserNPE2IERC165Test:testRainterpreterParserNPE2IERC165(bytes4) (runs: 2048, μ: 3793588, ~: 3793588) +RainterpreterParserNPE2ParserPragma:testParsePragmaNoPragma() (gas: 18941509) +RainterpreterParserNPE2ParserPragma:testParsePragmaSinglePragma() (gas: 11416232) +RainterpreterParserNPE2ParserPragma:testParsePragmaWithInterstitial() (gas: 11419509) +RainterpreterParserNPE2PointersTest:testLiteralParserFunctionPointers() (gas: 3791002) +RainterpreterParserNPE2PointersTest:testOperandHandlerFunctionPointers() (gas: 3800200) +RainterpreterParserNPE2PointersTest:testParserParseMeta() (gas: 5488449) +RainterpreterReferenceExternNPE2ContextRainlenTest:testRainterpreterReferenceExterNPE2ContextRainlenHappy() (gas: 1740911) +RainterpreterReferenceExternNPE2ContextSenderTest:testRainterpreterReferenceExterNPE2ContextContractHappy() (gas: 1740518) +RainterpreterReferenceExternNPE2ContextSenderTest:testRainterpreterReferenceExterNPE2ContextSenderHappy() (gas: 1739214) +RainterpreterReferenceExternNPE2DescribedByMetaV1:testRainterpreterReferenceExternNPE2DescribedByMetaV1Happy() (gas: 1662715) +RainterpreterReferenceExternNPE2IERC165Test:testRainterpreterReferenceExternNPE2IERC165(bytes4) (runs: 2048, μ: 1667797, ~: 1667797) +RainterpreterReferenceExternNPE2IntIncTest:testRainterpreterReferenceExternNPE2IntIncHappySugared() (gas: 1762131) +RainterpreterReferenceExternNPE2IntIncTest:testRainterpreterReferenceExternNPE2IntIncHappyUnsugared() (gas: 1755423) +RainterpreterReferenceExternNPE2IntIncTest:testRainterpreterReferenceExternNPE2IntIncIntegrity(uint256,uint256,uint256) (runs: 2048, μ: 3618, ~: 3618) +RainterpreterReferenceExternNPE2IntIncTest:testRainterpreterReferenceExternNPE2IntIncRun(uint256,uint256[]) (runs: 2048, μ: 167201, ~: 153965) +RainterpreterReferenceExternNPE2IntIncTest:testRainterpreterReferenceExternNPE2IntIncSubParseKnownWord(uint16,bytes1) (runs: 2048, μ: 1676560, ~: 1676836) +RainterpreterReferenceExternNPE2IntIncTest:testRainterpreterReferenceExternNPE2IntIncSubParseUnknownWord(uint16,bytes1,bytes) (runs: 2048, μ: 1672960, ~: 1672739) +RainterpreterReferenceExternNPE2PointersTest:testIntegrityFunctionPointers() (gas: 1662748) +RainterpreterReferenceExternNPE2PointersTest:testOpcodeFunctionPointers() (gas: 1662813) +RainterpreterReferenceExternNPE2PointersTest:testSubParserFunctionPointers() (gas: 1663258) +RainterpreterReferenceExternNPE2PointersTest:testSubParserLiteralParsers() (gas: 1662790) +RainterpreterReferenceExternNPE2PointersTest:testSubParserOperandParsers() (gas: 1663263) +RainterpreterReferenceExternNPE2PointersTest:testSubParserParseMeta() (gas: 21933) +RainterpreterReferenceExternNPE2RepeatTest:testRainterpreterReferenceExternNPE2RepeatHappy() (gas: 1791925) +RainterpreterReferenceExternNPE2StackOperandTest:testRainterpreterReferenceExternNPE2StackOperandSingle(uint256) (runs: 2048, μ: 1748189, ~: 1748586) +RainterpreterReferenceExternNPE2UnknownWordTest:testRainterpreterReferenceExternNPE2UnknownWord() (gas: 1710356) +RainterpreterStoreNPE2IERC165Test:testRainterpreterStoreNPE2IERC165(bytes4) (runs: 2048, μ: 229944, ~: 229944) +RainterpreterStoreNPE2Test:testRainterpreterStoreNPE2IERC165(uint32) (runs: 2048, μ: 229961, ~: 229961) +RainterpreterStoreNPE2Test:testRainterpreterStoreNPE2SetGetDupes((uint256,uint256[11])[]) (runs: 2048, μ: 1509710, ~: 1466264) +RainterpreterStoreNPE2Test:testRainterpreterStoreNPE2SetGetNoDupesMany((uint256,uint256[])[]) (runs: 2048, μ: 3518035, ~: 3349331) +RainterpreterStoreNPE2Test:testRainterpreterStoreNPE2SetGetNoDupesSingle(uint256,uint256[]) (runs: 2048, μ: 1936429, ~: 1943575) +RainterpreterStoreNPE2Test:testRainterpreterStoreNPE2SetOddLength(uint256,uint256[]) (runs: 2048, μ: 248679, ~: 248662) +TestLibParseLiteralDecimalUnsafeStrToInt:testUnsafeStrToIntOverflowVeryLarge(uint256,uint256,uint8) (runs: 2048, μ: 43057, ~: 37832) +TestLibParseLiteralDecimalUnsafeStrToInt:testUnsafeStrToIntRoundTrip(uint256,uint8) (runs: 2048, μ: 28863, ~: 23189) +TestLibParseLiteralDecimalUnsafeStrToSignedInt:testUnsafeStrToSignedIntOverflowNegative(uint256,uint8) (runs: 2048, μ: 46330, ~: 37118) +TestLibParseLiteralDecimalUnsafeStrToSignedInt:testUnsafeStrToSignedIntOverflowPositive(uint256,uint8) (runs: 2048, μ: 46357, ~: 37147) +TestLibParseLiteralDecimalUnsafeStrToSignedInt:testUnsafeStrToSignedIntRoundTrip(uint256,uint8,bool) (runs: 2048, μ: 36005, ~: 29676) \ No newline at end of file diff --git a/.github/workflows/git-clean.yaml b/.github/workflows/git-clean.yaml index bb78bd710..c38d32289 100644 --- a/.github/workflows/git-clean.yaml +++ b/.github/workflows/git-clean.yaml @@ -10,8 +10,23 @@ jobs: submodules: recursive fetch-depth: 0 - - uses: DeterminateSystems/nix-installer-action@main - - uses: DeterminateSystems/magic-nix-cache-action@main + - uses: nixbuild/nix-quick-install-action@v30 + with: + nix_conf: | + keep-env-derivations = true + keep-outputs = true + + - name: Restore and save Nix store + uses: nix-community/cache-nix-action@v6 + with: + # restore and save a cache using this key + primary-key: nix-${{ runner.os }}-${{ hashFiles('**/*.nix', '**/flake.lock') }} + # if there's no cache hit, restore a cache by this prefix + restore-prefixes-first-match: nix-${{ runner.os }}- + # collect garbage until the Nix store size (in bytes) is at most this number + # before trying to save a new cache + # 1G = 1073741824 + gc-max-store-size-linux: 1G # Build metas etc. required to do a correct pointer build. - run: nix develop -c i9r-prelude diff --git a/.github/workflows/manual-sol-artifacts.yaml b/.github/workflows/manual-sol-artifacts.yaml index f1833e4b1..aad279abf 100644 --- a/.github/workflows/manual-sol-artifacts.yaml +++ b/.github/workflows/manual-sol-artifacts.yaml @@ -3,7 +3,7 @@ on: workflow_dispatch: inputs: network: - description: 'Network to deploy to' + description: "Network to deploy to" required: true type: choice options: @@ -19,6 +19,7 @@ on: - polygon - sepolia - songbird + - linea jobs: deploy: @@ -38,8 +39,23 @@ jobs: submodules: recursive fetch-depth: 0 - - uses: DeterminateSystems/nix-installer-action@main - - uses: DeterminateSystems/magic-nix-cache-action@main + - uses: nixbuild/nix-quick-install-action@v30 + with: + nix_conf: | + keep-env-derivations = true + keep-outputs = true + + - name: Restore and save Nix store + uses: nix-community/cache-nix-action@v6 + with: + # restore and save a cache using this key + primary-key: nix-${{ runner.os }}-${{ hashFiles('**/*.nix', '**/flake.lock') }} + # if there's no cache hit, restore a cache by this prefix + restore-prefixes-first-match: nix-${{ runner.os }}- + # collect garbage until the Nix store size (in bytes) is at most this number + # before trying to save a new cache + # 1G = 1073741824 + gc-max-store-size-linux: 1G - run: nix develop --command rainix-sol-prelude - run: nix develop --command rainix-rs-prelude @@ -47,11 +63,11 @@ jobs: - name: deploy to ${{ inputs.network }} run: nix develop --command rainix-sol-artifacts env: - DEPLOY_BROADCAST: '1' - DEPLOYMENT_KEY: ${{ github.ref == 'refs/heads/main' && secrets.PRIVATE_KEY || secrets.PRIVATE_KEY_DEV }} + DEPLOY_BROADCAST: "1" + DEPLOYMENT_KEY: ${{ (github.ref == 'refs/heads/main' || github.ref == 'refs/heads/3.x') && secrets.PRIVATE_KEY || secrets.PRIVATE_KEY_DEV }} ETH_RPC_URL: ${{ secrets[env.rpc_secret_name] || vars[env.rpc_secret_name] || '' }} ETHERSCAN_API_KEY: ${{ secrets[env.etherscan_api_key_secret_name] || vars[env.etherscan_api_key_secret_name] || ''}} DEPLOY_VERIFY: ${{ secrets[env.verify_secret_name] || vars[env.verify_secret_name] || '' }} DEPLOY_VERIFIER: ${{ secrets[env.verifier_secret_name] || vars[env.verifier_secret_name] || '' }} DEPLOY_VERIFIER_URL: ${{ secrets[env.verifier_url_secret_name] || vars[env.verifier_url_secret_name] || '' }} - DEPLOY_METABOARD_ADDRESS: ${{ secrets[env.metaboard_address_secret_name] || vars[env.metaboard_address_secret_name] || '' }} \ No newline at end of file + DEPLOY_METABOARD_ADDRESS: ${{ secrets[env.metaboard_address_secret_name] || vars[env.metaboard_address_secret_name] || '' }} diff --git a/.github/workflows/rainix.yaml b/.github/workflows/rainix.yaml index 9124547c2..90b05430c 100644 --- a/.github/workflows/rainix.yaml +++ b/.github/workflows/rainix.yaml @@ -6,7 +6,7 @@ jobs: strategy: matrix: os: [ubuntu-latest, macos-latest] - task: [rainix-rs-test, rainix-rs-artifacts] + task: [rainix-rs-test, rainix-rs-artifacts, rainix-sol-legal] include: # Solidity doesn't need to be tested on multiple platforms - os: ubuntu-latest @@ -31,8 +31,23 @@ jobs: submodules: recursive fetch-depth: 0 - - uses: DeterminateSystems/nix-installer-action@main - - uses: DeterminateSystems/magic-nix-cache-action@main + - uses: nixbuild/nix-quick-install-action@v30 + with: + nix_conf: | + keep-env-derivations = true + keep-outputs = true + + - name: Restore and save Nix store + uses: nix-community/cache-nix-action@v6 + with: + # restore and save a cache using this key + primary-key: nix-${{ runner.os }}-${{ hashFiles('**/*.nix', '**/flake.lock') }} + # if there's no cache hit, restore a cache by this prefix + restore-prefixes-first-match: nix-${{ runner.os }}- + # collect garbage until the Nix store size (in bytes) is at most this number + # before trying to save a new cache + # 1G = 1073741824 + gc-max-store-size-linux: 1G - run: nix develop --command rainix-sol-prelude - run: nix develop --command rainix-rs-prelude diff --git a/.gitmodules b/.gitmodules index 009d12055..621c38ac4 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,30 +1,27 @@ -[submodule "lib/rain.metadata"] - path = lib/rain.metadata - url = https://github.com/rainprotocol/rain.metadata -[submodule "lib/rain.lib.memkv"] - path = lib/rain.lib.memkv - url = https://github.com/rainprotocol/rain.lib.memkv [submodule "lib/prb-math"] path = lib/prb-math url = https://github.com/PaulRBerg/prb-math -[submodule "lib/sol.lib.binmaskflag"] - path = lib/sol.lib.binmaskflag - url = https://github.com/rainprotocol/sol.lib.binmaskflag -[submodule "lib/rain.math.fixedpoint"] - path = lib/rain.math.fixedpoint - url = https://github.com/rainprotocol/rain.math.fixedpoint -[submodule "lib/rain.chainlink"] - path = lib/rain.chainlink - url = https://github.com/rainprotocol/rain.chainlink [submodule "lib/rain.intorastring"] path = lib/rain.intorastring url = https://github.com/rainlanguage/rain.intorastring -[submodule "lib/rain.interpreter.interface"] - path = lib/rain.interpreter.interface - url = https://github.com/rainlanguage/rain.interpreter.interface +[submodule "lib/rain.datacontract"] + path = lib/rain.datacontract + url = https://github.com/rainlanguage/rain.datacontract +[submodule "lib/rain.lib.memkv"] + path = lib/rain.lib.memkv + url = https://github.com/rainlanguage/rain.lib.memkv +[submodule "lib/rain.math.fixedpoint"] + path = lib/rain.math.fixedpoint + url = https://github.com/rainlanguage/rain.math.fixedpoint +[submodule "lib/rain.metadata"] + path = lib/rain.metadata + url = https://github.com/rainlanguage/rain.metadata [submodule "lib/rain.sol.codegen"] path = lib/rain.sol.codegen url = https://github.com/rainlanguage/rain.sol.codegen -[submodule "lib/rain.math.float"] - path = lib/rain.math.float - url = https://github.com/rainlanguage/rain.math.float +[submodule "lib/rain.sol.binmaskflag"] + path = lib/rain.sol.binmaskflag + url = https://github.com/rainlanguage/rain.sol.binmaskflag +[submodule "lib/rain.interpreter.interface"] + path = lib/rain.interpreter.interface + url = https://github.com/rainlanguage/rain.interpreter.interface diff --git a/Cargo.lock b/Cargo.lock index 1abb99423..622b3a4e4 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1,6 +1,6 @@ # This file is automatically @generated by Cargo. # It is not intended for manual editing. -version = 3 +version = 4 [[package]] name = "Inflector" @@ -73,12 +73,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0ba1c79677c9ce51c8d45e20845b05e6fb070ea2c863fba03ad6af2c778474bd" dependencies = [ "alloy-consensus", + "alloy-contract", "alloy-core", "alloy-eips", "alloy-genesis", + "alloy-network", + "alloy-node-bindings", "alloy-provider", "alloy-rpc-client", + "alloy-rpc-types", "alloy-serde", + "alloy-signer", + "alloy-signer-local", + "alloy-transport", "alloy-transport-http", ] @@ -100,7 +107,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "da374e868f54c7f4ad2ad56829827badca388efd645f8cf5fccc61c2b5343504" dependencies = [ "alloy-eips", - "alloy-primitives 0.7.7", + "alloy-primitives", "alloy-rlp", "alloy-serde", "c-kzg", @@ -113,13 +120,13 @@ version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7dc6957ff706f9e5f6fd42f52a93e4bce476b726c92d077b348de28c4a76730c" dependencies = [ - "alloy-dyn-abi 0.7.7", - "alloy-json-abi 0.7.7", + "alloy-dyn-abi", + "alloy-json-abi", "alloy-network", - "alloy-primitives 0.7.7", + "alloy-primitives", "alloy-provider", "alloy-rpc-types-eth", - "alloy-sol-types 0.7.7", + "alloy-sol-types", "alloy-transport", "futures", "futures-util", @@ -132,27 +139,10 @@ version = "0.7.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "529fc6310dc1126c8de51c376cbc59c79c7f662bd742be7dc67055d5421a81b4" dependencies = [ - "alloy-dyn-abi 0.7.7", - "alloy-json-abi 0.7.7", - "alloy-primitives 0.7.7", - "alloy-sol-types 0.7.7", -] - -[[package]] -name = "alloy-dyn-abi" -version = "0.6.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2919acdad13336bc5dc26b636cdd6892c2f27fb0d4a58320a00c2713cf6a4e9a" -dependencies = [ - "alloy-json-abi 0.6.4", - "alloy-primitives 0.6.4", - "alloy-sol-type-parser 0.6.4", - "alloy-sol-types 0.6.4", - "const-hex", - "itoa", - "serde", - "serde_json", - "winnow 0.6.18", + "alloy-dyn-abi", + "alloy-json-abi", + "alloy-primitives", + "alloy-sol-types", ] [[package]] @@ -161,10 +151,10 @@ version = "0.7.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "413902aa18a97569e60f679c23f46a18db1656d87ab4d4e49d0e1e52042f66df" dependencies = [ - "alloy-json-abi 0.7.7", - "alloy-primitives 0.7.7", - "alloy-sol-type-parser 0.7.7", - "alloy-sol-types 0.7.7", + "alloy-json-abi", + "alloy-primitives", + "alloy-sol-type-parser", + "alloy-sol-types", "arbitrary", "const-hex", "derive_arbitrary", @@ -182,7 +172,7 @@ version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f76ecab54890cdea1e4808fc0891c7e6cfcf71fe1a9fe26810c7280ef768f4ed" dependencies = [ - "alloy-primitives 0.7.7", + "alloy-primitives", "alloy-rlp", "alloy-serde", "c-kzg", @@ -194,7 +184,7 @@ dependencies = [ [[package]] name = "alloy-ethers-typecast" version = "0.2.0" -source = "git+https://github.com/rainlanguage/alloy-ethers-typecast?rev=0881930a22e84db49ba955c5b88e790e1266ac66#0881930a22e84db49ba955c5b88e790e1266ac66" +source = "git+https://github.com/rainlanguage/alloy-ethers-typecast?rev=adda117b1f43e1a4dfa012299e71f2b0e73f46f4#adda117b1f43e1a4dfa012299e71f2b0e73f46f4" dependencies = [ "alloy", "async-trait", @@ -217,31 +207,19 @@ version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bca15afde1b6d15e3fc1c97421262b1bbb37aee45752e3c8b6d6f13f776554ff" dependencies = [ - "alloy-primitives 0.7.7", + "alloy-primitives", "alloy-serde", "serde", ] -[[package]] -name = "alloy-json-abi" -version = "0.6.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24ed0f2a6c3a1c947b4508522a53a190dba8f94dcd4e3e1a5af945a498e78f2f" -dependencies = [ - "alloy-primitives 0.6.4", - "alloy-sol-type-parser 0.6.4", - "serde", - "serde_json", -] - [[package]] name = "alloy-json-abi" version = "0.7.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bc05b04ac331a9f07e3a4036ef7926e49a8bf84a99a1ccfc7e2ab55a5fcbb372" dependencies = [ - "alloy-primitives 0.7.7", - "alloy-sol-type-parser 0.7.7", + "alloy-primitives", + "alloy-sol-type-parser", "serde", "serde_json", ] @@ -252,7 +230,7 @@ version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6d6f34930b7e3e2744bcc79056c217f00cb2abb33bc5d4ff88da7623c5bb078b" dependencies = [ - "alloy-primitives 0.7.7", + "alloy-primitives", "serde", "serde_json", "thiserror", @@ -268,11 +246,11 @@ dependencies = [ "alloy-consensus", "alloy-eips", "alloy-json-rpc", - "alloy-primitives 0.7.7", + "alloy-primitives", "alloy-rpc-types-eth", "alloy-serde", "alloy-signer", - "alloy-sol-types 0.7.7", + "alloy-sol-types", "async-trait", "auto_impl", "futures-utils-wasm", @@ -280,26 +258,19 @@ dependencies = [ ] [[package]] -name = "alloy-primitives" -version = "0.6.4" +name = "alloy-node-bindings" +version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "600d34d8de81e23b6d909c094e23b3d357e01ca36b78a8c5424c501eedbe86f0" +checksum = "494b2fb0276a78ec13791446a417c2517eee5c8e8a8c520ae0681975b8056e5c" dependencies = [ - "alloy-rlp", - "bytes", - "cfg-if", - "const-hex", - "derive_more", - "getrandom", - "hex-literal", - "itoa", + "alloy-genesis", + "alloy-primitives", "k256", - "keccak-asm", - "proptest", - "rand", - "ruint", - "serde", - "tiny-keccak", + "serde_json", + "tempfile", + "thiserror", + "tracing", + "url", ] [[package]] @@ -340,9 +311,12 @@ dependencies = [ "alloy-eips", "alloy-json-rpc", "alloy-network", - "alloy-primitives 0.7.7", + "alloy-node-bindings", + "alloy-primitives", "alloy-rpc-client", + "alloy-rpc-types-anvil", "alloy-rpc-types-eth", + "alloy-signer-local", "alloy-transport", "alloy-transport-http", "async-stream", @@ -368,7 +342,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0a7341322d9bc0e49f6e9fd9f2eb8e30f73806f2dd12cbb3d6bab2694c921f87" dependencies = [ "alloy-json-rpc", - "alloy-primitives 0.7.7", + "alloy-primitives", "alloy-transport", "bimap", "futures", @@ -435,6 +409,17 @@ dependencies = [ "alloy-serde", ] +[[package]] +name = "alloy-rpc-types-anvil" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c7cf4356a9d00df76d6e90d002e2a7b5edc1c8476e90e6f17ab868d99db6435" +dependencies = [ + "alloy-primitives", + "alloy-serde", + "serde", +] + [[package]] name = "alloy-rpc-types-engine" version = "0.1.4" @@ -443,7 +428,7 @@ checksum = "6e765962e3b82fd6f276a0873b5bd897e5d75a25f78fa9a6a21bd350d8e98a4e" dependencies = [ "alloy-consensus", "alloy-eips", - "alloy-primitives 0.7.7", + "alloy-primitives", "alloy-rlp", "alloy-rpc-types-eth", "alloy-serde", @@ -461,10 +446,10 @@ checksum = "ab4123ee21f99ba4bd31bfa36ba89112a18a500f8b452f02b35708b1b951e2b9" dependencies = [ "alloy-consensus", "alloy-eips", - "alloy-primitives 0.7.7", + "alloy-primitives", "alloy-rlp", "alloy-serde", - "alloy-sol-types 0.7.7", + "alloy-sol-types", "itertools 0.13.0", "serde", "serde_json", @@ -477,7 +462,7 @@ version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "567933b1d95fd42cb70b75126e32afec2e5e2c3c16e7100a3f83dc1c80f4dc0e" dependencies = [ - "alloy-primitives 0.7.7", + "alloy-primitives", "alloy-rpc-types-eth", "alloy-serde", "serde", @@ -491,7 +476,7 @@ version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9416c52959e66ead795a11f4a86c248410e9e368a0765710e57055b8a1774dd6" dependencies = [ - "alloy-primitives 0.7.7", + "alloy-primitives", "serde", "serde_json", ] @@ -502,9 +487,9 @@ version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b33753c09fa1ad85e5b092b8dc2372f1e337a42e84b9b4cff9fede75ba4adb32" dependencies = [ - "alloy-dyn-abi 0.7.7", - "alloy-primitives 0.7.7", - "alloy-sol-types 0.7.7", + "alloy-dyn-abi", + "alloy-primitives", + "alloy-sol-types", "async-trait", "auto_impl", "elliptic-curve", @@ -519,11 +504,11 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "575e4c924b23132234c75bd1f8f3871c1bc12ba462f76af9b59249515a38253e" dependencies = [ "alloy-consensus", - "alloy-dyn-abi 0.7.7", + "alloy-dyn-abi", "alloy-network", - "alloy-primitives 0.7.7", + "alloy-primitives", "alloy-signer", - "alloy-sol-types 0.7.7", + "alloy-sol-types", "async-trait", "coins-ledger 0.11.1", "futures-util", @@ -540,7 +525,7 @@ checksum = "6dfc9c26fe6c6f1bad818c9a976de9044dd12e1f75f1f156a801ee3e8148c1b6" dependencies = [ "alloy-consensus", "alloy-network", - "alloy-primitives 0.7.7", + "alloy-primitives", "alloy-signer", "async-trait", "coins-bip32 0.11.1", @@ -560,7 +545,7 @@ checksum = "fd82e86e4a6604fd11f84b170638d16dcdac9db6c2b5f5b91a3941b7e7af7f94" dependencies = [ "alloy-consensus", "alloy-network", - "alloy-primitives 0.7.7", + "alloy-primitives", "alloy-signer", "async-trait", "semver 1.0.23", @@ -569,24 +554,6 @@ dependencies = [ "trezor-client", ] -[[package]] -name = "alloy-sol-macro" -version = "0.6.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e86ec0a47740b20bc5613b8712d0d321d031c4efc58e9645af96085d5cccfc27" -dependencies = [ - "const-hex", - "dunce", - "heck 0.4.1", - "indexmap", - "proc-macro-error", - "proc-macro2", - "quote", - "syn 2.0.74", - "syn-solidity 0.6.4", - "tiny-keccak", -] - [[package]] name = "alloy-sol-macro" version = "0.7.7" @@ -607,16 +574,16 @@ version = "0.7.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "867a5469d61480fea08c7333ffeca52d5b621f5ca2e44f271b117ec1fc9a0525" dependencies = [ - "alloy-json-abi 0.7.7", + "alloy-json-abi", "alloy-sol-macro-input", "const-hex", - "heck 0.5.0", + "heck", "indexmap", "proc-macro-error", "proc-macro2", "quote", "syn 2.0.74", - "syn-solidity 0.7.7", + "syn-solidity", "tiny-keccak", ] @@ -626,24 +593,15 @@ version = "0.7.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2e482dc33a32b6fadbc0f599adea520bd3aaa585c141a80b404d0a3e3fa72528" dependencies = [ - "alloy-json-abi 0.7.7", + "alloy-json-abi", "const-hex", "dunce", - "heck 0.5.0", + "heck", "proc-macro2", "quote", "serde_json", "syn 2.0.74", - "syn-solidity 0.7.7", -] - -[[package]] -name = "alloy-sol-type-parser" -version = "0.6.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0045cc89524e1451ccf33e8581355b6027ac7c6e494bb02959d4213ad0d8e91d" -dependencies = [ - "winnow 0.6.18", + "syn-solidity", ] [[package]] @@ -656,27 +614,15 @@ dependencies = [ "winnow 0.6.18", ] -[[package]] -name = "alloy-sol-types" -version = "0.6.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad09ec5853fa700d12d778ad224dcdec636af424d29fad84fb9a2f16a5b0ef09" -dependencies = [ - "alloy-primitives 0.6.4", - "alloy-sol-macro 0.6.4", - "const-hex", - "serde", -] - [[package]] name = "alloy-sol-types" version = "0.7.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a91ca40fa20793ae9c3841b83e74569d1cc9af29a2f5237314fd3452d51e38c7" dependencies = [ - "alloy-json-abi 0.7.7", - "alloy-primitives 0.7.7", - "alloy-sol-macro 0.7.7", + "alloy-json-abi", + "alloy-primitives", + "alloy-sol-macro", "const-hex", "serde", ] @@ -1590,7 +1536,7 @@ version = "4.5.13" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "501d359d5f3dcaf6ecdeee48833ae73ec6e42723a1e52419c79abf9507eec0a0" dependencies = [ - "heck 0.5.0", + "heck", "proc-macro2", "quote", "syn 2.0.74", @@ -2801,8 +2747,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6ecb3c05dbf9454cf58c6c440f84c5d2c8f4e94edb4b16f87cfad9e4d818065a" dependencies = [ "alloy-chains", - "alloy-json-abi 0.7.7", - "alloy-primitives 0.7.7", + "alloy-json-abi", + "alloy-primitives", "foundry-compilers", "reqwest 0.12.5", "semver 1.0.23", @@ -2817,15 +2763,15 @@ name = "foundry-cheatcodes" version = "0.2.0" source = "git+https://github.com/foundry-rs/foundry?rev=72e44fb87c38b2acfa2b0b136fc1bc833f71e674#72e44fb87c38b2acfa2b0b136fc1bc833f71e674" dependencies = [ - "alloy-dyn-abi 0.7.7", + "alloy-dyn-abi", "alloy-genesis", - "alloy-json-abi 0.7.7", - "alloy-primitives 0.7.7", + "alloy-json-abi", + "alloy-primitives", "alloy-provider", "alloy-rpc-types", "alloy-signer", "alloy-signer-local", - "alloy-sol-types 0.7.7", + "alloy-sol-types", "base64 0.22.1", "dialoguer", "eyre", @@ -2857,7 +2803,7 @@ name = "foundry-cheatcodes-spec" version = "0.2.0" source = "git+https://github.com/foundry-rs/foundry?rev=72e44fb87c38b2acfa2b0b136fc1bc833f71e674#72e44fb87c38b2acfa2b0b136fc1bc833f71e674" dependencies = [ - "alloy-sol-types 0.7.7", + "alloy-sol-types", "foundry-macros", "serde", ] @@ -2868,16 +2814,16 @@ version = "0.2.0" source = "git+https://github.com/foundry-rs/foundry?rev=72e44fb87c38b2acfa2b0b136fc1bc833f71e674#72e44fb87c38b2acfa2b0b136fc1bc833f71e674" dependencies = [ "alloy-contract", - "alloy-dyn-abi 0.7.7", - "alloy-json-abi 0.7.7", + "alloy-dyn-abi", + "alloy-json-abi", "alloy-json-rpc", - "alloy-primitives 0.7.7", + "alloy-primitives", "alloy-provider", "alloy-pubsub", "alloy-rpc-client", "alloy-rpc-types", "alloy-serde", - "alloy-sol-types 0.7.7", + "alloy-sol-types", "alloy-transport", "alloy-transport-http", "alloy-transport-ipc", @@ -2914,8 +2860,8 @@ version = "0.2.0" source = "git+https://github.com/foundry-rs/foundry?rev=72e44fb87c38b2acfa2b0b136fc1bc833f71e674#72e44fb87c38b2acfa2b0b136fc1bc833f71e674" dependencies = [ "alloy-consensus", - "alloy-dyn-abi 0.7.7", - "alloy-primitives 0.7.7", + "alloy-dyn-abi", + "alloy-primitives", "alloy-rpc-types", "alloy-serde", "chrono", @@ -2930,8 +2876,8 @@ version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7f506a672502997fbc778f1d30eb4a06a58654049ccc6cd0bdb93a785175f682" dependencies = [ - "alloy-json-abi 0.7.7", - "alloy-primitives 0.7.7", + "alloy-json-abi", + "alloy-primitives", "auto_impl", "derivative", "dirs", @@ -2975,8 +2921,8 @@ version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "49104d442d6f0266c07edbdd23baa9a1db0f01d04bfdc69b6ac060a57e6f3e27" dependencies = [ - "alloy-json-abi 0.7.7", - "alloy-primitives 0.7.7", + "alloy-json-abi", + "alloy-primitives", "foundry-compilers-core", "futures-util", "md-5", @@ -2998,8 +2944,8 @@ version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7f012d22d0690ad6b6bbcc8d70467325212ddea3457e8efda6affe17fb5ae938" dependencies = [ - "alloy-json-abi 0.7.7", - "alloy-primitives 0.7.7", + "alloy-json-abi", + "alloy-primitives", "foundry-compilers-artifacts-solc", "foundry-compilers-core", "path-slash", @@ -3012,7 +2958,7 @@ version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "23760fd6df67a9878ed0fe91e024bf1ff3b7358369cf54129539a8493177c6e7" dependencies = [ - "alloy-primitives 0.7.7", + "alloy-primitives", "cfg-if", "dunce", "memmap2", @@ -3035,7 +2981,7 @@ source = "git+https://github.com/foundry-rs/foundry?rev=72e44fb87c38b2acfa2b0b13 dependencies = [ "Inflector", "alloy-chains", - "alloy-primitives 0.7.7", + "alloy-primitives", "dirs-next", "dunce", "eyre", @@ -3067,10 +3013,10 @@ name = "foundry-evm" version = "0.2.0" source = "git+https://github.com/foundry-rs/foundry?rev=72e44fb87c38b2acfa2b0b136fc1bc833f71e674#72e44fb87c38b2acfa2b0b136fc1bc833f71e674" dependencies = [ - "alloy-dyn-abi 0.7.7", - "alloy-json-abi 0.7.7", - "alloy-primitives 0.7.7", - "alloy-sol-types 0.7.7", + "alloy-dyn-abi", + "alloy-json-abi", + "alloy-primitives", + "alloy-sol-types", "eyre", "foundry-cheatcodes", "foundry-common", @@ -3094,8 +3040,8 @@ name = "foundry-evm-abi" version = "0.2.0" source = "git+https://github.com/foundry-rs/foundry?rev=72e44fb87c38b2acfa2b0b136fc1bc833f71e674#72e44fb87c38b2acfa2b0b136fc1bc833f71e674" dependencies = [ - "alloy-primitives 0.7.7", - "alloy-sol-types 0.7.7", + "alloy-primitives", + "alloy-sol-types", "derive_more", "foundry-common-fmt", "foundry-macros", @@ -3109,14 +3055,14 @@ name = "foundry-evm-core" version = "0.2.0" source = "git+https://github.com/foundry-rs/foundry?rev=72e44fb87c38b2acfa2b0b136fc1bc833f71e674#72e44fb87c38b2acfa2b0b136fc1bc833f71e674" dependencies = [ - "alloy-dyn-abi 0.7.7", + "alloy-dyn-abi", "alloy-genesis", - "alloy-json-abi 0.7.7", - "alloy-primitives 0.7.7", + "alloy-json-abi", + "alloy-primitives", "alloy-provider", "alloy-rpc-types", "alloy-serde", - "alloy-sol-types 0.7.7", + "alloy-sol-types", "alloy-transport", "auto_impl", "eyre", @@ -3143,7 +3089,7 @@ name = "foundry-evm-coverage" version = "0.2.0" source = "git+https://github.com/foundry-rs/foundry?rev=72e44fb87c38b2acfa2b0b136fc1bc833f71e674#72e44fb87c38b2acfa2b0b136fc1bc833f71e674" dependencies = [ - "alloy-primitives 0.7.7", + "alloy-primitives", "eyre", "foundry-common", "foundry-compilers", @@ -3161,9 +3107,9 @@ version = "0.2.0" source = "git+https://github.com/foundry-rs/foundry?rev=72e44fb87c38b2acfa2b0b136fc1bc833f71e674#72e44fb87c38b2acfa2b0b136fc1bc833f71e674" dependencies = [ "ahash", - "alloy-dyn-abi 0.7.7", - "alloy-json-abi 0.7.7", - "alloy-primitives 0.7.7", + "alloy-dyn-abi", + "alloy-json-abi", + "alloy-primitives", "eyre", "foundry-common", "foundry-compilers", @@ -3187,10 +3133,10 @@ name = "foundry-evm-traces" version = "0.2.0" source = "git+https://github.com/foundry-rs/foundry?rev=72e44fb87c38b2acfa2b0b136fc1bc833f71e674#72e44fb87c38b2acfa2b0b136fc1bc833f71e674" dependencies = [ - "alloy-dyn-abi 0.7.7", - "alloy-json-abi 0.7.7", - "alloy-primitives 0.7.7", - "alloy-sol-types 0.7.7", + "alloy-dyn-abi", + "alloy-json-abi", + "alloy-primitives", + "alloy-sol-types", "eyre", "foundry-block-explorers", "foundry-common", @@ -3214,7 +3160,7 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ba3f9c9e02b19933218eb39c7234dcb0cc20e461258ced030f6fd6ac254a8637" dependencies = [ - "alloy-primitives 0.7.7", + "alloy-primitives", "alloy-provider", "alloy-rpc-types", "alloy-serde", @@ -3237,7 +3183,7 @@ name = "foundry-linking" version = "0.2.0" source = "git+https://github.com/foundry-rs/foundry?rev=72e44fb87c38b2acfa2b0b136fc1bc833f71e674#72e44fb87c38b2acfa2b0b136fc1bc833f71e674" dependencies = [ - "alloy-primitives 0.7.7", + "alloy-primitives", "foundry-compilers", "semver 1.0.23", "thiserror", @@ -3260,14 +3206,14 @@ version = "0.2.0" source = "git+https://github.com/foundry-rs/foundry?rev=72e44fb87c38b2acfa2b0b136fc1bc833f71e674#72e44fb87c38b2acfa2b0b136fc1bc833f71e674" dependencies = [ "alloy-consensus", - "alloy-dyn-abi 0.7.7", + "alloy-dyn-abi", "alloy-network", - "alloy-primitives 0.7.7", + "alloy-primitives", "alloy-signer", "alloy-signer-ledger", "alloy-signer-local", "alloy-signer-trezor", - "alloy-sol-types 0.7.7", + "alloy-sol-types", "async-trait", "aws-sdk-kms", "clap", @@ -3541,12 +3487,6 @@ dependencies = [ "fxhash", ] -[[package]] -name = "heck" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" - [[package]] name = "heck" version = "0.5.0" @@ -5083,12 +5023,12 @@ checksum = "dc33ff2d4973d518d823d61aa239014831e521c75da58e3df4840d3f47749d09" [[package]] name = "rain-error-decoding" version = "0.1.0" -source = "git+https://github.com/rainlanguage/rain.error?rev=72d9577fdaf7135113847027ba951f9a43b41827#72d9577fdaf7135113847027ba951f9a43b41827" +source = "git+https://github.com/rainlanguage/rain.error?rev=fa0cc05a8dbf0f167a2392255a8b509309e9da46#fa0cc05a8dbf0f167a2392255a8b509309e9da46" dependencies = [ - "alloy-dyn-abi 0.6.4", - "alloy-json-abi 0.6.4", - "alloy-primitives 0.6.4", - "alloy-sol-types 0.6.4", + "alloy-dyn-abi", + "alloy-json-abi", + "alloy-primitives", + "alloy-sol-types", "ethers", "getrandom", "once_cell", @@ -5100,14 +5040,14 @@ dependencies = [ [[package]] name = "rain-i9r-cli" -version = "0.0.1" +version = "0.0.0-alpha.0" dependencies = [ "alloy", "anyhow", "clap", - "rain-interpreter-env", "rain-interpreter-eval", "rain_interpreter_bindings", + "rain_interpreter_test_fixtures", "serde", "serde_bytes", "tokio", @@ -5115,25 +5055,17 @@ dependencies = [ "tracing-subscriber", ] -[[package]] -name = "rain-interpreter-env" -version = "0.0.0" -dependencies = [ - "alloy", - "once_cell", -] - [[package]] name = "rain-interpreter-eval" -version = "0.1.0" +version = "0.0.0-alpha.0" dependencies = [ "alloy", "eyre", "foundry-evm", "once_cell", "rain-error-decoding", - "rain-interpreter-env", "rain_interpreter_bindings", + "rain_interpreter_test_fixtures", "reqwest 0.11.27", "revm", "serde", @@ -5141,18 +5073,19 @@ dependencies = [ "thiserror", "tokio", "tracing", + "wasm-bindgen-utils", ] [[package]] name = "rain_interpreter_bindings" -version = "0.1.0" +version = "0.0.0-alpha.0" dependencies = [ "alloy", ] [[package]] name = "rain_interpreter_dispair" -version = "0.1.0" +version = "0.0.0-alpha.0" dependencies = [ "alloy", "alloy-ethers-typecast", @@ -5168,7 +5101,7 @@ dependencies = [ [[package]] name = "rain_interpreter_parser" -version = "0.1.0" +version = "0.0.0-alpha.0" dependencies = [ "alloy", "alloy-ethers-typecast", @@ -5181,6 +5114,15 @@ dependencies = [ "tokio", ] +[[package]] +name = "rain_interpreter_test_fixtures" +version = "0.0.0-alpha.0" +dependencies = [ + "alloy", + "getrandom", + "serde_json", +] + [[package]] name = "rand" version = "0.8.5" @@ -5428,9 +5370,9 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3aede4aaaa0c5b446ce1a951629d7929ea48473a0f307bd8d999ecdeb55c420b" dependencies = [ - "alloy-primitives 0.7.7", + "alloy-primitives", "alloy-rpc-types", - "alloy-sol-types 0.7.7", + "alloy-sol-types", "anstyle", "colorchoice", "revm", @@ -5474,7 +5416,7 @@ version = "5.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "902184a7a781550858d4b96707098da357429f1e4545806fd5b589f455555cf2" dependencies = [ - "alloy-primitives 0.7.7", + "alloy-primitives", "auto_impl", "bitflags 2.6.0", "bitvec", @@ -5975,6 +5917,28 @@ dependencies = [ "serde_derive", ] +[[package]] +name = "serde-wasm-bindgen" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f3b143e2833c57ab9ad3ea280d21fd34e285a42837aeb0ee301f4f41890fa00e" +dependencies = [ + "js-sys", + "serde", + "wasm-bindgen", +] + +[[package]] +name = "serde-wasm-bindgen" +version = "0.6.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8302e169f0eddcc139c70f139d19d6467353af16f9fce27e8c30158036a1e16b" +dependencies = [ + "js-sys", + "serde", + "wasm-bindgen", +] + [[package]] name = "serde_bytes" version = "0.11.15" @@ -5995,6 +5959,17 @@ dependencies = [ "syn 2.0.74", ] +[[package]] +name = "serde_derive_internals" +version = "0.28.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e578a843d40b4189a4d66bba51d7684f57da5bd7c304c64e14bd63efbef49509" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.74", +] + [[package]] name = "serde_json" version = "1.0.125" @@ -6252,7 +6227,7 @@ version = "0.26.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4c6bee85a5a24955dc440386795aa378cd9cf82acd5f764469152d2270e581be" dependencies = [ - "heck 0.5.0", + "heck", "proc-macro2", "quote", "rustversion", @@ -6353,18 +6328,6 @@ dependencies = [ "unicode-ident", ] -[[package]] -name = "syn-solidity" -version = "0.6.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cb3d0961cd53c23ea94eeec56ba940f636f6394788976e9f16ca5ee0aca7464a" -dependencies = [ - "paste", - "proc-macro2", - "quote", - "syn 2.0.74", -] - [[package]] name = "syn-solidity" version = "0.7.7" @@ -6826,6 +6789,30 @@ version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" +[[package]] +name = "tsify" +version = "0.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d6b26cf145f2f3b9ff84e182c448eaf05468e247f148cf3d2a7d67d78ff023a0" +dependencies = [ + "serde", + "serde-wasm-bindgen 0.5.0", + "tsify-macros", + "wasm-bindgen", +] + +[[package]] +name = "tsify-macros" +version = "0.4.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a94b0f0954b3e59bfc2c246b4c8574390d94a4ad4ad246aaf2fb07d7dfd3b47" +dependencies = [ + "proc-macro2", + "quote", + "serde_derive_internals", + "syn 2.0.74", +] + [[package]] name = "tungstenite" version = "0.20.1" @@ -7059,24 +7046,24 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.93" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a82edfc16a6c469f5f44dc7b571814045d60404b55a0ee849f9bcfa2e63dd9b5" +checksum = "1edc8929d7499fc4e8f0be2262a241556cfc54a0bea223790e71446f2aab1ef5" dependencies = [ "cfg-if", "once_cell", + "rustversion", "wasm-bindgen-macro", ] [[package]] name = "wasm-bindgen-backend" -version = "0.2.93" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9de396da306523044d3302746f1208fa71d7532227f15e347e2d93e4145dd77b" +checksum = "2f0a0651a5c2bc21487bde11ee802ccaf4c51935d0d3d42a6101f98161700bc6" dependencies = [ "bumpalo", "log", - "once_cell", "proc-macro2", "quote", "syn 2.0.74", @@ -7097,9 +7084,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro" -version = "0.2.93" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "585c4c91a46b072c92e908d99cb1dcdf95c5218eeb6f3bf1efa991ee7a68cccf" +checksum = "7fe63fc6d09ed3792bd0897b314f53de8e16568c2b3f7982f468c0bf9bd0b407" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -7107,9 +7094,9 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.93" +version = "0.2.100" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "afc340c74d9005395cf9dd098506f7f44e38f2b4a21c6aaacf9a105ea5e1e836" +checksum = "8ae87ea40c9f689fc23f209965b6fb8a99ad69aeeb0231408be24920604395de" dependencies = [ "proc-macro2", "quote", @@ -7120,9 +7107,27 @@ dependencies = [ [[package]] name = "wasm-bindgen-shared" -version = "0.2.93" +version = "0.2.100" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1a05d73b933a847d6cccdda8f838a22ff101ad9bf93e33684f39c1f5f0eece3d" +dependencies = [ + "unicode-ident", +] + +[[package]] +name = "wasm-bindgen-utils" +version = "0.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c62a0a307cb4a311d3a07867860911ca130c3494e8c2719593806c08bc5d0484" +checksum = "04293ba23e84c21b0d42179abedf35e6eb082bd6f06bce7a42a8dd8e0b2b589f" +dependencies = [ + "js-sys", + "paste", + "serde", + "serde-wasm-bindgen 0.6.5", + "tsify", + "wasm-bindgen", + "wasm-bindgen-futures", +] [[package]] name = "web-sys" diff --git a/Cargo.toml b/Cargo.toml index 0e670d008..aa5cc1f56 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -3,9 +3,11 @@ members = ["crates/*"] resolver = "2" [workspace.package] +version = "0.0.0-alpha.0" edition = "2021" -license = "CAL-1.0" -homepage = "https://github.com/rainprotocol/rain.interpreter" +license = "LicenseRef-DCL-1.0" +author = "Rain Open Source Software Ltd" +homepage = "https://github.com/rainlanguage/rain.interpreter" [workspace.dependencies] alloy = { version = "0.1.4", features = ["sol-types", "json", "json-abi"] } @@ -32,10 +34,9 @@ tracing = "0.1.37" tracing-subscriber = "0.3.17" reqwest = { version = "0.11.17", features = ["json"] } once_cell = "1.17.1" -alloy-ethers-typecast = { git = "https://github.com/rainlanguage/alloy-ethers-typecast", rev = "0881930a22e84db49ba955c5b88e790e1266ac66" } -rain-interpreter-env = { path = "crates/env" } +alloy-ethers-typecast = { git = "https://github.com/rainlanguage/alloy-ethers-typecast", rev = "adda117b1f43e1a4dfa012299e71f2b0e73f46f4" } eyre = "0.6" -rain-error-decoding = { git = "https://github.com/rainlanguage/rain.error", rev = "72d9577fdaf7135113847027ba951f9a43b41827" } +rain-error-decoding = { git = "https://github.com/rainlanguage/rain.error", rev = "fa0cc05a8dbf0f167a2392255a8b509309e9da46" } [workspace.dependencies.rain_interpreter_parser] path = "crates/parser" @@ -48,3 +49,6 @@ path = "crates/bindings" [workspace.dependencies.rain-interpreter-eval] path = "crates/eval" + +[workspace.dependencies.rain_interpreter_test_fixtures] +path = "crates/test_fixtures" diff --git a/LICENSES/LicenseRef-DCL-1.0.txt b/LICENSES/LicenseRef-DCL-1.0.txt new file mode 100644 index 000000000..dc4e17161 --- /dev/null +++ b/LICENSES/LicenseRef-DCL-1.0.txt @@ -0,0 +1,189 @@ +# DecentraLicense + +*This DecentraLicense (the “License”) applies to any Work whose owner has marked it with any of the following notices:* + +*“Licensed under the DecentraLicense version 1.0,” or* + +*“Licensed under the DecentraLicense version 1.0, with Combined Work Exception”* + +------ + +## 1. Purpose + +This License gives You unlimited permission to use and modify the software to which it applies (the “Work”), either as-is or in modified form, for Your private purposes, while protecting the owners and contributors to the software from liability. + +This License also strives to protect the freedom and autonomy of third parties who receive the Work from you. If any non-affiliated third party receives any part, aspect, or element of the Work from You, this License requires that You provide that third party all the permissions and materials needed to independently use and modify the Work without that third party having a loss of data or capability due to your actions. + +The full permissions, conditions, and other terms are laid out below. + +## 2. Receiving a License + +In order to receive this License, You must agree to its rules. The rules of this License are both obligations of Your agreement with the Licensor and conditions to your License. You must not do anything with the Work that triggers a rule You cannot or will not follow. + +### 2.1. Application + +The terms of this License apply to the Work as you receive it from Licensor, as well as to any modifications, elaborations, or implementations created by You that contain any licenseable portion of the Work (a “Modified Work”). Unless specified, any reference to the Work also applies to a Modified Work. + +### 2.2. Offer and Acceptance + +This License is automatically offered to every person and organization. You show that you accept this License and agree to its conditions by taking any action with the Work that, absent this License, would infringe any intellectual property right held by Licensor. + +### 2.3. Compliance and Remedies + +Any failure to act according to the terms and conditions of this License places Your use of the Work outside the scope of the License and infringes the rights of the Licensor. In the event of breach, the terms and conditions of this License may be enforced by Licensor under the laws of any jurisdiction to which You are subject. You also agree that either the Licensor or a Recipient (as an intended third-party beneficiary) may enforce the terms and conditions of this License against You via specific performance. + +To the fullest extent available under the law of any jurisdiction to which You are subject, You also agree that a Recipient (as an intended third-party beneficiary) receives a benefit in the form of the ability to maintain exclusive control of private keys under the terms and conditions of this License. + +## 3. Permissions and Conditions + +### 3.1. Permissions Granted + +Conditioned on compliance with section 4, and subject to the limitations of section 3.2, Licensor grants You the world-wide, royalty-free, non-exclusive permission to: + +> a) Take any action with the Work that would infringe the non-patent intellectual property laws of any jurisdiction to which You are subject; and +> +> b) Take any action with the Work that would infringe any patent claims that Licensor can license or becomes able to license, to the extent that those claims are embodied in the Work as distributed by Licensor. + +### 3.2. Limitations on Permissions Granted + +The following limitations apply to the permissions granted in section 3.1: + +> a) Licensor does not grant any patent license for claims that are only infringed due to modification of the Work as provided by Licensor, or the combination of the Work as provided by Licensor, directly or indirectly, with any other component, including other software or hardware. +> +> b) Licensor does not grant any license to the trademarks, service marks, or logos of Licensor, except to the extent necessary to comply with the attribution conditions in section 4.1 of this License. + +## 4. Conditions + +If You exercise any permission granted by this License, such that the Work, or any part, aspect, or element of the Work, is distributed, communicated, made available, or made perceptible to a non-Affiliate third party (a “Recipient”), either via physical delivery or via a network connection to the Recipient, You must comply with the following conditions: + +### 4.1. Provide Access to Source Code + +Subject to the exception in section 4.4, You must provide to each Recipient a copy of, or no-charge unrestricted network access to, the Source Code corresponding to the Work. + +The “Source Code” of the Work means the form of the Work preferred for making modifications, including any comments, configuration information, documentation, help materials, installation instructions, cryptographic seeds or keys, and any information reasonably necessary for the Recipient to independently compile and use the Source Code and to have full access to the functionality contained in the Work. + +#### 4.1.1. Providing Network Access to the Source Code + +Network access to the Notices and Source Code may be provided by You or by a third party, such as a public software repository, and must persist during the same period in which You exercise any of the permissions granted to You under this License and for at least one year thereafter. + +#### 4.1.2. Source Code for a Modified Work + +Subject to the exception in section 4.5, You must provide to each Recipient of a Modified Work Access to Source Code corresponding to those portions of the Work remaining in the Modified Work as well as the modifications used by You to create the Modified Work. The Source Code corresponding to the modifications in the Modified Work must be provided to the Recipient either a) under this License, or b) under a Compatible Open Source License. + +A “Compatible Open Source License” means a license accepted by the Open Source Initiative that allows object code created using both Source Code provided under this License and Source Code provided under the other open source license to be distributed together as a single work. + +#### 4.1.3. Coordinated Disclosure of Security Vulnerabilities + +You may delay providing the Source Code corresponding to a particular modification of the Work for up to ninety (90) days (the “Embargo Period”) if: a) the modification is intended to address a newly-identified vulnerability or a security flaw in the Work, b) disclosure of the vulnerability or security flaw before the end of the Embargo Period would put the data, identity, or autonomy of one or more Recipients of the Work at significant risk, c) You are participating in a coordinated disclosure of the vulnerability or security flaw with one or more additional Licensees, and d) Access to the Source Code pertaining to the modification is provided to all Recipients at the end of the Embargo Period. + +### 4.2. Maintain User Autonomy + +In addition to providing each Recipient the opportunity to have Access to the Source Code, You cannot use the permissions given under this License to interfere with a Recipient’s ability to fully use an independent copy of the Work generated from the Source Code You provide with the Recipient’s own User Data. + +“User Data” means any data that is an input to or an output from the Work, where the presence of the data is necessary for substantially identical use of the Work in an equivalent context chosen by the Recipient, and where the Recipient has an existing ownership interest, an existing right to possess, or where the data has been generated by, for, or has been assigned to the Recipient. + +#### 4.2.1. No Withholding User Data + +Throughout any period in which You exercise any of the permissions granted to You under this License, You must also provide to any Recipient to whom you provide services via the Work, a no-charge copy, provided in a commonly used electronic form, of the Recipient’s User Data in your possession, to the extent that such User Data is available to You for use in conjunction with the Work. + +#### 4.2.2. No Technical Measures that Limit Access + +You may not, by the use of cryptographic methods applied to anything provided to the Recipient, by possession or control of cryptographic keys, seeds, or hashes, by other technological protection measures, or by any other method, limit a Recipient's ability to access any functionality present in the Recipient's independent copy of the Work, or deny a Recipient full control of the Recipient's User Data. + +#### 4.2.3. No Legal or Contractual Measures that Limit Access + +You may not contractually restrict a Recipient's ability to independently exercise the permissions granted under this License. You waive any legal power to forbid circumvention of technical protection measures that include use of the Work, and You waive any claim that the capabilities of the Work were limited or modified as a means of enforcing the legal rights of third parties against Recipients. + +### 4.3. Decentralized Code and Decentralized Systems + +You must only run Decentralized Code if: + +> a) it is run by a Decentralized System; and +> +> b) all the data referenced by Decentralized Code is stored on a Decentralized System. + +“Decentralized Code” is a Source Code file marked by the Licensor as “Decentralized Code”. + +“Decentralized System” is a system operating solely in accordance with publicly available Rules where any person or organisation: + +> a) only participates in the system by freely opting in; +> +> b) can interpret system data by reference to the Rules; and +> +> c) can obtain a copy of the system data, provided in a commonly used electronic form, accessible in accordance with the Rules. + +“Rule” is any unambiguous and human comprehensible: + +> a) rule that results in a deterministic outcome when implemented, in a commonly used electronic form; or +> +> b) configuration information, documentation, help materials, and any information reasonably necessary for a Recipient skilled in the art to independently comprehend the rule. + +### 4.4. Maintain Private Key Exclusive Control + +You cannot use the permissions given under this License to provide a Recipient with functionality using the Work that: + +> a) would cause the loss of exclusive control of a private key by a private key holder with exclusive control of a private key; or +> +> b) deals with private keys except by using a Decentralized System. + +### 4.5. Provide Notices and Attribution + +You must retain all licensing, authorship, or attribution notices contained in the Source Code (the “Notices”), and provide all such Notices to each Recipient, together with a statement acknowledging the use of the Work. Notices may be provided directly to a Recipient or via an easy-to-find hyperlink to an Internet location also providing Access to Source Code. + +### 4.6. Scope of Conditions in this License + +You are required to uphold the conditions of this License only relative to those who are Recipients of the Work from You. Other than providing Recipients with the applicable Notices, Access to Source Code, and a copy of and full control of their User Data, nothing in this License requires You to provide processing services to or engage in network interactions with anyone. + +### 4.7. Combined Work Exception + +As an exception to condition that You provide Recipients Access to Source Code, any Source Code files not marked by the Licensor as “Decentralized Code” and as having the “Combined Work Exception,” or any object code exclusively resulting from Source Code files so marked, may be combined with other Software into a “Larger Work.” So long as you: a) comply with the requirements to provide Recipients the applicable Notices and Access to the Source Code provided to You by Licensor, b) you provide Recipients access to their User Data and do not limit Recipient’s ability to independently work with their User Data, c) you comply with the requirements in relation to Decentralized Code and Decentralized Systems, and d) Recipients are able to maintain exclusive control of private cryptographic keys, any other Software in the Larger Work as well as the Larger Work as a whole may be licensed under the terms of your choice. + +## 5. Term and Termination + +The term of this License begins when You receive the Work, and continues until terminated for any of the reasons described herein, or until all Licensor’s intellectual property rights in the Software expire, whichever comes first (“Term”). This License cannot be revoked, only terminated for the reasons listed below. + +### 5.1. Effect of Termination + +If this License is terminated for any reason, all permissions granted to You under Section 3 by any Licensor automatically terminate. You will immediately cease exercising any permissions granted in this License relative to the Work, including as part of any Modified Work. + +### 5.2. Termination for Non-Compliance; Reinstatement + +This License terminates automatically if You fail to comply with any of the conditions in section 4. As a special exception to termination for non-compliance, Your permissions for the Work under this License will automatically be reinstated if You come into compliance with all the conditions in section 2 within sixty (60) days of being notified by Licensor or an intended third party beneficiary of Your noncompliance. You are eligible for reinstatement of permissions for the Work one time only, and only for the sixty days immediately after becoming aware of noncompliance. Loss of permissions granted for the Work under this License due to either a) sustained noncompliance lasting more than sixty days or b) subsequent termination for noncompliance after reinstatement, is permanent, unless rights are specifically restored by Licensor in writing. + +### 5.3 Termination Due to Litigation + +If You initiate litigation against Licensor, or any Recipient of the Work, either direct or indirect, asserting that the Work directly or indirectly infringes any patent, then all permissions granted to You by this License shall terminate. In the event of termination due to litigation, all permissions validly granted by You under this License, directly or indirectly, shall survive termination. Administrative review procedures, declaratory judgment actions, counterclaims in response to patent litigation, and enforcement actions against former Licensees terminated under this section do not cause termination due to litigation. + +## 6. Disclaimer of Warranty and Limit on Liability + +As far as the law allows, the Work comes AS-IS, without any warranty of any kind, and no Licensor or contributor will be liable to anyone for any damages related to this software or this license, under any kind of legal claim, or for any type of damages, including indirect, special, incidental, or consequential damages of any type arising as a result of this License or the use of the Work including, without limitation, damages for loss of goodwill, work stoppage, computer failure or malfunction, loss of profits, revenue, or any and all other commercial damages or losses. + +## 7. Other Provisions + +### 7.1. Affiliates + +An “Affiliate” means any other entity that, directly or indirectly through one or more intermediaries, controls, is controlled by, or is under common control with, the Licensee. Employees of a Licensee and natural persons acting as contractors exclusively providing services to Licensee are also Affiliates. + +### 7.2. Choice of Jurisdiction and Governing Law + +A Licensor may require that any action or suit by a Licensee relating to a Work provided by Licensor under this License may be brought only in the courts of a particular jurisdiction and under the laws of a particular jurisdiction (excluding its conflict-of-law provisions), if Licensor provides conspicuous notice of the particular jurisdiction to all Licensees. + +### 7.3. No Sublicensing + +This License is not sublicensable. Each time You provide the Work or a Modified Work to a Recipient, the Recipient automatically receives a license under the terms described in this License. You may not impose any further reservations, conditions, or other provisions on any Recipients’ exercise of the permissions granted herein. + +### 7.4. Attorneys' Fees + +In any action to enforce the terms of this License, or seeking damages relating thereto, including by an intended third party beneficiary, the prevailing party shall be entitled to recover its costs and expenses, including, without limitation, reasonable attorneys' fees and costs incurred in connection with such action, including any appeal of such action. A “prevailing party” is the party that achieves, or avoids, compliance with this License, including through settlement. This section shall survive the termination of this License. + +### 7.5. No Waiver + +Any failure by Licensor to enforce any provision of this License will not constitute a present or future waiver of such provision nor limit Licensor’s ability to enforce such provision at a later time. + +### 7.6. Severability + +If any provision of this License is held to be unenforceable, such provision shall be reformed only to the extent necessary to make it enforceable. Any invalid or unenforceable portion will be interpreted to the effect and intent of the original portion. If such a construction is not possible, the invalid or unenforceable portion will be severed from this License but the rest of this License will remain in full force and effect. + +### 7.7. License for the Text of this License + +The text of this license is released under the Creative Commons Attribution-ShareAlike 4.0 International License, with the caveat that any modifications of this license may not use the name “DecentraLicense” or any name confusingly similar thereto to describe any derived work of this License. diff --git a/README.md b/README.md index 9adaa2219..63e22c957 100644 --- a/README.md +++ b/README.md @@ -87,4 +87,48 @@ There are some branches that were forked from `main` for historical reasons, tha MAY be of interest situationally, but otherwise should be ignored. - `main-np`: Forked from the last commit using `eval` before `eval2` was the - primary interface into the interpreter. No longer actively developed. \ No newline at end of file + primary interface into the interpreter. No longer actively developed. + +## Dev stuff + +### Local environment & CI + +Uses nixos. + +Install `nix develop` - https://nixos.org/download.html. + +Run `nix develop` in this repo to drop into the shell. Please ONLY use the nix +version of `foundry` for development, to ensure versions are all compatible. + +Read the `flake.nix` file to find some additional commands included for dev and +CI usage. + +## Legal stuff + +Everything is under DecentraLicense 1.0 (DCL-1.0) which can be found in `LICENSES/`. + +This is basically `CAL-1.0` which is an open source license +https://opensource.org/license/cal-1-0 + +The non-legal summary of DCL-1.0 is that the source is open, as expected, but +also user data in the systems that this code runs on must also be made available +to those users as relevant, and that private keys remain private. + +Roughly it's "not your keys, not your coins" aware, as close as we could get in +legalese. + +This is the default situation on permissionless blockchains, so shouldn't require +any additional effort by dev-users to adhere to the license terms. + +This repo is REUSE 3.2 compliant https://reuse.software/spec-3.2/ and compatible +with `reuse` tooling (also available in the nix shell here). + +``` +nix develop -c rainix-sol-legal +``` + +## Contributions + +Contributions are welcome **under the same license** as above. + +Contributors agree and warrant that their contributions are compliant. \ No newline at end of file diff --git a/REUSE.toml b/REUSE.toml new file mode 100644 index 000000000..80fac5bc2 --- /dev/null +++ b/REUSE.toml @@ -0,0 +1,21 @@ +version = 1 + +[[annotations]] +path = [ + ".gas-snapshot", + ".github/workflows/**/", + "crates/**/", + ".vscode/**/", + "Cargo.lock", + "Cargo.toml", + ".gitignore", + ".gitmodules", + "README.md", + "flake.lock", + "flake.nix", + "foundry.toml", + "slither.config.json", + "REUSE.toml" +] +SPDX-FileCopyrightText = "Copyright (c) 2020 Rain Open Source Software Ltd" +SPDX-License-Identifier = "LicenseRef-DCL-1.0" diff --git a/crates/bindings/Cargo.toml b/crates/bindings/Cargo.toml index c44579cba..be04bd555 100644 --- a/crates/bindings/Cargo.toml +++ b/crates/bindings/Cargo.toml @@ -1,8 +1,9 @@ [package] name = "rain_interpreter_bindings" -version = "0.1.0" +version.workspace = true edition.workspace = true license.workspace = true +author.workspace = true homepage.workspace = true # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html diff --git a/crates/cli/Cargo.lock b/crates/cli/Cargo.lock deleted file mode 100644 index 13e617d55..000000000 --- a/crates/cli/Cargo.lock +++ /dev/null @@ -1,1585 +0,0 @@ -# This file is automatically @generated by Cargo. -# It is not intended for manual editing. -version = 3 - -[[package]] -name = "anstream" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6342bd4f5a1205d7f41e94a41a901f5647c938cdfa96036338e8533c9d6c2450" -dependencies = [ - "anstyle", - "anstyle-parse", - "anstyle-query", - "anstyle-wincon", - "colorchoice", - "is-terminal", - "utf8parse", -] - -[[package]] -name = "anstyle" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41ed9a86bf92ae6580e0a31281f65a1b1d867c0cc68d5346e2ae128dddfa6a7d" - -[[package]] -name = "anstyle-parse" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e765fd216e48e067936442276d1d57399e37bce53c264d6fefbe298080cb57ee" -dependencies = [ - "utf8parse", -] - -[[package]] -name = "anstyle-query" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ca11d4be1bab0c8bc8734a9aa7bf4ee8316d462a08c6ac5052f888fef5b494b" -dependencies = [ - "windows-sys 0.48.0", -] - -[[package]] -name = "anstyle-wincon" -version = "1.0.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "180abfa45703aebe0093f79badacc01b8fd4ea2e35118747e5811127f926e188" -dependencies = [ - "anstyle", - "windows-sys 0.48.0", -] - -[[package]] -name = "anyhow" -version = "1.0.70" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7de8ce5e0f9f8d88245311066a578d72b7af3e7088f32783804676302df237e4" - -[[package]] -name = "ascii" -version = "0.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eab1c04a571841102f5345a8fc0f6bb3d31c315dec879b5c6e42e40ce7ffa34e" - -[[package]] -name = "autocfg" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" - -[[package]] -name = "base64" -version = "0.21.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4a4ddaa51a5bc52a6948f74c06d20aaaddb71924eab79b8c97a8c556e942d6a" - -[[package]] -name = "bitflags" -version = "1.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" - -[[package]] -name = "bumpalo" -version = "3.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b1ce199063694f33ffb7dd4e0ee620741495c32833cde5aa08f02a0bf96f0c8" - -[[package]] -name = "byteorder" -version = "1.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" - -[[package]] -name = "bytes" -version = "1.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be" - -[[package]] -name = "cc" -version = "1.0.79" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f" - -[[package]] -name = "cfg-if" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" - -[[package]] -name = "clap" -version = "4.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a1f23fa97e1d1641371b51f35535cb26959b8e27ab50d167a8b996b5bada819" -dependencies = [ - "clap_builder", - "clap_derive", - "once_cell", -] - -[[package]] -name = "clap_builder" -version = "4.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fdc5d93c358224b4d6867ef1356d740de2303e9892edc06c5340daeccd96bab" -dependencies = [ - "anstream", - "anstyle", - "bitflags", - "clap_lex", - "once_cell", - "strsim", -] - -[[package]] -name = "clap_derive" -version = "4.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f9644cd56d6b87dbe899ef8b053e331c0637664e9e21a33dfcdc36093f5c5c4" -dependencies = [ - "heck", - "proc-macro2", - "quote", - "syn 2.0.15", -] - -[[package]] -name = "clap_lex" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a2dd5a6fe8c6e3502f568a6353e5273bbb15193ad9a89e457b9970798efbea1" - -[[package]] -name = "colorchoice" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7" - -[[package]] -name = "combine" -version = "3.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da3da6baa321ec19e1cc41d31bf599f00c783d0517095cdaf0332e3fe8d20680" -dependencies = [ - "ascii", - "byteorder", - "either", - "memchr", - "unreachable", -] - -[[package]] -name = "core-foundation" -version = "0.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "194a7a9e6de53fa55116934067c844d9d749312f75c6f6d0980e8c252f8c2146" -dependencies = [ - "core-foundation-sys", - "libc", -] - -[[package]] -name = "core-foundation-sys" -version = "0.8.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e496a50fda8aacccc86d7529e2c1e0892dbd0f898a6b5645b5561b89c3210efa" - -[[package]] -name = "either" -version = "1.8.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91" - -[[package]] -name = "encoding_rs" -version = "0.8.32" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "071a31f4ee85403370b58aca746f01041ede6f0da2730960ad001edc2b71b394" -dependencies = [ - "cfg-if", -] - -[[package]] -name = "errno" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4bcfec3a70f97c962c307b2d2c56e358cf1d00b558d74262b5f929ee8cc7e73a" -dependencies = [ - "errno-dragonfly", - "libc", - "windows-sys 0.48.0", -] - -[[package]] -name = "errno-dragonfly" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf" -dependencies = [ - "cc", - "libc", -] - -[[package]] -name = "fastrand" -version = "1.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e51093e27b0797c359783294ca4f0a911c270184cb10f85783b118614a1501be" -dependencies = [ - "instant", -] - -[[package]] -name = "fnv" -version = "1.0.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" - -[[package]] -name = "foreign-types" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" -dependencies = [ - "foreign-types-shared", -] - -[[package]] -name = "foreign-types-shared" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" - -[[package]] -name = "form_urlencoded" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9c384f161156f5260c24a097c56119f9be8c798586aecc13afbcbe7b7e26bf8" -dependencies = [ - "percent-encoding", -] - -[[package]] -name = "futures-channel" -version = "0.3.28" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "955518d47e09b25bbebc7a18df10b81f0c766eaf4c4f1cccef2fca5f2a4fb5f2" -dependencies = [ - "futures-core", -] - -[[package]] -name = "futures-core" -version = "0.3.28" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4bca583b7e26f571124fe5b7561d49cb2868d79116cfa0eefce955557c6fee8c" - -[[package]] -name = "futures-sink" -version = "0.3.28" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f43be4fe21a13b9781a69afa4985b0f6ee0e1afab2c6f454a8cf30e2b2237b6e" - -[[package]] -name = "futures-task" -version = "0.3.28" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76d3d132be6c0e6aa1534069c705a74a5997a356c0dc2f86a47765e5617c5b65" - -[[package]] -name = "futures-util" -version = "0.3.28" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26b01e40b772d54cf6c6d721c1d1abd0647a0106a12ecaa1c186273392a69533" -dependencies = [ - "futures-core", - "futures-task", - "pin-project-lite", - "pin-utils", -] - -[[package]] -name = "getrandom" -version = "0.2.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c85e1d9ab2eadba7e5040d4e09cbd6d072b76a557ad64e797c2cb9d4da21d7e4" -dependencies = [ - "cfg-if", - "libc", - "wasi", -] - -[[package]] -name = "graphql-introspection-query" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f2a4732cf5140bd6c082434494f785a19cfb566ab07d1382c3671f5812fed6d" -dependencies = [ - "serde", -] - -[[package]] -name = "graphql-parser" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2ebc8013b4426d5b81a4364c419a95ed0b404af2b82e2457de52d9348f0e474" -dependencies = [ - "combine", - "thiserror", -] - -[[package]] -name = "graphql_client" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aa61bb9dc6d373a8b465a5da17b62809483e8527a34b0e9034dc0915b09e160a" -dependencies = [ - "graphql_query_derive", - "serde", - "serde_json", -] - -[[package]] -name = "graphql_client_codegen" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e55df64cc702c4ad6647f8df13a799ad11688a3781fadf5045f7ba12733fa9b" -dependencies = [ - "graphql-introspection-query", - "graphql-parser", - "heck", - "lazy_static", - "proc-macro2", - "quote", - "serde", - "serde_json", - "syn 1.0.109", -] - -[[package]] -name = "graphql_query_derive" -version = "0.12.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d52fc9cde811f44b15ec0692b31e56a3067f6f431c5ace712f286e47c1dacc98" -dependencies = [ - "graphql_client_codegen", - "proc-macro2", - "syn 1.0.109", -] - -[[package]] -name = "h2" -version = "0.3.18" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17f8a914c2987b688368b5138aa05321db91f4090cf26118185672ad588bce21" -dependencies = [ - "bytes", - "fnv", - "futures-core", - "futures-sink", - "futures-util", - "http", - "indexmap", - "slab", - "tokio", - "tokio-util", - "tracing", -] - -[[package]] -name = "hashbrown" -version = "0.12.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" - -[[package]] -name = "heck" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" - -[[package]] -name = "hermit-abi" -version = "0.2.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7" -dependencies = [ - "libc", -] - -[[package]] -name = "hermit-abi" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fed44880c466736ef9a5c5b5facefb5ed0785676d0c02d612db14e54f0d84286" - -[[package]] -name = "http" -version = "0.2.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd6effc99afb63425aff9b05836f029929e345a6148a14b7ecd5ab67af944482" -dependencies = [ - "bytes", - "fnv", - "itoa", -] - -[[package]] -name = "http-body" -version = "0.4.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1" -dependencies = [ - "bytes", - "http", - "pin-project-lite", -] - -[[package]] -name = "httparse" -version = "1.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904" - -[[package]] -name = "httpdate" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4a1e36c821dbe04574f602848a19f742f4fb3c98d40449f11bcad18d6b17421" - -[[package]] -name = "hyper" -version = "0.14.26" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab302d72a6f11a3b910431ff93aae7e773078c769f0a3ef15fb9ec692ed147d4" -dependencies = [ - "bytes", - "futures-channel", - "futures-core", - "futures-util", - "h2", - "http", - "http-body", - "httparse", - "httpdate", - "itoa", - "pin-project-lite", - "socket2", - "tokio", - "tower-service", - "tracing", - "want", -] - -[[package]] -name = "hyper-tls" -version = "0.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905" -dependencies = [ - "bytes", - "hyper", - "native-tls", - "tokio", - "tokio-native-tls", -] - -[[package]] -name = "idna" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e14ddfc70884202db2244c223200c204c2bda1bc6e0998d11b5e024d657209e6" -dependencies = [ - "unicode-bidi", - "unicode-normalization", -] - -[[package]] -name = "indexmap" -version = "1.9.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd070e393353796e801d209ad339e89596eb4c8d430d18ede6a1cced8fafbd99" -dependencies = [ - "autocfg", - "hashbrown", -] - -[[package]] -name = "instant" -version = "0.1.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7a5bbe824c507c5da5956355e86a746d82e0e1464f65d862cc5e71da70e94b2c" -dependencies = [ - "cfg-if", -] - -[[package]] -name = "io-lifetimes" -version = "1.0.10" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c66c74d2ae7e79a5a8f7ac924adbe38ee42a859c6539ad869eb51f0b52dc220" -dependencies = [ - "hermit-abi 0.3.1", - "libc", - "windows-sys 0.48.0", -] - -[[package]] -name = "ipnet" -version = "2.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12b6ee2129af8d4fb011108c73d99a1b83a85977f23b82460c0ae2e25bb4b57f" - -[[package]] -name = "is-terminal" -version = "0.4.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adcf93614601c8129ddf72e2d5633df827ba6551541c6d8c59520a371475be1f" -dependencies = [ - "hermit-abi 0.3.1", - "io-lifetimes", - "rustix", - "windows-sys 0.48.0", -] - -[[package]] -name = "itoa" -version = "1.0.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "453ad9f582a441959e5f0d088b02ce04cfe8d51a8eaf077f12ac6d3e94164ca6" - -[[package]] -name = "js-sys" -version = "0.3.61" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "445dde2150c55e483f3d8416706b97ec8e8237c307e5b7b4b8dd15e6af2a0730" -dependencies = [ - "wasm-bindgen", -] - -[[package]] -name = "lazy_static" -version = "1.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" - -[[package]] -name = "libc" -version = "0.2.142" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a987beff54b60ffa6d51982e1aa1146bc42f19bd26be28b0586f252fccf5317" - -[[package]] -name = "linux-raw-sys" -version = "0.3.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b64f40e5e03e0d54f03845c8197d0291253cdbedfb1cb46b13c2c117554a9f4c" - -[[package]] -name = "lock_api" -version = "0.4.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "435011366fe56583b16cf956f9df0095b405b82d76425bc8981c0e22e60ec4df" -dependencies = [ - "autocfg", - "scopeguard", -] - -[[package]] -name = "log" -version = "0.4.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e" -dependencies = [ - "cfg-if", -] - -[[package]] -name = "memchr" -version = "2.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" - -[[package]] -name = "mime" -version = "0.3.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6877bb514081ee2a7ff5ef9de3281f14a4dd4bceac4c09388074a6b5df8a139a" - -[[package]] -name = "mio" -version = "0.8.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b9d9a46eff5b4ff64b45a9e316a6d1e0bc719ef429cbec4dc630684212bfdf9" -dependencies = [ - "libc", - "log", - "wasi", - "windows-sys 0.45.0", -] - -[[package]] -name = "native-tls" -version = "0.2.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07226173c32f2926027b63cce4bcd8076c3552846cbe7925f3aaffeac0a3b92e" -dependencies = [ - "lazy_static", - "libc", - "log", - "openssl", - "openssl-probe", - "openssl-sys", - "schannel", - "security-framework", - "security-framework-sys", - "tempfile", -] - -[[package]] -name = "nu-ansi-term" -version = "0.46.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77a8165726e8236064dbb45459242600304b42a5ea24ee2948e18e023bf7ba84" -dependencies = [ - "overload", - "winapi", -] - -[[package]] -name = "num-traits" -version = "0.2.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" -dependencies = [ - "autocfg", -] - -[[package]] -name = "num_cpus" -version = "1.15.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0fac9e2da13b5eb447a6ce3d392f23a29d8694bff781bf03a16cd9ac8697593b" -dependencies = [ - "hermit-abi 0.2.6", - "libc", -] - -[[package]] -name = "once_cell" -version = "1.17.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7e5500299e16ebb147ae15a00a942af264cf3688f47923b8fc2cd5858f23ad3" - -[[package]] -name = "openssl" -version = "0.10.52" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01b8574602df80f7b85fdfc5392fa884a4e3b3f4f35402c070ab34c3d3f78d56" -dependencies = [ - "bitflags", - "cfg-if", - "foreign-types", - "libc", - "once_cell", - "openssl-macros", - "openssl-sys", -] - -[[package]] -name = "openssl-macros" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.15", -] - -[[package]] -name = "openssl-probe" -version = "0.1.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" - -[[package]] -name = "openssl-sys" -version = "0.9.87" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e17f59264b2809d77ae94f0e1ebabc434773f370d6ca667bd223ea10e06cc7e" -dependencies = [ - "cc", - "libc", - "pkg-config", - "vcpkg", -] - -[[package]] -name = "overload" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" - -[[package]] -name = "parking_lot" -version = "0.12.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" -dependencies = [ - "lock_api", - "parking_lot_core", -] - -[[package]] -name = "parking_lot_core" -version = "0.9.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9069cbb9f99e3a5083476ccb29ceb1de18b9118cafa53e90c9551235de2b9521" -dependencies = [ - "cfg-if", - "libc", - "redox_syscall 0.2.16", - "smallvec", - "windows-sys 0.45.0", -] - -[[package]] -name = "percent-encoding" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "478c572c3d73181ff3c2539045f6eb99e5491218eae919370993b890cdbdd98e" - -[[package]] -name = "pin-project-lite" -version = "0.2.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116" - -[[package]] -name = "pin-utils" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" - -[[package]] -name = "pkg-config" -version = "0.3.26" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ac9a59f73473f1b8d852421e59e64809f025994837ef743615c6d0c5b305160" - -[[package]] -name = "proc-macro2" -version = "1.0.56" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b63bdb0cd06f1f4dedf69b254734f9b45af66e4a031e42a7480257d9898b435" -dependencies = [ - "unicode-ident", -] - -[[package]] -name = "quote" -version = "1.0.26" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4424af4bf778aae2051a77b60283332f386554255d722233d09fbfc7e30da2fc" -dependencies = [ - "proc-macro2", -] - -[[package]] -name = "rain_cli_ob" -version = "0.0.4" -dependencies = [ - "anyhow", - "clap", - "graphql_client", - "once_cell", - "reqwest", - "rust-bigint", - "serde", - "serde_bytes", - "tokio", - "tracing", - "tracing-subscriber", -] - -[[package]] -name = "redox_syscall" -version = "0.2.16" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" -dependencies = [ - "bitflags", -] - -[[package]] -name = "redox_syscall" -version = "0.3.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29" -dependencies = [ - "bitflags", -] - -[[package]] -name = "reqwest" -version = "0.11.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "13293b639a097af28fc8a90f22add145a9c954e49d77da06263d58cf44d5fb91" -dependencies = [ - "base64", - "bytes", - "encoding_rs", - "futures-core", - "futures-util", - "h2", - "http", - "http-body", - "hyper", - "hyper-tls", - "ipnet", - "js-sys", - "log", - "mime", - "native-tls", - "once_cell", - "percent-encoding", - "pin-project-lite", - "serde", - "serde_json", - "serde_urlencoded", - "tokio", - "tokio-native-tls", - "tower-service", - "url", - "wasm-bindgen", - "wasm-bindgen-futures", - "web-sys", - "winreg", -] - -[[package]] -name = "rust-bigint" -version = "1.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe1d6964d886b707f3e2cec76ac5b0e887661a6699f695ed0d3d5bb4852d6959" -dependencies = [ - "getrandom", - "rust-gmp-kzen", - "serde", - "serde_derive", -] - -[[package]] -name = "rust-gmp-kzen" -version = "0.5.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e654bb304958a567aefa09e83cc313251388202c40bfc245fac19a0e2dd8d08" -dependencies = [ - "libc", - "num-traits", - "serde", -] - -[[package]] -name = "rustix" -version = "0.37.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc809f704c03a812ac71f22456c857be34185cac691a4316f27ab0f633bb9009" -dependencies = [ - "bitflags", - "errno", - "io-lifetimes", - "libc", - "linux-raw-sys", - "windows-sys 0.48.0", -] - -[[package]] -name = "ryu" -version = "1.0.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f91339c0467de62360649f8d3e185ca8de4224ff281f66000de5eb2a77a79041" - -[[package]] -name = "schannel" -version = "0.1.21" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "713cfb06c7059f3588fb8044c0fad1d09e3c01d225e25b9220dbfdcf16dbb1b3" -dependencies = [ - "windows-sys 0.42.0", -] - -[[package]] -name = "scopeguard" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" - -[[package]] -name = "security-framework" -version = "2.8.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a332be01508d814fed64bf28f798a146d73792121129962fdf335bb3c49a4254" -dependencies = [ - "bitflags", - "core-foundation", - "core-foundation-sys", - "libc", - "security-framework-sys", -] - -[[package]] -name = "security-framework-sys" -version = "2.8.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31c9bb296072e961fcbd8853511dd39c2d8be2deb1e17c6860b1d30732b323b4" -dependencies = [ - "core-foundation-sys", - "libc", -] - -[[package]] -name = "serde" -version = "1.0.160" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb2f3770c8bce3bcda7e149193a069a0f4365bda1fa5cd88e03bca26afc1216c" -dependencies = [ - "serde_derive", -] - -[[package]] -name = "serde_bytes" -version = "0.11.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "416bda436f9aab92e02c8e10d49a15ddd339cea90b6e340fe51ed97abb548294" -dependencies = [ - "serde", -] - -[[package]] -name = "serde_derive" -version = "1.0.160" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "291a097c63d8497e00160b166a967a4a79c64f3facdd01cbd7502231688d77df" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.15", -] - -[[package]] -name = "serde_json" -version = "1.0.96" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "057d394a50403bcac12672b2b18fb387ab6d289d957dab67dd201875391e52f1" -dependencies = [ - "itoa", - "ryu", - "serde", -] - -[[package]] -name = "serde_urlencoded" -version = "0.7.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" -dependencies = [ - "form_urlencoded", - "itoa", - "ryu", - "serde", -] - -[[package]] -name = "sharded-slab" -version = "0.1.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "900fba806f70c630b0a382d0d825e17a0f19fcd059a2ade1ff237bcddf446b31" -dependencies = [ - "lazy_static", -] - -[[package]] -name = "signal-hook-registry" -version = "1.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1" -dependencies = [ - "libc", -] - -[[package]] -name = "slab" -version = "0.4.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6528351c9bc8ab22353f9d776db39a20288e8d6c37ef8cfe3317cf875eecfc2d" -dependencies = [ - "autocfg", -] - -[[package]] -name = "smallvec" -version = "1.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0" - -[[package]] -name = "socket2" -version = "0.4.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64a4a911eed85daf18834cfaa86a79b7d266ff93ff5ba14005426219480ed662" -dependencies = [ - "libc", - "winapi", -] - -[[package]] -name = "strsim" -version = "0.10.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" - -[[package]] -name = "syn" -version = "1.0.109" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - -[[package]] -name = "syn" -version = "2.0.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a34fcf3e8b60f57e6a14301a2e916d323af98b0ea63c599441eec8558660c822" -dependencies = [ - "proc-macro2", - "quote", - "unicode-ident", -] - -[[package]] -name = "tempfile" -version = "3.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9fbec84f381d5795b08656e4912bec604d162bff9291d6189a78f4c8ab87998" -dependencies = [ - "cfg-if", - "fastrand", - "redox_syscall 0.3.5", - "rustix", - "windows-sys 0.45.0", -] - -[[package]] -name = "thiserror" -version = "1.0.40" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "978c9a314bd8dc99be594bc3c175faaa9794be04a5a5e153caba6915336cebac" -dependencies = [ - "thiserror-impl", -] - -[[package]] -name = "thiserror-impl" -version = "1.0.40" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9456a42c5b0d803c8cd86e73dd7cc9edd429499f37a3550d286d5e86720569f" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.15", -] - -[[package]] -name = "thread_local" -version = "1.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fdd6f064ccff2d6567adcb3873ca630700f00b5ad3f060c25b5dcfd9a4ce152" -dependencies = [ - "cfg-if", - "once_cell", -] - -[[package]] -name = "tinyvec" -version = "1.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" -dependencies = [ - "tinyvec_macros", -] - -[[package]] -name = "tinyvec_macros" -version = "0.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" - -[[package]] -name = "tokio" -version = "1.28.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3c786bf8134e5a3a166db9b29ab8f48134739014a3eca7bc6bfa95d673b136f" -dependencies = [ - "autocfg", - "bytes", - "libc", - "mio", - "num_cpus", - "parking_lot", - "pin-project-lite", - "signal-hook-registry", - "socket2", - "tokio-macros", - "windows-sys 0.48.0", -] - -[[package]] -name = "tokio-macros" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.15", -] - -[[package]] -name = "tokio-native-tls" -version = "0.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbae76ab933c85776efabc971569dd6119c580d8f5d448769dec1764bf796ef2" -dependencies = [ - "native-tls", - "tokio", -] - -[[package]] -name = "tokio-util" -version = "0.7.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "806fe8c2c87eccc8b3267cbae29ed3ab2d0bd37fca70ab622e46aaa9375ddb7d" -dependencies = [ - "bytes", - "futures-core", - "futures-sink", - "pin-project-lite", - "tokio", - "tracing", -] - -[[package]] -name = "tower-service" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" - -[[package]] -name = "tracing" -version = "0.1.37" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8" -dependencies = [ - "cfg-if", - "pin-project-lite", - "tracing-attributes", - "tracing-core", -] - -[[package]] -name = "tracing-attributes" -version = "0.1.24" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f57e3ca2a01450b1a921183a9c9cbfda207fd822cef4ccb00a65402cbba7a74" -dependencies = [ - "proc-macro2", - "quote", - "syn 2.0.15", -] - -[[package]] -name = "tracing-core" -version = "0.1.30" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "24eb03ba0eab1fd845050058ce5e616558e8f8d8fca633e6b163fe25c797213a" -dependencies = [ - "once_cell", - "valuable", -] - -[[package]] -name = "tracing-log" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78ddad33d2d10b1ed7eb9d1f518a5674713876e97e5bb9b7345a7984fbb4f922" -dependencies = [ - "lazy_static", - "log", - "tracing-core", -] - -[[package]] -name = "tracing-subscriber" -version = "0.3.17" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "30a651bc37f915e81f087d86e62a18eec5f79550c7faff886f7090b4ea757c77" -dependencies = [ - "nu-ansi-term", - "sharded-slab", - "smallvec", - "thread_local", - "tracing-core", - "tracing-log", -] - -[[package]] -name = "try-lock" -version = "0.2.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3528ecfd12c466c6f163363caf2d02a71161dd5e1cc6ae7b34207ea2d42d81ed" - -[[package]] -name = "unicode-bidi" -version = "0.3.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92888ba5573ff080736b3648696b70cafad7d250551175acbaa4e0385b3e1460" - -[[package]] -name = "unicode-ident" -version = "1.0.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5464a87b239f13a63a501f2701565754bae92d243d4bb7eb12f6d57d2269bf4" - -[[package]] -name = "unicode-normalization" -version = "0.1.22" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c5713f0fc4b5db668a2ac63cdb7bb4469d8c9fed047b1d0292cc7b0ce2ba921" -dependencies = [ - "tinyvec", -] - -[[package]] -name = "unreachable" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "382810877fe448991dfc7f0dd6e3ae5d58088fd0ea5e35189655f84e6814fa56" -dependencies = [ - "void", -] - -[[package]] -name = "url" -version = "2.3.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d68c799ae75762b8c3fe375feb6600ef5602c883c5d21eb51c09f22b83c4643" -dependencies = [ - "form_urlencoded", - "idna", - "percent-encoding", -] - -[[package]] -name = "utf8parse" -version = "0.2.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a" - -[[package]] -name = "valuable" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d" - -[[package]] -name = "vcpkg" -version = "0.2.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" - -[[package]] -name = "void" -version = "1.0.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a02e4885ed3bc0f2de90ea6dd45ebcbb66dacffe03547fadbb0eeae2770887d" - -[[package]] -name = "want" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1ce8a968cb1cd110d136ff8b819a556d6fb6d919363c61534f6860c7eb172ba0" -dependencies = [ - "log", - "try-lock", -] - -[[package]] -name = "wasi" -version = "0.11.0+wasi-snapshot-preview1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" - -[[package]] -name = "wasm-bindgen" -version = "0.2.84" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31f8dcbc21f30d9b8f2ea926ecb58f6b91192c17e9d33594b3df58b2007ca53b" -dependencies = [ - "cfg-if", - "wasm-bindgen-macro", -] - -[[package]] -name = "wasm-bindgen-backend" -version = "0.2.84" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "95ce90fd5bcc06af55a641a86428ee4229e44e07033963a2290a8e241607ccb9" -dependencies = [ - "bumpalo", - "log", - "once_cell", - "proc-macro2", - "quote", - "syn 1.0.109", - "wasm-bindgen-shared", -] - -[[package]] -name = "wasm-bindgen-futures" -version = "0.4.34" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f219e0d211ba40266969f6dbdd90636da12f75bee4fc9d6c23d1260dadb51454" -dependencies = [ - "cfg-if", - "js-sys", - "wasm-bindgen", - "web-sys", -] - -[[package]] -name = "wasm-bindgen-macro" -version = "0.2.84" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c21f77c0bedc37fd5dc21f897894a5ca01e7bb159884559461862ae90c0b4c5" -dependencies = [ - "quote", - "wasm-bindgen-macro-support", -] - -[[package]] -name = "wasm-bindgen-macro-support" -version = "0.2.84" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2aff81306fcac3c7515ad4e177f521b5c9a15f2b08f4e32d823066102f35a5f6" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", - "wasm-bindgen-backend", - "wasm-bindgen-shared", -] - -[[package]] -name = "wasm-bindgen-shared" -version = "0.2.84" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0046fef7e28c3804e5e38bfa31ea2a0f73905319b677e57ebe37e49358989b5d" - -[[package]] -name = "web-sys" -version = "0.3.61" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e33b99f4b23ba3eec1a53ac264e35a755f00e966e0065077d6027c0f575b0b97" -dependencies = [ - "js-sys", - "wasm-bindgen", -] - -[[package]] -name = "winapi" -version = "0.3.9" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419" -dependencies = [ - "winapi-i686-pc-windows-gnu", - "winapi-x86_64-pc-windows-gnu", -] - -[[package]] -name = "winapi-i686-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" - -[[package]] -name = "winapi-x86_64-pc-windows-gnu" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" - -[[package]] -name = "windows-sys" -version = "0.42.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7" -dependencies = [ - "windows_aarch64_gnullvm 0.42.2", - "windows_aarch64_msvc 0.42.2", - "windows_i686_gnu 0.42.2", - "windows_i686_msvc 0.42.2", - "windows_x86_64_gnu 0.42.2", - "windows_x86_64_gnullvm 0.42.2", - "windows_x86_64_msvc 0.42.2", -] - -[[package]] -name = "windows-sys" -version = "0.45.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75283be5efb2831d37ea142365f009c02ec203cd29a3ebecbc093d52315b66d0" -dependencies = [ - "windows-targets 0.42.2", -] - -[[package]] -name = "windows-sys" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" -dependencies = [ - "windows-targets 0.48.0", -] - -[[package]] -name = "windows-targets" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e5180c00cd44c9b1c88adb3693291f1cd93605ded80c250a75d472756b4d071" -dependencies = [ - "windows_aarch64_gnullvm 0.42.2", - "windows_aarch64_msvc 0.42.2", - "windows_i686_gnu 0.42.2", - "windows_i686_msvc 0.42.2", - "windows_x86_64_gnu 0.42.2", - "windows_x86_64_gnullvm 0.42.2", - "windows_x86_64_msvc 0.42.2", -] - -[[package]] -name = "windows-targets" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7b1eb6f0cd7c80c79759c929114ef071b87354ce476d9d94271031c0497adfd5" -dependencies = [ - "windows_aarch64_gnullvm 0.48.0", - "windows_aarch64_msvc 0.48.0", - "windows_i686_gnu 0.48.0", - "windows_i686_msvc 0.48.0", - "windows_x86_64_gnu 0.48.0", - "windows_x86_64_gnullvm 0.48.0", - "windows_x86_64_msvc 0.48.0", -] - -[[package]] -name = "windows_aarch64_gnullvm" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" - -[[package]] -name = "windows_aarch64_gnullvm" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc" - -[[package]] -name = "windows_aarch64_msvc" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" - -[[package]] -name = "windows_aarch64_msvc" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3" - -[[package]] -name = "windows_i686_gnu" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" - -[[package]] -name = "windows_i686_gnu" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241" - -[[package]] -name = "windows_i686_msvc" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" - -[[package]] -name = "windows_i686_msvc" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00" - -[[package]] -name = "windows_x86_64_gnu" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" - -[[package]] -name = "windows_x86_64_gnu" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1" - -[[package]] -name = "windows_x86_64_gnullvm" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" - -[[package]] -name = "windows_x86_64_gnullvm" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953" - -[[package]] -name = "windows_x86_64_msvc" -version = "0.42.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" - -[[package]] -name = "windows_x86_64_msvc" -version = "0.48.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a" - -[[package]] -name = "winreg" -version = "0.10.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80d0f4e272c85def139476380b12f9ac60926689dd2e01d4923222f40580869d" -dependencies = [ - "winapi", -] diff --git a/crates/cli/Cargo.toml b/crates/cli/Cargo.toml index d7ff5f7fb..59fa7ec63 100644 --- a/crates/cli/Cargo.toml +++ b/crates/cli/Cargo.toml @@ -1,10 +1,11 @@ [package] name = "rain-i9r-cli" -version = "0.0.1" -edition = "2021" -license = "CAL-1.0" description = "Rain Interpreter CLI." -homepage = "https://github.com/rainprotocol/rain.orderbook" +version.workspace = true +edition.workspace = true +license.workspace = true +author.workspace = true +homepage.workspace = true # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html @@ -19,4 +20,6 @@ tokio = { version = "1.28.0", features = ["full"] } tracing = { workspace = true } tracing-subscriber = { workspace = true, features = ['env-filter'] } alloy = { workspace = true } -rain-interpreter-env = { workspace = true } \ No newline at end of file + +[dev-dependencies] +rain_interpreter_test_fixtures = { workspace = true } \ No newline at end of file diff --git a/crates/cli/src/commands/eval.rs b/crates/cli/src/commands/eval.rs index b1cdfef88..a19a49988 100644 --- a/crates/cli/src/commands/eval.rs +++ b/crates/cli/src/commands/eval.rs @@ -112,10 +112,7 @@ impl Execute for Eval { #[cfg(test)] mod tests { use super::*; - - use rain_interpreter_env::{ - CI_DEPLOY_SEPOLIA_RPC_URL, CI_FORK_SEPOLIA_BLOCK_NUMBER, CI_FORK_SEPOLIA_DEPLOYER_ADDRESS, - }; + use rain_interpreter_test_fixtures::LocalEvm; #[test] fn test_parse_int_or_hex() { @@ -127,16 +124,17 @@ mod tests { #[tokio::test(flavor = "multi_thread", worker_threads = 1)] async fn test_execute() { + let local_evm = LocalEvm::new().await; let eval = Eval { output_path: None, forked_evm: NewForkedEvmCliArgs { - fork_url: CI_DEPLOY_SEPOLIA_RPC_URL.to_string(), - fork_block_number: Some(*CI_FORK_SEPOLIA_BLOCK_NUMBER), + fork_url: local_evm.url(), + fork_block_number: None, }, fork_eval_args: ForkEvalCliArgs { rainlang_string: r"_: add(10 2), _: context<0 0>(), _:context<0 1>();".into(), source_index: 0, - deployer: *CI_FORK_SEPOLIA_DEPLOYER_ADDRESS, + deployer: *local_evm.deployer.address(), namespace: "0x123".into(), context: vec!["0x06,99".into()], decode_errors: true, diff --git a/crates/dispair/Cargo.toml b/crates/dispair/Cargo.toml index 6369b04ce..db1debdf6 100644 --- a/crates/dispair/Cargo.toml +++ b/crates/dispair/Cargo.toml @@ -1,10 +1,11 @@ [package] name = "rain_interpreter_dispair" -version = "0.1.0" -edition = "2021" -license = "CAL-1.0" description = "Rain Interpreter Rust Crate." -homepage = "https://github.com/rainlanguage/rain.interpreter" +version.workspace = true +edition.workspace = true +license.workspace = true +author.workspace = true +homepage.workspace = true [dependencies] alloy-ethers-typecast = { workspace = true } diff --git a/crates/dispair/src/lib.rs b/crates/dispair/src/lib.rs index 199e93451..11d292a1b 100644 --- a/crates/dispair/src/lib.rs +++ b/crates/dispair/src/lib.rs @@ -76,6 +76,7 @@ mod tests { use alloy::primitives::Address; use ethers::providers::{MockProvider, MockResponse, Provider}; use serde_json::json; + use std::collections::HashMap; use tracing_subscriber::FmtSubscriber; #[tokio::test] @@ -108,7 +109,10 @@ mod tests { interpreter_address )))); - let client = ReadableClient::new(Provider::new(transport)); + let client = ReadableClient::new(HashMap::from([( + "provider".to_string(), + Provider::new(transport), + )])); let dispair = DISPair::from_deployer(deployer_address, client) .await .unwrap(); diff --git a/crates/env/Cargo.toml b/crates/env/Cargo.toml deleted file mode 100644 index d1d2e6954..000000000 --- a/crates/env/Cargo.toml +++ /dev/null @@ -1,10 +0,0 @@ -[package] -name = "rain-interpreter-env" -version = "0.0.0" -edition.workspace = true -license.workspace = true -homepage.workspace = true - -[dependencies] -once_cell = { workspace = true } -alloy = { workspace = true } diff --git a/crates/env/src/lib.rs b/crates/env/src/lib.rs deleted file mode 100644 index 243ee0efb..000000000 --- a/crates/env/src/lib.rs +++ /dev/null @@ -1,25 +0,0 @@ -use alloy::primitives::{Address, BlockNumber}; -use once_cell::sync::Lazy; - -pub const CI_DEPLOY_SEPOLIA_RPC_URL: &str = env!( - "CI_DEPLOY_SEPOLIA_RPC_URL", - "$CI_DEPLOY_SEPOLIA_RPC_URL not set." -); - -pub static CI_FORK_SEPOLIA_DEPLOYER_ADDRESS: Lazy
= Lazy::new(|| { - env!( - "CI_FORK_SEPOLIA_DEPLOYER_ADDRESS", - "$CI_FORK_SEPOLIA_DEPLOYER_ADDRESS not set." - ) - .parse() - .unwrap() -}); - -pub static CI_FORK_SEPOLIA_BLOCK_NUMBER: Lazy