{"abi":[{"type":"function","name":"accesses","inputs":[{"name":"target","type":"address","internalType":"address"}],"outputs":[{"name":"readSlots","type":"bytes32[]","internalType":"bytes32[]"},{"name":"writeSlots","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"addr","inputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"keyAddr","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqAbs","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"maxDelta","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqAbs","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"maxDelta","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqAbs","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"maxDelta","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqAbs","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"maxDelta","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqAbsDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"maxDelta","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqAbsDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"maxDelta","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqAbsDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"maxDelta","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqAbsDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"maxDelta","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqRel","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"maxPercentDelta","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqRel","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"maxPercentDelta","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqRel","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"maxPercentDelta","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqRel","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"maxPercentDelta","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqRelDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"maxPercentDelta","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqRelDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"maxPercentDelta","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqRelDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"maxPercentDelta","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertApproxEqRelDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"maxPercentDelta","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"bytes32[]","internalType":"bytes32[]"},{"name":"right","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"int256[]","internalType":"int256[]"},{"name":"right","type":"int256[]","internalType":"int256[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"address","internalType":"address"},{"name":"right","type":"address","internalType":"address"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"string","internalType":"string"},{"name":"right","type":"string","internalType":"string"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"address[]","internalType":"address[]"},{"name":"right","type":"address[]","internalType":"address[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"address[]","internalType":"address[]"},{"name":"right","type":"address[]","internalType":"address[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"bool","internalType":"bool"},{"name":"right","type":"bool","internalType":"bool"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"address","internalType":"address"},{"name":"right","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"uint256[]","internalType":"uint256[]"},{"name":"right","type":"uint256[]","internalType":"uint256[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"bool[]","internalType":"bool[]"},{"name":"right","type":"bool[]","internalType":"bool[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"int256[]","internalType":"int256[]"},{"name":"right","type":"int256[]","internalType":"int256[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"bytes32","internalType":"bytes32"},{"name":"right","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"uint256[]","internalType":"uint256[]"},{"name":"right","type":"uint256[]","internalType":"uint256[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"bytes","internalType":"bytes"},{"name":"right","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"bytes32","internalType":"bytes32"},{"name":"right","type":"bytes32","internalType":"bytes32"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"string[]","internalType":"string[]"},{"name":"right","type":"string[]","internalType":"string[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"bytes32[]","internalType":"bytes32[]"},{"name":"right","type":"bytes32[]","internalType":"bytes32[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"bytes","internalType":"bytes"},{"name":"right","type":"bytes","internalType":"bytes"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"bool[]","internalType":"bool[]"},{"name":"right","type":"bool[]","internalType":"bool[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"bytes[]","internalType":"bytes[]"},{"name":"right","type":"bytes[]","internalType":"bytes[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"string[]","internalType":"string[]"},{"name":"right","type":"string[]","internalType":"string[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"string","internalType":"string"},{"name":"right","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"bytes[]","internalType":"bytes[]"},{"name":"right","type":"bytes[]","internalType":"bytes[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"bool","internalType":"bool"},{"name":"right","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEq","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEqDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEqDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEqDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertEqDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertFalse","inputs":[{"name":"condition","type":"bool","internalType":"bool"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertFalse","inputs":[{"name":"condition","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGe","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGe","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGe","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGe","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGeDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGeDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGeDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGeDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGt","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGt","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGt","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGt","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGtDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGtDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGtDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertGtDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLe","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLe","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLe","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLe","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLeDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLeDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLeDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLeDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLt","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLt","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLt","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLt","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLtDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLtDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLtDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertLtDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"bytes32[]","internalType":"bytes32[]"},{"name":"right","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"int256[]","internalType":"int256[]"},{"name":"right","type":"int256[]","internalType":"int256[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"bool","internalType":"bool"},{"name":"right","type":"bool","internalType":"bool"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"bytes[]","internalType":"bytes[]"},{"name":"right","type":"bytes[]","internalType":"bytes[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"bool","internalType":"bool"},{"name":"right","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"bool[]","internalType":"bool[]"},{"name":"right","type":"bool[]","internalType":"bool[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"bytes","internalType":"bytes"},{"name":"right","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"address[]","internalType":"address[]"},{"name":"right","type":"address[]","internalType":"address[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"uint256[]","internalType":"uint256[]"},{"name":"right","type":"uint256[]","internalType":"uint256[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"bool[]","internalType":"bool[]"},{"name":"right","type":"bool[]","internalType":"bool[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"string","internalType":"string"},{"name":"right","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"address[]","internalType":"address[]"},{"name":"right","type":"address[]","internalType":"address[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"string","internalType":"string"},{"name":"right","type":"string","internalType":"string"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"address","internalType":"address"},{"name":"right","type":"address","internalType":"address"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"bytes32","internalType":"bytes32"},{"name":"right","type":"bytes32","internalType":"bytes32"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"bytes","internalType":"bytes"},{"name":"right","type":"bytes","internalType":"bytes"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"uint256[]","internalType":"uint256[]"},{"name":"right","type":"uint256[]","internalType":"uint256[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"address","internalType":"address"},{"name":"right","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"bytes32","internalType":"bytes32"},{"name":"right","type":"bytes32","internalType":"bytes32"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"string[]","internalType":"string[]"},{"name":"right","type":"string[]","internalType":"string[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"bytes32[]","internalType":"bytes32[]"},{"name":"right","type":"bytes32[]","internalType":"bytes32[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"string[]","internalType":"string[]"},{"name":"right","type":"string[]","internalType":"string[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"int256[]","internalType":"int256[]"},{"name":"right","type":"int256[]","internalType":"int256[]"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"bytes[]","internalType":"bytes[]"},{"name":"right","type":"bytes[]","internalType":"bytes[]"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEq","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEqDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEqDecimal","inputs":[{"name":"left","type":"int256","internalType":"int256"},{"name":"right","type":"int256","internalType":"int256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEqDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertNotEqDecimal","inputs":[{"name":"left","type":"uint256","internalType":"uint256"},{"name":"right","type":"uint256","internalType":"uint256"},{"name":"decimals","type":"uint256","internalType":"uint256"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertTrue","inputs":[{"name":"condition","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assertTrue","inputs":[{"name":"condition","type":"bool","internalType":"bool"},{"name":"error","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"assume","inputs":[{"name":"condition","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"pure"},{"type":"function","name":"breakpoint","inputs":[{"name":"char","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"breakpoint","inputs":[{"name":"char","type":"string","internalType":"string"},{"name":"value","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"broadcast","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"broadcast","inputs":[{"name":"signer","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"broadcast","inputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"closeFile","inputs":[{"name":"path","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"computeCreate2Address","inputs":[{"name":"salt","type":"bytes32","internalType":"bytes32"},{"name":"initCodeHash","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"computeCreate2Address","inputs":[{"name":"salt","type":"bytes32","internalType":"bytes32"},{"name":"initCodeHash","type":"bytes32","internalType":"bytes32"},{"name":"deployer","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"computeCreateAddress","inputs":[{"name":"deployer","type":"address","internalType":"address"},{"name":"nonce","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"copyFile","inputs":[{"name":"from","type":"string","internalType":"string"},{"name":"to","type":"string","internalType":"string"}],"outputs":[{"name":"copied","type":"uint64","internalType":"uint64"}],"stateMutability":"nonpayable"},{"type":"function","name":"createDir","inputs":[{"name":"path","type":"string","internalType":"string"},{"name":"recursive","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"createWallet","inputs":[{"name":"walletLabel","type":"string","internalType":"string"}],"outputs":[{"name":"wallet","type":"tuple","internalType":"struct VmSafe.Wallet","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"publicKeyX","type":"uint256","internalType":"uint256"},{"name":"publicKeyY","type":"uint256","internalType":"uint256"},{"name":"privateKey","type":"uint256","internalType":"uint256"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"createWallet","inputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"wallet","type":"tuple","internalType":"struct VmSafe.Wallet","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"publicKeyX","type":"uint256","internalType":"uint256"},{"name":"publicKeyY","type":"uint256","internalType":"uint256"},{"name":"privateKey","type":"uint256","internalType":"uint256"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"createWallet","inputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"},{"name":"walletLabel","type":"string","internalType":"string"}],"outputs":[{"name":"wallet","type":"tuple","internalType":"struct VmSafe.Wallet","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"publicKeyX","type":"uint256","internalType":"uint256"},{"name":"publicKeyY","type":"uint256","internalType":"uint256"},{"name":"privateKey","type":"uint256","internalType":"uint256"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"deriveKey","inputs":[{"name":"mnemonic","type":"string","internalType":"string"},{"name":"derivationPath","type":"string","internalType":"string"},{"name":"index","type":"uint32","internalType":"uint32"},{"name":"language","type":"string","internalType":"string"}],"outputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"deriveKey","inputs":[{"name":"mnemonic","type":"string","internalType":"string"},{"name":"index","type":"uint32","internalType":"uint32"},{"name":"language","type":"string","internalType":"string"}],"outputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"deriveKey","inputs":[{"name":"mnemonic","type":"string","internalType":"string"},{"name":"index","type":"uint32","internalType":"uint32"}],"outputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"deriveKey","inputs":[{"name":"mnemonic","type":"string","internalType":"string"},{"name":"derivationPath","type":"string","internalType":"string"},{"name":"index","type":"uint32","internalType":"uint32"}],"outputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"envAddress","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"envAddress","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"envBool","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"envBool","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"bool[]","internalType":"bool[]"}],"stateMutability":"view"},{"type":"function","name":"envBytes","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"envBytes","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"view"},{"type":"function","name":"envBytes32","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"view"},{"type":"function","name":"envBytes32","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"envExists","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"result","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"envInt","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"int256[]","internalType":"int256[]"}],"stateMutability":"view"},{"type":"function","name":"envInt","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"int256","internalType":"int256"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"},{"name":"defaultValue","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"value","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"},{"name":"defaultValue","type":"int256[]","internalType":"int256[]"}],"outputs":[{"name":"value","type":"int256[]","internalType":"int256[]"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"defaultValue","type":"bool","internalType":"bool"}],"outputs":[{"name":"value","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"defaultValue","type":"address","internalType":"address"}],"outputs":[{"name":"value","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"defaultValue","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"value","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"},{"name":"defaultValue","type":"bytes[]","internalType":"bytes[]"}],"outputs":[{"name":"value","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"},{"name":"defaultValue","type":"uint256[]","internalType":"uint256[]"}],"outputs":[{"name":"value","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"},{"name":"defaultValue","type":"string[]","internalType":"string[]"}],"outputs":[{"name":"value","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"defaultValue","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"value","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"defaultValue","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"value","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"defaultValue","type":"int256","internalType":"int256"}],"outputs":[{"name":"value","type":"int256","internalType":"int256"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"},{"name":"defaultValue","type":"address[]","internalType":"address[]"}],"outputs":[{"name":"value","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"defaultValue","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"envOr","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"},{"name":"defaultValue","type":"bool[]","internalType":"bool[]"}],"outputs":[{"name":"value","type":"bool[]","internalType":"bool[]"}],"stateMutability":"view"},{"type":"function","name":"envString","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"envString","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"envUint","inputs":[{"name":"name","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"envUint","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"delim","type":"string","internalType":"string"}],"outputs":[{"name":"value","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"view"},{"type":"function","name":"eth_getLogs","inputs":[{"name":"fromBlock","type":"uint256","internalType":"uint256"},{"name":"toBlock","type":"uint256","internalType":"uint256"},{"name":"target","type":"address","internalType":"address"},{"name":"topics","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"logs","type":"tuple[]","internalType":"struct VmSafe.EthGetLogs[]","components":[{"name":"emitter","type":"address","internalType":"address"},{"name":"topics","type":"bytes32[]","internalType":"bytes32[]"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"blockHash","type":"bytes32","internalType":"bytes32"},{"name":"blockNumber","type":"uint64","internalType":"uint64"},{"name":"transactionHash","type":"bytes32","internalType":"bytes32"},{"name":"transactionIndex","type":"uint64","internalType":"uint64"},{"name":"logIndex","type":"uint256","internalType":"uint256"},{"name":"removed","type":"bool","internalType":"bool"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"exists","inputs":[{"name":"path","type":"string","internalType":"string"}],"outputs":[{"name":"result","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"ffi","inputs":[{"name":"commandInput","type":"string[]","internalType":"string[]"}],"outputs":[{"name":"result","type":"bytes","internalType":"bytes"}],"stateMutability":"nonpayable"},{"type":"function","name":"fsMetadata","inputs":[{"name":"path","type":"string","internalType":"string"}],"outputs":[{"name":"metadata","type":"tuple","internalType":"struct VmSafe.FsMetadata","components":[{"name":"isDir","type":"bool","internalType":"bool"},{"name":"isSymlink","type":"bool","internalType":"bool"},{"name":"length","type":"uint256","internalType":"uint256"},{"name":"readOnly","type":"bool","internalType":"bool"},{"name":"modified","type":"uint256","internalType":"uint256"},{"name":"accessed","type":"uint256","internalType":"uint256"},{"name":"created","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"getBlobBaseFee","inputs":[],"outputs":[{"name":"blobBaseFee","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getBlockNumber","inputs":[],"outputs":[{"name":"height","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getBlockTimestamp","inputs":[],"outputs":[{"name":"timestamp","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getCode","inputs":[{"name":"artifactPath","type":"string","internalType":"string"}],"outputs":[{"name":"creationBytecode","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getDeployedCode","inputs":[{"name":"artifactPath","type":"string","internalType":"string"}],"outputs":[{"name":"runtimeBytecode","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getLabel","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"currentLabel","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"getMappingKeyAndParentOf","inputs":[{"name":"target","type":"address","internalType":"address"},{"name":"elementSlot","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"found","type":"bool","internalType":"bool"},{"name":"key","type":"bytes32","internalType":"bytes32"},{"name":"parent","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"getMappingLength","inputs":[{"name":"target","type":"address","internalType":"address"},{"name":"mappingSlot","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"length","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"getMappingSlotAt","inputs":[{"name":"target","type":"address","internalType":"address"},{"name":"mappingSlot","type":"bytes32","internalType":"bytes32"},{"name":"idx","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"value","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"getNonce","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"nonce","type":"uint64","internalType":"uint64"}],"stateMutability":"view"},{"type":"function","name":"getNonce","inputs":[{"name":"wallet","type":"tuple","internalType":"struct VmSafe.Wallet","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"publicKeyX","type":"uint256","internalType":"uint256"},{"name":"publicKeyY","type":"uint256","internalType":"uint256"},{"name":"privateKey","type":"uint256","internalType":"uint256"}]}],"outputs":[{"name":"nonce","type":"uint64","internalType":"uint64"}],"stateMutability":"nonpayable"},{"type":"function","name":"getRecordedLogs","inputs":[],"outputs":[{"name":"logs","type":"tuple[]","internalType":"struct VmSafe.Log[]","components":[{"name":"topics","type":"bytes32[]","internalType":"bytes32[]"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"emitter","type":"address","internalType":"address"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"indexOf","inputs":[{"name":"input","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"isContext","inputs":[{"name":"context","type":"uint8","internalType":"enum VmSafe.ForgeContext"}],"outputs":[{"name":"result","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isDir","inputs":[{"name":"path","type":"string","internalType":"string"}],"outputs":[{"name":"result","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"isFile","inputs":[{"name":"path","type":"string","internalType":"string"}],"outputs":[{"name":"result","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"keyExists","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"keyExistsJson","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"keyExistsToml","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"label","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"newLabel","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"lastCallGas","inputs":[],"outputs":[{"name":"gas","type":"tuple","internalType":"struct VmSafe.Gas","components":[{"name":"gasLimit","type":"uint64","internalType":"uint64"},{"name":"gasTotalUsed","type":"uint64","internalType":"uint64"},{"name":"gasMemoryUsed","type":"uint64","internalType":"uint64"},{"name":"gasRefunded","type":"int64","internalType":"int64"},{"name":"gasRemaining","type":"uint64","internalType":"uint64"}]}],"stateMutability":"view"},{"type":"function","name":"load","inputs":[{"name":"target","type":"address","internalType":"address"},{"name":"slot","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"data","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"parseAddress","inputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"outputs":[{"name":"parsedValue","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"parseBool","inputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"outputs":[{"name":"parsedValue","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"function","name":"parseBytes","inputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"outputs":[{"name":"parsedValue","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseBytes32","inputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"outputs":[{"name":"parsedValue","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"parseInt","inputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"outputs":[{"name":"parsedValue","type":"int256","internalType":"int256"}],"stateMutability":"pure"},{"type":"function","name":"parseJson","inputs":[{"name":"json","type":"string","internalType":"string"}],"outputs":[{"name":"abiEncodedData","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseJson","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"abiEncodedData","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonAddress","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonAddressArray","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonBool","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonBoolArray","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bool[]","internalType":"bool[]"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonBytes","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonBytes32","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonBytes32Array","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonBytesArray","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonInt","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"int256","internalType":"int256"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonIntArray","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"int256[]","internalType":"int256[]"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonKeys","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"keys","type":"string[]","internalType":"string[]"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonString","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonStringArray","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"string[]","internalType":"string[]"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonUint","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"parseJsonUintArray","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"pure"},{"type":"function","name":"parseToml","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"abiEncodedData","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseToml","inputs":[{"name":"toml","type":"string","internalType":"string"}],"outputs":[{"name":"abiEncodedData","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlAddress","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlAddressArray","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"address[]","internalType":"address[]"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlBool","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlBoolArray","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bool[]","internalType":"bool[]"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlBytes","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlBytes32","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlBytes32Array","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlBytesArray","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"bytes[]","internalType":"bytes[]"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlInt","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"int256","internalType":"int256"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlIntArray","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"int256[]","internalType":"int256[]"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlKeys","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"keys","type":"string[]","internalType":"string[]"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlString","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlStringArray","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"string[]","internalType":"string[]"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlUint","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"parseTomlUintArray","inputs":[{"name":"toml","type":"string","internalType":"string"},{"name":"key","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"pure"},{"type":"function","name":"parseUint","inputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"outputs":[{"name":"parsedValue","type":"uint256","internalType":"uint256"}],"stateMutability":"pure"},{"type":"function","name":"pauseGasMetering","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"projectRoot","inputs":[],"outputs":[{"name":"path","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"prompt","inputs":[{"name":"promptText","type":"string","internalType":"string"}],"outputs":[{"name":"input","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"promptAddress","inputs":[{"name":"promptText","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"promptSecret","inputs":[{"name":"promptText","type":"string","internalType":"string"}],"outputs":[{"name":"input","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"promptUint","inputs":[{"name":"promptText","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"readDir","inputs":[{"name":"path","type":"string","internalType":"string"},{"name":"maxDepth","type":"uint64","internalType":"uint64"}],"outputs":[{"name":"entries","type":"tuple[]","internalType":"struct VmSafe.DirEntry[]","components":[{"name":"errorMessage","type":"string","internalType":"string"},{"name":"path","type":"string","internalType":"string"},{"name":"depth","type":"uint64","internalType":"uint64"},{"name":"isDir","type":"bool","internalType":"bool"},{"name":"isSymlink","type":"bool","internalType":"bool"}]}],"stateMutability":"view"},{"type":"function","name":"readDir","inputs":[{"name":"path","type":"string","internalType":"string"},{"name":"maxDepth","type":"uint64","internalType":"uint64"},{"name":"followLinks","type":"bool","internalType":"bool"}],"outputs":[{"name":"entries","type":"tuple[]","internalType":"struct VmSafe.DirEntry[]","components":[{"name":"errorMessage","type":"string","internalType":"string"},{"name":"path","type":"string","internalType":"string"},{"name":"depth","type":"uint64","internalType":"uint64"},{"name":"isDir","type":"bool","internalType":"bool"},{"name":"isSymlink","type":"bool","internalType":"bool"}]}],"stateMutability":"view"},{"type":"function","name":"readDir","inputs":[{"name":"path","type":"string","internalType":"string"}],"outputs":[{"name":"entries","type":"tuple[]","internalType":"struct VmSafe.DirEntry[]","components":[{"name":"errorMessage","type":"string","internalType":"string"},{"name":"path","type":"string","internalType":"string"},{"name":"depth","type":"uint64","internalType":"uint64"},{"name":"isDir","type":"bool","internalType":"bool"},{"name":"isSymlink","type":"bool","internalType":"bool"}]}],"stateMutability":"view"},{"type":"function","name":"readFile","inputs":[{"name":"path","type":"string","internalType":"string"}],"outputs":[{"name":"data","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"readFileBinary","inputs":[{"name":"path","type":"string","internalType":"string"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"readLine","inputs":[{"name":"path","type":"string","internalType":"string"}],"outputs":[{"name":"line","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"readLink","inputs":[{"name":"linkPath","type":"string","internalType":"string"}],"outputs":[{"name":"targetPath","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"record","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"recordLogs","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"rememberKey","inputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"keyAddr","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"removeDir","inputs":[{"name":"path","type":"string","internalType":"string"},{"name":"recursive","type":"bool","internalType":"bool"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"removeFile","inputs":[{"name":"path","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"replace","inputs":[{"name":"input","type":"string","internalType":"string"},{"name":"from","type":"string","internalType":"string"},{"name":"to","type":"string","internalType":"string"}],"outputs":[{"name":"output","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"resumeGasMetering","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"rpc","inputs":[{"name":"method","type":"string","internalType":"string"},{"name":"params","type":"string","internalType":"string"}],"outputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"stateMutability":"nonpayable"},{"type":"function","name":"rpcUrl","inputs":[{"name":"rpcAlias","type":"string","internalType":"string"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"rpcUrlStructs","inputs":[],"outputs":[{"name":"urls","type":"tuple[]","internalType":"struct VmSafe.Rpc[]","components":[{"name":"key","type":"string","internalType":"string"},{"name":"url","type":"string","internalType":"string"}]}],"stateMutability":"view"},{"type":"function","name":"rpcUrls","inputs":[],"outputs":[{"name":"urls","type":"string[2][]","internalType":"string[2][]"}],"stateMutability":"view"},{"type":"function","name":"serializeAddress","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"values","type":"address[]","internalType":"address[]"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeAddress","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"value","type":"address","internalType":"address"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeBool","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"values","type":"bool[]","internalType":"bool[]"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeBool","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"value","type":"bool","internalType":"bool"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeBytes","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"values","type":"bytes[]","internalType":"bytes[]"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeBytes","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"value","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeBytes32","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"values","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeBytes32","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"value","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeInt","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"value","type":"int256","internalType":"int256"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeInt","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"values","type":"int256[]","internalType":"int256[]"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeJson","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"value","type":"string","internalType":"string"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeString","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"values","type":"string[]","internalType":"string[]"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeString","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"value","type":"string","internalType":"string"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeUint","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeUint","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"values","type":"uint256[]","internalType":"uint256[]"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"serializeUintToHex","inputs":[{"name":"objectKey","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"json","type":"string","internalType":"string"}],"stateMutability":"nonpayable"},{"type":"function","name":"setEnv","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"value","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"sign","inputs":[{"name":"digest","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"sign","inputs":[{"name":"signer","type":"address","internalType":"address"},{"name":"digest","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"sign","inputs":[{"name":"wallet","type":"tuple","internalType":"struct VmSafe.Wallet","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"publicKeyX","type":"uint256","internalType":"uint256"},{"name":"publicKeyY","type":"uint256","internalType":"uint256"},{"name":"privateKey","type":"uint256","internalType":"uint256"}]},{"name":"digest","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"stateMutability":"nonpayable"},{"type":"function","name":"sign","inputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"},{"name":"digest","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"signP256","inputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"},{"name":"digest","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"sleep","inputs":[{"name":"duration","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"split","inputs":[{"name":"input","type":"string","internalType":"string"},{"name":"delimiter","type":"string","internalType":"string"}],"outputs":[{"name":"outputs","type":"string[]","internalType":"string[]"}],"stateMutability":"pure"},{"type":"function","name":"startBroadcast","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"startBroadcast","inputs":[{"name":"signer","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"startBroadcast","inputs":[{"name":"privateKey","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"startMappingRecording","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"startStateDiffRecording","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"stopAndReturnStateDiff","inputs":[],"outputs":[{"name":"accountAccesses","type":"tuple[]","internalType":"struct VmSafe.AccountAccess[]","components":[{"name":"chainInfo","type":"tuple","internalType":"struct VmSafe.ChainInfo","components":[{"name":"forkId","type":"uint256","internalType":"uint256"},{"name":"chainId","type":"uint256","internalType":"uint256"}]},{"name":"kind","type":"uint8","internalType":"enum VmSafe.AccountAccessKind"},{"name":"account","type":"address","internalType":"address"},{"name":"accessor","type":"address","internalType":"address"},{"name":"initialized","type":"bool","internalType":"bool"},{"name":"oldBalance","type":"uint256","internalType":"uint256"},{"name":"newBalance","type":"uint256","internalType":"uint256"},{"name":"deployedCode","type":"bytes","internalType":"bytes"},{"name":"value","type":"uint256","internalType":"uint256"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"reverted","type":"bool","internalType":"bool"},{"name":"storageAccesses","type":"tuple[]","internalType":"struct VmSafe.StorageAccess[]","components":[{"name":"account","type":"address","internalType":"address"},{"name":"slot","type":"bytes32","internalType":"bytes32"},{"name":"isWrite","type":"bool","internalType":"bool"},{"name":"previousValue","type":"bytes32","internalType":"bytes32"},{"name":"newValue","type":"bytes32","internalType":"bytes32"},{"name":"reverted","type":"bool","internalType":"bool"}]},{"name":"depth","type":"uint64","internalType":"uint64"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"stopBroadcast","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"stopMappingRecording","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"toBase64","inputs":[{"name":"data","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toBase64","inputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toBase64URL","inputs":[{"name":"data","type":"string","internalType":"string"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toBase64URL","inputs":[{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toLowercase","inputs":[{"name":"input","type":"string","internalType":"string"}],"outputs":[{"name":"output","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toString","inputs":[{"name":"value","type":"address","internalType":"address"}],"outputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toString","inputs":[{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toString","inputs":[{"name":"value","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toString","inputs":[{"name":"value","type":"bool","internalType":"bool"}],"outputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toString","inputs":[{"name":"value","type":"int256","internalType":"int256"}],"outputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toString","inputs":[{"name":"value","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"stringifiedValue","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"toUppercase","inputs":[{"name":"input","type":"string","internalType":"string"}],"outputs":[{"name":"output","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"trim","inputs":[{"name":"input","type":"string","internalType":"string"}],"outputs":[{"name":"output","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"tryFfi","inputs":[{"name":"commandInput","type":"string[]","internalType":"string[]"}],"outputs":[{"name":"result","type":"tuple","internalType":"struct VmSafe.FfiResult","components":[{"name":"exitCode","type":"int32","internalType":"int32"},{"name":"stdout","type":"bytes","internalType":"bytes"},{"name":"stderr","type":"bytes","internalType":"bytes"}]}],"stateMutability":"nonpayable"},{"type":"function","name":"unixTime","inputs":[],"outputs":[{"name":"milliseconds","type":"uint256","internalType":"uint256"}],"stateMutability":"nonpayable"},{"type":"function","name":"writeFile","inputs":[{"name":"path","type":"string","internalType":"string"},{"name":"data","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"writeFileBinary","inputs":[{"name":"path","type":"string","internalType":"string"},{"name":"data","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"writeJson","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"path","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"writeJson","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"path","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"writeLine","inputs":[{"name":"path","type":"string","internalType":"string"},{"name":"data","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"writeToml","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"path","type":"string","internalType":"string"},{"name":"valueKey","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"writeToml","inputs":[{"name":"json","type":"string","internalType":"string"},{"name":"path","type":"string","internalType":"string"}],"outputs":[],"stateMutability":"nonpayable"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"accesses(address)":"65bc9481","addr(uint256)":"ffa18649","assertApproxEqAbs(int256,int256,uint256)":"240f839d","assertApproxEqAbs(int256,int256,uint256,string)":"8289e621","assertApproxEqAbs(uint256,uint256,uint256)":"16d207c6","assertApproxEqAbs(uint256,uint256,uint256,string)":"f710b062","assertApproxEqAbsDecimal(int256,int256,uint256,uint256)":"3d5bc8bc","assertApproxEqAbsDecimal(int256,int256,uint256,uint256,string)":"6a5066d4","assertApproxEqAbsDecimal(uint256,uint256,uint256,uint256)":"045c55ce","assertApproxEqAbsDecimal(uint256,uint256,uint256,uint256,string)":"60429eb2","assertApproxEqRel(int256,int256,uint256)":"fea2d14f","assertApproxEqRel(int256,int256,uint256,string)":"ef277d72","assertApproxEqRel(uint256,uint256,uint256)":"8cf25ef4","assertApproxEqRel(uint256,uint256,uint256,string)":"1ecb7d33","assertApproxEqRelDecimal(int256,int256,uint256,uint256)":"abbf21cc","assertApproxEqRelDecimal(int256,int256,uint256,uint256,string)":"fccc11c4","assertApproxEqRelDecimal(uint256,uint256,uint256,uint256)":"21ed2977","assertApproxEqRelDecimal(uint256,uint256,uint256,uint256,string)":"82d6c8fd","assertEq(address,address)":"515361f6","assertEq(address,address,string)":"2f2769d1","assertEq(address[],address[])":"3868ac34","assertEq(address[],address[],string)":"3e9173c5","assertEq(bool,bool)":"f7fe3477","assertEq(bool,bool,string)":"4db19e7e","assertEq(bool[],bool[])":"707df785","assertEq(bool[],bool[],string)":"e48a8f8d","assertEq(bytes,bytes)":"97624631","assertEq(bytes,bytes,string)":"e24fed00","assertEq(bytes32,bytes32)":"7c84c69b","assertEq(bytes32,bytes32,string)":"c1fa1ed0","assertEq(bytes32[],bytes32[])":"0cc9ee84","assertEq(bytes32[],bytes32[],string)":"e03e9177","assertEq(bytes[],bytes[])":"e5fb9b4a","assertEq(bytes[],bytes[],string)":"f413f0b6","assertEq(int256,int256)":"fe74f05b","assertEq(int256,int256,string)":"714a2f13","assertEq(int256[],int256[])":"711043ac","assertEq(int256[],int256[],string)":"191f1b30","assertEq(string,string)":"f320d963","assertEq(string,string,string)":"36f656d8","assertEq(string[],string[])":"cf1c049c","assertEq(string[],string[],string)":"eff6b27d","assertEq(uint256,uint256)":"98296c54","assertEq(uint256,uint256,string)":"88b44c85","assertEq(uint256[],uint256[])":"975d5a12","assertEq(uint256[],uint256[],string)":"5d18c73a","assertEqDecimal(int256,int256,uint256)":"48016c04","assertEqDecimal(int256,int256,uint256,string)":"7e77b0c5","assertEqDecimal(uint256,uint256,uint256)":"27af7d9c","assertEqDecimal(uint256,uint256,uint256,string)":"d0cbbdef","assertFalse(bool)":"a5982885","assertFalse(bool,string)":"7ba04809","assertGe(int256,int256)":"0a30b771","assertGe(int256,int256,string)":"a84328dd","assertGe(uint256,uint256)":"a8d4d1d9","assertGe(uint256,uint256,string)":"e25242c0","assertGeDecimal(int256,int256,uint256)":"dc28c0f1","assertGeDecimal(int256,int256,uint256,string)":"5df93c9b","assertGeDecimal(uint256,uint256,uint256)":"3d1fe08a","assertGeDecimal(uint256,uint256,uint256,string)":"8bff9133","assertGt(int256,int256)":"5a362d45","assertGt(int256,int256,string)":"f8d33b9b","assertGt(uint256,uint256)":"db07fcd2","assertGt(uint256,uint256,string)":"d9a3c4d2","assertGtDecimal(int256,int256,uint256)":"78611f0e","assertGtDecimal(int256,int256,uint256,string)":"04a5c7ab","assertGtDecimal(uint256,uint256,uint256)":"eccd2437","assertGtDecimal(uint256,uint256,uint256,string)":"64949a8d","assertLe(int256,int256)":"95fd154e","assertLe(int256,int256,string)":"4dfe692c","assertLe(uint256,uint256)":"8466f415","assertLe(uint256,uint256,string)":"d17d4b0d","assertLeDecimal(int256,int256,uint256)":"11d1364a","assertLeDecimal(int256,int256,uint256,string)":"aa5cf788","assertLeDecimal(uint256,uint256,uint256)":"c304aab7","assertLeDecimal(uint256,uint256,uint256,string)":"7fefbbe0","assertLt(int256,int256)":"3e914080","assertLt(int256,int256,string)":"9ff531e3","assertLt(uint256,uint256)":"b12fc005","assertLt(uint256,uint256,string)":"65d5c135","assertLtDecimal(int256,int256,uint256)":"dbe8d88b","assertLtDecimal(int256,int256,uint256,string)":"40f0b4e0","assertLtDecimal(uint256,uint256,uint256)":"2077337e","assertLtDecimal(uint256,uint256,uint256,string)":"a972d037","assertNotEq(address,address)":"b12e1694","assertNotEq(address,address,string)":"8775a591","assertNotEq(address[],address[])":"46d0b252","assertNotEq(address[],address[],string)":"72c7e0b5","assertNotEq(bool,bool)":"236e4d66","assertNotEq(bool,bool,string)":"1091a261","assertNotEq(bool[],bool[])":"286fafea","assertNotEq(bool[],bool[],string)":"62c6f9fb","assertNotEq(bytes,bytes)":"3cf78e28","assertNotEq(bytes,bytes,string)":"9507540e","assertNotEq(bytes32,bytes32)":"898e83fc","assertNotEq(bytes32,bytes32,string)":"b2332f51","assertNotEq(bytes32[],bytes32[])":"0603ea68","assertNotEq(bytes32[],bytes32[],string)":"b873634c","assertNotEq(bytes[],bytes[])":"edecd035","assertNotEq(bytes[],bytes[],string)":"1dcd1f68","assertNotEq(int256,int256)":"f4c004e3","assertNotEq(int256,int256,string)":"4724c5b9","assertNotEq(int256[],int256[])":"0b72f4ef","assertNotEq(int256[],int256[],string)":"d3977322","assertNotEq(string,string)":"6a8237b3","assertNotEq(string,string,string)":"78bdcea7","assertNotEq(string[],string[])":"bdfacbe8","assertNotEq(string[],string[],string)":"b67187f3","assertNotEq(uint256,uint256)":"b7909320","assertNotEq(uint256,uint256,string)":"98f9bdbd","assertNotEq(uint256[],uint256[])":"56f29cba","assertNotEq(uint256[],uint256[],string)":"9a7fbd8f","assertNotEqDecimal(int256,int256,uint256)":"14e75680","assertNotEqDecimal(int256,int256,uint256,string)":"33949f0b","assertNotEqDecimal(uint256,uint256,uint256)":"669efca7","assertNotEqDecimal(uint256,uint256,uint256,string)":"f5a55558","assertTrue(bool)":"0c9fd581","assertTrue(bool,string)":"a34edc03","assume(bool)":"4c63e562","breakpoint(string)":"f0259e92","breakpoint(string,bool)":"f7d39a8d","broadcast()":"afc98040","broadcast(address)":"e6962cdb","broadcast(uint256)":"f67a965b","closeFile(string)":"48c3241f","computeCreate2Address(bytes32,bytes32)":"890c283b","computeCreate2Address(bytes32,bytes32,address)":"d323826a","computeCreateAddress(address,uint256)":"74637a7a","copyFile(string,string)":"a54a87d8","createDir(string,bool)":"168b64d3","createWallet(string)":"7404f1d2","createWallet(uint256)":"7a675bb6","createWallet(uint256,string)":"ed7c5462","deriveKey(string,string,uint32)":"6bcb2c1b","deriveKey(string,string,uint32,string)":"29233b1f","deriveKey(string,uint32)":"6229498b","deriveKey(string,uint32,string)":"32c8176d","envAddress(string)":"350d56bf","envAddress(string,string)":"ad31b9fa","envBool(string)":"7ed1ec7d","envBool(string,string)":"aaaddeaf","envBytes(string)":"4d7baf06","envBytes(string,string)":"ddc2651b","envBytes32(string)":"97949042","envBytes32(string,string)":"5af231c1","envExists(string)":"ce8365f9","envInt(string)":"892a0c61","envInt(string,string)":"42181150","envOr(string,address)":"561fe540","envOr(string,bool)":"4777f3cf","envOr(string,bytes)":"b3e47705","envOr(string,bytes32)":"b4a85892","envOr(string,int256)":"bbcb713e","envOr(string,string)":"d145736c","envOr(string,string,address[])":"c74e9deb","envOr(string,string,bool[])":"eb85e83b","envOr(string,string,bytes32[])":"2281f367","envOr(string,string,bytes[])":"64bc3e64","envOr(string,string,int256[])":"4700d74b","envOr(string,string,string[])":"859216bc","envOr(string,string,uint256[])":"74318528","envOr(string,uint256)":"5e97348f","envString(string)":"f877cb19","envString(string,string)":"14b02bc9","envUint(string)":"c1978d1f","envUint(string,string)":"f3dec099","eth_getLogs(uint256,uint256,address,bytes32[])":"35e1349b","exists(string)":"261a323e","ffi(string[])":"89160467","fsMetadata(string)":"af368a08","getBlobBaseFee()":"1f6d6ef7","getBlockNumber()":"42cbb15c","getBlockTimestamp()":"796b89b9","getCode(string)":"8d1cc925","getDeployedCode(string)":"3ebf73b4","getLabel(address)":"28a249b0","getMappingKeyAndParentOf(address,bytes32)":"876e24e6","getMappingLength(address,bytes32)":"2f2fd63f","getMappingSlotAt(address,bytes32,uint256)":"ebc73ab4","getNonce((address,uint256,uint256,uint256))":"a5748aad","getNonce(address)":"2d0335ab","getRecordedLogs()":"191553a4","indexOf(string,string)":"8a0807b7","isContext(uint8)":"64af255d","isDir(string)":"7d15d019","isFile(string)":"e0eb04d4","keyExists(string,string)":"528a683c","keyExistsJson(string,string)":"db4235f6","keyExistsToml(string,string)":"600903ad","label(address,string)":"c657c718","lastCallGas()":"2b589b28","load(address,bytes32)":"667f9d70","parseAddress(string)":"c6ce059d","parseBool(string)":"974ef924","parseBytes(string)":"8f5d232d","parseBytes32(string)":"087e6e81","parseInt(string)":"42346c5e","parseJson(string)":"6a82600a","parseJson(string,string)":"85940ef1","parseJsonAddress(string,string)":"1e19e657","parseJsonAddressArray(string,string)":"2fce7883","parseJsonBool(string,string)":"9f86dc91","parseJsonBoolArray(string,string)":"91f3b94f","parseJsonBytes(string,string)":"fd921be8","parseJsonBytes32(string,string)":"1777e59d","parseJsonBytes32Array(string,string)":"91c75bc3","parseJsonBytesArray(string,string)":"6631aa99","parseJsonInt(string,string)":"7b048ccd","parseJsonIntArray(string,string)":"9983c28a","parseJsonKeys(string,string)":"213e4198","parseJsonString(string,string)":"49c4fac8","parseJsonStringArray(string,string)":"498fdcf4","parseJsonUint(string,string)":"addde2b6","parseJsonUintArray(string,string)":"522074ab","parseToml(string)":"592151f0","parseToml(string,string)":"37736e08","parseTomlAddress(string,string)":"65e7c844","parseTomlAddressArray(string,string)":"65c428e7","parseTomlBool(string,string)":"d30dced6","parseTomlBoolArray(string,string)":"127cfe9a","parseTomlBytes(string,string)":"d77bfdb9","parseTomlBytes32(string,string)":"8e214810","parseTomlBytes32Array(string,string)":"3e716f81","parseTomlBytesArray(string,string)":"b197c247","parseTomlInt(string,string)":"c1350739","parseTomlIntArray(string,string)":"d3522ae6","parseTomlKeys(string,string)":"812a44b2","parseTomlString(string,string)":"8bb8dd43","parseTomlStringArray(string,string)":"9f629281","parseTomlUint(string,string)":"cc7b0487","parseTomlUintArray(string,string)":"b5df27c8","parseUint(string)":"fa91454d","pauseGasMetering()":"d1a5b36f","projectRoot()":"d930a0e6","prompt(string)":"47eaf474","promptAddress(string)":"62ee05f4","promptSecret(string)":"1e279d41","promptUint(string)":"652fd489","readDir(string)":"c4bc59e0","readDir(string,uint64)":"1497876c","readDir(string,uint64,bool)":"8102d70d","readFile(string)":"60f9bb11","readFileBinary(string)":"16ed7bc4","readLine(string)":"70f55728","readLink(string)":"9f5684a2","record()":"266cf109","recordLogs()":"41af2f52","rememberKey(uint256)":"22100064","removeDir(string,bool)":"45c62011","removeFile(string)":"f1afe04d","replace(string,string,string)":"e00ad03e","resumeGasMetering()":"2bcd50e0","rpc(string,string)":"1206c8a8","rpcUrl(string)":"975a6ce9","rpcUrlStructs()":"9d2ad72a","rpcUrls()":"a85a8418","serializeAddress(string,string,address)":"972c6062","serializeAddress(string,string,address[])":"1e356e1a","serializeBool(string,string,bool)":"ac22e971","serializeBool(string,string,bool[])":"92925aa1","serializeBytes(string,string,bytes)":"f21d52c7","serializeBytes(string,string,bytes[])":"9884b232","serializeBytes32(string,string,bytes32)":"2d812b44","serializeBytes32(string,string,bytes32[])":"201e43e2","serializeInt(string,string,int256)":"3f33db60","serializeInt(string,string,int256[])":"7676e127","serializeJson(string,string)":"9b3358b0","serializeString(string,string,string)":"88da6d35","serializeString(string,string,string[])":"561cd6f3","serializeUint(string,string,uint256)":"129e9002","serializeUint(string,string,uint256[])":"fee9a469","serializeUintToHex(string,string,uint256)":"ae5a2ae8","setEnv(string,string)":"3d5923ee","sign((address,uint256,uint256,uint256),bytes32)":"b25c5a25","sign(address,bytes32)":"8c1aa205","sign(bytes32)":"799cd333","sign(uint256,bytes32)":"e341eaa4","signP256(uint256,bytes32)":"83211b40","sleep(uint256)":"fa9d8713","split(string,string)":"8bb75533","startBroadcast()":"7fb5297f","startBroadcast(address)":"7fec2a8d","startBroadcast(uint256)":"ce817d47","startMappingRecording()":"3e9705c0","startStateDiffRecording()":"cf22e3c9","stopAndReturnStateDiff()":"aa5cf90e","stopBroadcast()":"76eadd36","stopMappingRecording()":"0d4aae9b","toBase64(bytes)":"a5cbfe65","toBase64(string)":"3f8be2c8","toBase64URL(bytes)":"c8bd0e4a","toBase64URL(string)":"ae3165b3","toLowercase(string)":"50bb0884","toString(address)":"56ca623e","toString(bool)":"71dce7da","toString(bytes)":"71aad10d","toString(bytes32)":"b11a19e8","toString(int256)":"a322c40e","toString(uint256)":"6900a3ae","toUppercase(string)":"074ae3d7","trim(string)":"b2dad155","tryFfi(string[])":"f45c1ce7","unixTime()":"625387dc","writeFile(string,string)":"897e0a97","writeFileBinary(string,bytes)":"1f21fc80","writeJson(string,string)":"e23cd19f","writeJson(string,string,string)":"35d6ad46","writeLine(string,string)":"619d897f","writeToml(string,string)":"c0865ba7","writeToml(string,string,string)":"51ac6a33"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.15+commit.e14f2714\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"accesses\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"readSlots\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"writeSlots\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"addr\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"keyAddr\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxDelta\",\"type\":\"uint256\"}],\"name\":\"assertApproxEqAbs\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"maxDelta\",\"type\":\"uint256\"}],\"name\":\"assertApproxEqAbs\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"maxDelta\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertApproxEqAbs\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxDelta\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertApproxEqAbs\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxDelta\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertApproxEqAbsDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"maxDelta\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertApproxEqAbsDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxDelta\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertApproxEqAbsDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"maxDelta\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertApproxEqAbsDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxPercentDelta\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertApproxEqRel\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxPercentDelta\",\"type\":\"uint256\"}],\"name\":\"assertApproxEqRel\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"maxPercentDelta\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertApproxEqRel\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"maxPercentDelta\",\"type\":\"uint256\"}],\"name\":\"assertApproxEqRel\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxPercentDelta\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertApproxEqRelDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxPercentDelta\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertApproxEqRelDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"maxPercentDelta\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertApproxEqRelDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"maxPercentDelta\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertApproxEqRelDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"left\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"right\",\"type\":\"bytes32[]\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256[]\",\"name\":\"left\",\"type\":\"int256[]\"},{\"internalType\":\"int256[]\",\"name\":\"right\",\"type\":\"int256[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"left\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"right\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"left\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"right\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"left\",\"type\":\"address[]\"},{\"internalType\":\"address[]\",\"name\":\"right\",\"type\":\"address[]\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"left\",\"type\":\"address[]\"},{\"internalType\":\"address[]\",\"name\":\"right\",\"type\":\"address[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"left\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"right\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"left\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"right\",\"type\":\"address\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"left\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"right\",\"type\":\"uint256[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool[]\",\"name\":\"left\",\"type\":\"bool[]\"},{\"internalType\":\"bool[]\",\"name\":\"right\",\"type\":\"bool[]\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256[]\",\"name\":\"left\",\"type\":\"int256[]\"},{\"internalType\":\"int256[]\",\"name\":\"right\",\"type\":\"int256[]\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"left\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"right\",\"type\":\"bytes32\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"left\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"right\",\"type\":\"uint256[]\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"left\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"right\",\"type\":\"bytes\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"left\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"right\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string[]\",\"name\":\"left\",\"type\":\"string[]\"},{\"internalType\":\"string[]\",\"name\":\"right\",\"type\":\"string[]\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"left\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"right\",\"type\":\"bytes32[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"left\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"right\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool[]\",\"name\":\"left\",\"type\":\"bool[]\"},{\"internalType\":\"bool[]\",\"name\":\"right\",\"type\":\"bool[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes[]\",\"name\":\"left\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes[]\",\"name\":\"right\",\"type\":\"bytes[]\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string[]\",\"name\":\"left\",\"type\":\"string[]\"},{\"internalType\":\"string[]\",\"name\":\"right\",\"type\":\"string[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"left\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"right\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes[]\",\"name\":\"left\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes[]\",\"name\":\"right\",\"type\":\"bytes[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"left\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"right\",\"type\":\"bool\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"}],\"name\":\"assertEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertEqDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertEqDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEqDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertEqDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"condition\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertFalse\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"condition\",\"type\":\"bool\"}],\"name\":\"assertFalse\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"}],\"name\":\"assertGe\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertGe\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"}],\"name\":\"assertGe\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertGe\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertGeDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertGeDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertGeDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertGeDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"}],\"name\":\"assertGt\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertGt\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"}],\"name\":\"assertGt\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertGt\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertGtDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertGtDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertGtDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertGtDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertLe\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"}],\"name\":\"assertLe\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"}],\"name\":\"assertLe\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertLe\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertLeDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertLeDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertLeDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertLeDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"}],\"name\":\"assertLt\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertLt\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertLt\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"}],\"name\":\"assertLt\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertLtDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertLtDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertLtDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertLtDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"left\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"right\",\"type\":\"bytes32[]\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256[]\",\"name\":\"left\",\"type\":\"int256[]\"},{\"internalType\":\"int256[]\",\"name\":\"right\",\"type\":\"int256[]\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"left\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"right\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes[]\",\"name\":\"left\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes[]\",\"name\":\"right\",\"type\":\"bytes[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"left\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"right\",\"type\":\"bool\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool[]\",\"name\":\"left\",\"type\":\"bool[]\"},{\"internalType\":\"bool[]\",\"name\":\"right\",\"type\":\"bool[]\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"left\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"right\",\"type\":\"bytes\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"left\",\"type\":\"address[]\"},{\"internalType\":\"address[]\",\"name\":\"right\",\"type\":\"address[]\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"left\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"right\",\"type\":\"uint256[]\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool[]\",\"name\":\"left\",\"type\":\"bool[]\"},{\"internalType\":\"bool[]\",\"name\":\"right\",\"type\":\"bool[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"left\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"right\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address[]\",\"name\":\"left\",\"type\":\"address[]\"},{\"internalType\":\"address[]\",\"name\":\"right\",\"type\":\"address[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"left\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"right\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"left\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"right\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"left\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"right\",\"type\":\"bytes32\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"left\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"right\",\"type\":\"bytes\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256[]\",\"name\":\"left\",\"type\":\"uint256[]\"},{\"internalType\":\"uint256[]\",\"name\":\"right\",\"type\":\"uint256[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"left\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"right\",\"type\":\"address\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"left\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"right\",\"type\":\"bytes32\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string[]\",\"name\":\"left\",\"type\":\"string[]\"},{\"internalType\":\"string[]\",\"name\":\"right\",\"type\":\"string[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"left\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes32[]\",\"name\":\"right\",\"type\":\"bytes32[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string[]\",\"name\":\"left\",\"type\":\"string[]\"},{\"internalType\":\"string[]\",\"name\":\"right\",\"type\":\"string[]\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256[]\",\"name\":\"left\",\"type\":\"int256[]\"},{\"internalType\":\"int256[]\",\"name\":\"right\",\"type\":\"int256[]\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes[]\",\"name\":\"left\",\"type\":\"bytes[]\"},{\"internalType\":\"bytes[]\",\"name\":\"right\",\"type\":\"bytes[]\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"}],\"name\":\"assertNotEq\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertNotEqDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"left\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"right\",\"type\":\"int256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEqDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"assertNotEqDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"left\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"right\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertNotEqDecimal\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"condition\",\"type\":\"bool\"}],\"name\":\"assertTrue\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"condition\",\"type\":\"bool\"},{\"internalType\":\"string\",\"name\":\"error\",\"type\":\"string\"}],\"name\":\"assertTrue\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"condition\",\"type\":\"bool\"}],\"name\":\"assume\",\"outputs\":[],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"char\",\"type\":\"string\"}],\"name\":\"breakpoint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"char\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"name\":\"breakpoint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"broadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"}],\"name\":\"broadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"broadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"closeFile\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"initCodeHash\",\"type\":\"bytes32\"}],\"name\":\"computeCreate2Address\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"initCodeHash\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"deployer\",\"type\":\"address\"}],\"name\":\"computeCreate2Address\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"deployer\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"nonce\",\"type\":\"uint256\"}],\"name\":\"computeCreateAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"from\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"to\",\"type\":\"string\"}],\"name\":\"copyFile\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"copied\",\"type\":\"uint64\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"recursive\",\"type\":\"bool\"}],\"name\":\"createDir\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"walletLabel\",\"type\":\"string\"}],\"name\":\"createWallet\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyX\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyY\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"internalType\":\"struct VmSafe.Wallet\",\"name\":\"wallet\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"createWallet\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyX\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyY\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"internalType\":\"struct VmSafe.Wallet\",\"name\":\"wallet\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"},{\"internalType\":\"string\",\"name\":\"walletLabel\",\"type\":\"string\"}],\"name\":\"createWallet\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyX\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyY\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"internalType\":\"struct VmSafe.Wallet\",\"name\":\"wallet\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"mnemonic\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"derivationPath\",\"type\":\"string\"},{\"internalType\":\"uint32\",\"name\":\"index\",\"type\":\"uint32\"},{\"internalType\":\"string\",\"name\":\"language\",\"type\":\"string\"}],\"name\":\"deriveKey\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"mnemonic\",\"type\":\"string\"},{\"internalType\":\"uint32\",\"name\":\"index\",\"type\":\"uint32\"},{\"internalType\":\"string\",\"name\":\"language\",\"type\":\"string\"}],\"name\":\"deriveKey\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"mnemonic\",\"type\":\"string\"},{\"internalType\":\"uint32\",\"name\":\"index\",\"type\":\"uint32\"}],\"name\":\"deriveKey\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"mnemonic\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"derivationPath\",\"type\":\"string\"},{\"internalType\":\"uint32\",\"name\":\"index\",\"type\":\"uint32\"}],\"name\":\"deriveKey\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"value\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envAddress\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"value\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envBool\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envBool\",\"outputs\":[{\"internalType\":\"bool[]\",\"name\":\"value\",\"type\":\"bool[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envBytes\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envBytes\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"value\",\"type\":\"bytes[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envBytes32\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"value\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envBytes32\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"value\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envExists\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"result\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envInt\",\"outputs\":[{\"internalType\":\"int256[]\",\"name\":\"value\",\"type\":\"int256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envInt\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"value\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"bytes32[]\",\"name\":\"defaultValue\",\"type\":\"bytes32[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"value\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"int256[]\",\"name\":\"defaultValue\",\"type\":\"int256[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"int256[]\",\"name\":\"value\",\"type\":\"int256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"defaultValue\",\"type\":\"bool\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"defaultValue\",\"type\":\"address\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"value\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"defaultValue\",\"type\":\"uint256\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"bytes[]\",\"name\":\"defaultValue\",\"type\":\"bytes[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"value\",\"type\":\"bytes[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"uint256[]\",\"name\":\"defaultValue\",\"type\":\"uint256[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"value\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"string[]\",\"name\":\"defaultValue\",\"type\":\"string[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"value\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"defaultValue\",\"type\":\"bytes\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"bytes32\",\"name\":\"defaultValue\",\"type\":\"bytes32\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"value\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"int256\",\"name\":\"defaultValue\",\"type\":\"int256\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"value\",\"type\":\"int256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"address[]\",\"name\":\"defaultValue\",\"type\":\"address[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"value\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"defaultValue\",\"type\":\"string\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"},{\"internalType\":\"bool[]\",\"name\":\"defaultValue\",\"type\":\"bool[]\"}],\"name\":\"envOr\",\"outputs\":[{\"internalType\":\"bool[]\",\"name\":\"value\",\"type\":\"bool[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envString\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"value\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"}],\"name\":\"envUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delim\",\"type\":\"string\"}],\"name\":\"envUint\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"value\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"fromBlock\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"toBlock\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes32[]\",\"name\":\"topics\",\"type\":\"bytes32[]\"}],\"name\":\"eth_getLogs\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"emitter\",\"type\":\"address\"},{\"internalType\":\"bytes32[]\",\"name\":\"topics\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"bytes32\",\"name\":\"blockHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"blockNumber\",\"type\":\"uint64\"},{\"internalType\":\"bytes32\",\"name\":\"transactionHash\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"transactionIndex\",\"type\":\"uint64\"},{\"internalType\":\"uint256\",\"name\":\"logIndex\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"removed\",\"type\":\"bool\"}],\"internalType\":\"struct VmSafe.EthGetLogs[]\",\"name\":\"logs\",\"type\":\"tuple[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"exists\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"result\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string[]\",\"name\":\"commandInput\",\"type\":\"string[]\"}],\"name\":\"ffi\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"result\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"fsMetadata\",\"outputs\":[{\"components\":[{\"internalType\":\"bool\",\"name\":\"isDir\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isSymlink\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"readOnly\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"modified\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"accessed\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"created\",\"type\":\"uint256\"}],\"internalType\":\"struct VmSafe.FsMetadata\",\"name\":\"metadata\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBlobBaseFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"blobBaseFee\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBlockNumber\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"height\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getBlockTimestamp\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"artifactPath\",\"type\":\"string\"}],\"name\":\"getCode\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"creationBytecode\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"artifactPath\",\"type\":\"string\"}],\"name\":\"getDeployedCode\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"runtimeBytecode\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"getLabel\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"currentLabel\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"elementSlot\",\"type\":\"bytes32\"}],\"name\":\"getMappingKeyAndParentOf\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"found\",\"type\":\"bool\"},{\"internalType\":\"bytes32\",\"name\":\"key\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"parent\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"mappingSlot\",\"type\":\"bytes32\"}],\"name\":\"getMappingLength\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"length\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"mappingSlot\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"idx\",\"type\":\"uint256\"}],\"name\":\"getMappingSlotAt\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"value\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"getNonce\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyX\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyY\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"internalType\":\"struct VmSafe.Wallet\",\"name\":\"wallet\",\"type\":\"tuple\"}],\"name\":\"getNonce\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"nonce\",\"type\":\"uint64\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRecordedLogs\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32[]\",\"name\":\"topics\",\"type\":\"bytes32[]\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"address\",\"name\":\"emitter\",\"type\":\"address\"}],\"internalType\":\"struct VmSafe.Log[]\",\"name\":\"logs\",\"type\":\"tuple[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"input\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"indexOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"enum VmSafe.ForgeContext\",\"name\":\"context\",\"type\":\"uint8\"}],\"name\":\"isContext\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"result\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"isDir\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"result\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"isFile\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"result\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"keyExists\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"keyExistsJson\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"keyExistsToml\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"newLabel\",\"type\":\"string\"}],\"name\":\"label\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"lastCallGas\",\"outputs\":[{\"components\":[{\"internalType\":\"uint64\",\"name\":\"gasLimit\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"gasTotalUsed\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"gasMemoryUsed\",\"type\":\"uint64\"},{\"internalType\":\"int64\",\"name\":\"gasRefunded\",\"type\":\"int64\"},{\"internalType\":\"uint64\",\"name\":\"gasRemaining\",\"type\":\"uint64\"}],\"internalType\":\"struct VmSafe.Gas\",\"name\":\"gas\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"}],\"name\":\"load\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"data\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"parsedValue\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseBool\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"parsedValue\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseBytes\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"parsedValue\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseBytes32\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"parsedValue\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseInt\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"parsedValue\",\"type\":\"int256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"name\":\"parseJson\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"abiEncodedData\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJson\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"abiEncodedData\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonAddressArray\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonBool\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonBoolArray\",\"outputs\":[{\"internalType\":\"bool[]\",\"name\":\"\",\"type\":\"bool[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonBytes\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonBytes32\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonBytes32Array\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonBytesArray\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"\",\"type\":\"bytes[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonInt\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonIntArray\",\"outputs\":[{\"internalType\":\"int256[]\",\"name\":\"\",\"type\":\"int256[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonKeys\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"keys\",\"type\":\"string[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonStringArray\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"\",\"type\":\"string[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseJsonUintArray\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseToml\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"abiEncodedData\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"}],\"name\":\"parseToml\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"abiEncodedData\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlAddressArray\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"\",\"type\":\"address[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlBool\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlBoolArray\",\"outputs\":[{\"internalType\":\"bool[]\",\"name\":\"\",\"type\":\"bool[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlBytes\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlBytes32\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlBytes32Array\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlBytesArray\",\"outputs\":[{\"internalType\":\"bytes[]\",\"name\":\"\",\"type\":\"bytes[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlInt\",\"outputs\":[{\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlIntArray\",\"outputs\":[{\"internalType\":\"int256[]\",\"name\":\"\",\"type\":\"int256[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlKeys\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"keys\",\"type\":\"string[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlStringArray\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"\",\"type\":\"string[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"toml\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"}],\"name\":\"parseTomlUintArray\",\"outputs\":[{\"internalType\":\"uint256[]\",\"name\":\"\",\"type\":\"uint256[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"name\":\"parseUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"parsedValue\",\"type\":\"uint256\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"pauseGasMetering\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"projectRoot\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"promptText\",\"type\":\"string\"}],\"name\":\"prompt\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"input\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"promptText\",\"type\":\"string\"}],\"name\":\"promptAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"promptText\",\"type\":\"string\"}],\"name\":\"promptSecret\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"input\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"promptText\",\"type\":\"string\"}],\"name\":\"promptUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"maxDepth\",\"type\":\"uint64\"}],\"name\":\"readDir\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"errorMessage\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"depth\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"isDir\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isSymlink\",\"type\":\"bool\"}],\"internalType\":\"struct VmSafe.DirEntry[]\",\"name\":\"entries\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"maxDepth\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"followLinks\",\"type\":\"bool\"}],\"name\":\"readDir\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"errorMessage\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"depth\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"isDir\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isSymlink\",\"type\":\"bool\"}],\"internalType\":\"struct VmSafe.DirEntry[]\",\"name\":\"entries\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"readDir\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"errorMessage\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"uint64\",\"name\":\"depth\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"isDir\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"isSymlink\",\"type\":\"bool\"}],\"internalType\":\"struct VmSafe.DirEntry[]\",\"name\":\"entries\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"readFile\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"data\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"readFileBinary\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"readLine\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"line\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"linkPath\",\"type\":\"string\"}],\"name\":\"readLink\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"targetPath\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"record\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"recordLogs\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"rememberKey\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"keyAddr\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"recursive\",\"type\":\"bool\"}],\"name\":\"removeDir\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"removeFile\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"input\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"from\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"to\",\"type\":\"string\"}],\"name\":\"replace\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"output\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"resumeGasMetering\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"method\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"params\",\"type\":\"string\"}],\"name\":\"rpc\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"rpcAlias\",\"type\":\"string\"}],\"name\":\"rpcUrl\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"rpcUrlStructs\",\"outputs\":[{\"components\":[{\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"url\",\"type\":\"string\"}],\"internalType\":\"struct VmSafe.Rpc[]\",\"name\":\"urls\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"rpcUrls\",\"outputs\":[{\"internalType\":\"string[2][]\",\"name\":\"urls\",\"type\":\"string[2][]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"address[]\",\"name\":\"values\",\"type\":\"address[]\"}],\"name\":\"serializeAddress\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"value\",\"type\":\"address\"}],\"name\":\"serializeAddress\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bool[]\",\"name\":\"values\",\"type\":\"bool[]\"}],\"name\":\"serializeBool\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"name\":\"serializeBool\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bytes[]\",\"name\":\"values\",\"type\":\"bytes[]\"}],\"name\":\"serializeBytes\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"}],\"name\":\"serializeBytes\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bytes32[]\",\"name\":\"values\",\"type\":\"bytes32[]\"}],\"name\":\"serializeBytes32\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"bytes32\",\"name\":\"value\",\"type\":\"bytes32\"}],\"name\":\"serializeBytes32\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"int256\",\"name\":\"value\",\"type\":\"int256\"}],\"name\":\"serializeInt\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"int256[]\",\"name\":\"values\",\"type\":\"int256[]\"}],\"name\":\"serializeInt\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"}],\"name\":\"serializeJson\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"string[]\",\"name\":\"values\",\"type\":\"string[]\"}],\"name\":\"serializeString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"}],\"name\":\"serializeString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"serializeUint\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"uint256[]\",\"name\":\"values\",\"type\":\"uint256[]\"}],\"name\":\"serializeUint\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"objectKey\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"serializeUintToHex\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"value\",\"type\":\"string\"}],\"name\":\"setEnv\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"}],\"name\":\"sign\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"}],\"name\":\"sign\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyX\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"publicKeyY\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"internalType\":\"struct VmSafe.Wallet\",\"name\":\"wallet\",\"type\":\"tuple\"},{\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"}],\"name\":\"sign\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"}],\"name\":\"sign\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"digest\",\"type\":\"bytes32\"}],\"name\":\"signP256\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"duration\",\"type\":\"uint256\"}],\"name\":\"sleep\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"input\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"delimiter\",\"type\":\"string\"}],\"name\":\"split\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"outputs\",\"type\":\"string[]\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"startBroadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"signer\",\"type\":\"address\"}],\"name\":\"startBroadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"privateKey\",\"type\":\"uint256\"}],\"name\":\"startBroadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"startMappingRecording\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"startStateDiffRecording\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"stopAndReturnStateDiff\",\"outputs\":[{\"components\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"forkId\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"}],\"internalType\":\"struct VmSafe.ChainInfo\",\"name\":\"chainInfo\",\"type\":\"tuple\"},{\"internalType\":\"enum VmSafe.AccountAccessKind\",\"name\":\"kind\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"accessor\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"initialized\",\"type\":\"bool\"},{\"internalType\":\"uint256\",\"name\":\"oldBalance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"newBalance\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"deployedCode\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"bool\",\"name\":\"reverted\",\"type\":\"bool\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"slot\",\"type\":\"bytes32\"},{\"internalType\":\"bool\",\"name\":\"isWrite\",\"type\":\"bool\"},{\"internalType\":\"bytes32\",\"name\":\"previousValue\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"newValue\",\"type\":\"bytes32\"},{\"internalType\":\"bool\",\"name\":\"reverted\",\"type\":\"bool\"}],\"internalType\":\"struct VmSafe.StorageAccess[]\",\"name\":\"storageAccesses\",\"type\":\"tuple[]\"},{\"internalType\":\"uint64\",\"name\":\"depth\",\"type\":\"uint64\"}],\"internalType\":\"struct VmSafe.AccountAccess[]\",\"name\":\"accountAccesses\",\"type\":\"tuple[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"stopBroadcast\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"stopMappingRecording\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"data\",\"type\":\"string\"}],\"name\":\"toBase64\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"toBase64\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"data\",\"type\":\"string\"}],\"name\":\"toBase64URL\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"toBase64URL\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"input\",\"type\":\"string\"}],\"name\":\"toLowercase\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"output\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"value\",\"type\":\"address\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes\",\"name\":\"value\",\"type\":\"bytes\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bool\",\"name\":\"value\",\"type\":\"bool\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"value\",\"type\":\"int256\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"value\",\"type\":\"bytes32\"}],\"name\":\"toString\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"stringifiedValue\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"input\",\"type\":\"string\"}],\"name\":\"toUppercase\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"output\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"input\",\"type\":\"string\"}],\"name\":\"trim\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"output\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string[]\",\"name\":\"commandInput\",\"type\":\"string[]\"}],\"name\":\"tryFfi\",\"outputs\":[{\"components\":[{\"internalType\":\"int32\",\"name\":\"exitCode\",\"type\":\"int32\"},{\"internalType\":\"bytes\",\"name\":\"stdout\",\"type\":\"bytes\"},{\"internalType\":\"bytes\",\"name\":\"stderr\",\"type\":\"bytes\"}],\"internalType\":\"struct VmSafe.FfiResult\",\"name\":\"result\",\"type\":\"tuple\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"unixTime\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"milliseconds\",\"type\":\"uint256\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"data\",\"type\":\"string\"}],\"name\":\"writeFile\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"writeFileBinary\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"}],\"name\":\"writeJson\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"writeJson\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"data\",\"type\":\"string\"}],\"name\":\"writeLine\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"valueKey\",\"type\":\"string\"}],\"name\":\"writeToml\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"json\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"path\",\"type\":\"string\"}],\"name\":\"writeToml\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"accesses(address)\":{\"notice\":\"Gets all accessed reads and write slot from a `vm.record` session, for a given address.\"},\"addr(uint256)\":{\"notice\":\"Gets the address for a given private key.\"},\"assertApproxEqAbs(int256,int256,uint256)\":{\"notice\":\"Compares two `int256` values. Expects difference to be less than or equal to `maxDelta`.\"},\"assertApproxEqAbs(int256,int256,uint256,string)\":{\"notice\":\"Compares two `int256` values. Expects difference to be less than or equal to `maxDelta`. Includes error message into revert string on failure.\"},\"assertApproxEqAbs(uint256,uint256,uint256)\":{\"notice\":\"Compares two `uint256` values. Expects difference to be less than or equal to `maxDelta`.\"},\"assertApproxEqAbs(uint256,uint256,uint256,string)\":{\"notice\":\"Compares two `uint256` values. Expects difference to be less than or equal to `maxDelta`. Includes error message into revert string on failure.\"},\"assertApproxEqAbsDecimal(int256,int256,uint256,uint256)\":{\"notice\":\"Compares two `int256` values. Expects difference to be less than or equal to `maxDelta`. Formats values with decimals in failure message.\"},\"assertApproxEqAbsDecimal(int256,int256,uint256,uint256,string)\":{\"notice\":\"Compares two `int256` values. Expects difference to be less than or equal to `maxDelta`. Formats values with decimals in failure message. Includes error message into revert string on failure.\"},\"assertApproxEqAbsDecimal(uint256,uint256,uint256,uint256)\":{\"notice\":\"Compares two `uint256` values. Expects difference to be less than or equal to `maxDelta`. Formats values with decimals in failure message.\"},\"assertApproxEqAbsDecimal(uint256,uint256,uint256,uint256,string)\":{\"notice\":\"Compares two `uint256` values. Expects difference to be less than or equal to `maxDelta`. Formats values with decimals in failure message. Includes error message into revert string on failure.\"},\"assertApproxEqRel(int256,int256,uint256)\":{\"notice\":\"Compares two `int256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`. `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100%\"},\"assertApproxEqRel(int256,int256,uint256,string)\":{\"notice\":\"Compares two `int256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`. `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100% Includes error message into revert string on failure.\"},\"assertApproxEqRel(uint256,uint256,uint256)\":{\"notice\":\"Compares two `uint256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`. `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100%\"},\"assertApproxEqRel(uint256,uint256,uint256,string)\":{\"notice\":\"Compares two `uint256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`. `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100% Includes error message into revert string on failure.\"},\"assertApproxEqRelDecimal(int256,int256,uint256,uint256)\":{\"notice\":\"Compares two `int256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`. `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100% Formats values with decimals in failure message.\"},\"assertApproxEqRelDecimal(int256,int256,uint256,uint256,string)\":{\"notice\":\"Compares two `int256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`. `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100% Formats values with decimals in failure message. Includes error message into revert string on failure.\"},\"assertApproxEqRelDecimal(uint256,uint256,uint256,uint256)\":{\"notice\":\"Compares two `uint256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`. `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100% Formats values with decimals in failure message.\"},\"assertApproxEqRelDecimal(uint256,uint256,uint256,uint256,string)\":{\"notice\":\"Compares two `uint256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`. `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100% Formats values with decimals in failure message. Includes error message into revert string on failure.\"},\"assertEq(address,address)\":{\"notice\":\"Asserts that two `address` values are equal.\"},\"assertEq(address,address,string)\":{\"notice\":\"Asserts that two `address` values are equal and includes error message into revert string on failure.\"},\"assertEq(address[],address[])\":{\"notice\":\"Asserts that two arrays of `address` values are equal.\"},\"assertEq(address[],address[],string)\":{\"notice\":\"Asserts that two arrays of `address` values are equal and includes error message into revert string on failure.\"},\"assertEq(bool,bool)\":{\"notice\":\"Asserts that two `bool` values are equal.\"},\"assertEq(bool,bool,string)\":{\"notice\":\"Asserts that two `bool` values are equal and includes error message into revert string on failure.\"},\"assertEq(bool[],bool[])\":{\"notice\":\"Asserts that two arrays of `bool` values are equal.\"},\"assertEq(bool[],bool[],string)\":{\"notice\":\"Asserts that two arrays of `bool` values are equal and includes error message into revert string on failure.\"},\"assertEq(bytes,bytes)\":{\"notice\":\"Asserts that two `bytes` values are equal.\"},\"assertEq(bytes,bytes,string)\":{\"notice\":\"Asserts that two `bytes` values are equal and includes error message into revert string on failure.\"},\"assertEq(bytes32,bytes32)\":{\"notice\":\"Asserts that two `bytes32` values are equal.\"},\"assertEq(bytes32,bytes32,string)\":{\"notice\":\"Asserts that two `bytes32` values are equal and includes error message into revert string on failure.\"},\"assertEq(bytes32[],bytes32[])\":{\"notice\":\"Asserts that two arrays of `bytes32` values are equal.\"},\"assertEq(bytes32[],bytes32[],string)\":{\"notice\":\"Asserts that two arrays of `bytes32` values are equal and includes error message into revert string on failure.\"},\"assertEq(bytes[],bytes[])\":{\"notice\":\"Asserts that two arrays of `bytes` values are equal.\"},\"assertEq(bytes[],bytes[],string)\":{\"notice\":\"Asserts that two arrays of `bytes` values are equal and includes error message into revert string on failure.\"},\"assertEq(int256,int256)\":{\"notice\":\"Asserts that two `int256` values are equal.\"},\"assertEq(int256,int256,string)\":{\"notice\":\"Asserts that two `int256` values are equal and includes error message into revert string on failure.\"},\"assertEq(int256[],int256[])\":{\"notice\":\"Asserts that two arrays of `int256` values are equal.\"},\"assertEq(int256[],int256[],string)\":{\"notice\":\"Asserts that two arrays of `int256` values are equal and includes error message into revert string on failure.\"},\"assertEq(string,string)\":{\"notice\":\"Asserts that two `string` values are equal.\"},\"assertEq(string,string,string)\":{\"notice\":\"Asserts that two `string` values are equal and includes error message into revert string on failure.\"},\"assertEq(string[],string[])\":{\"notice\":\"Asserts that two arrays of `string` values are equal.\"},\"assertEq(string[],string[],string)\":{\"notice\":\"Asserts that two arrays of `string` values are equal and includes error message into revert string on failure.\"},\"assertEq(uint256,uint256)\":{\"notice\":\"Asserts that two `uint256` values are equal.\"},\"assertEq(uint256,uint256,string)\":{\"notice\":\"Asserts that two `uint256` values are equal and includes error message into revert string on failure.\"},\"assertEq(uint256[],uint256[])\":{\"notice\":\"Asserts that two arrays of `uint256 values are equal.\"},\"assertEq(uint256[],uint256[],string)\":{\"notice\":\"Asserts that two arrays of `uint256` values are equal and includes error message into revert string on failure.\"},\"assertEqDecimal(int256,int256,uint256)\":{\"notice\":\"Asserts that two `int256` values are equal, formatting them with decimals in failure message.\"},\"assertEqDecimal(int256,int256,uint256,string)\":{\"notice\":\"Asserts that two `int256` values are equal, formatting them with decimals in failure message. Includes error message into revert string on failure.\"},\"assertEqDecimal(uint256,uint256,uint256)\":{\"notice\":\"Asserts that two `uint256` values are equal, formatting them with decimals in failure message.\"},\"assertEqDecimal(uint256,uint256,uint256,string)\":{\"notice\":\"Asserts that two `uint256` values are equal, formatting them with decimals in failure message. Includes error message into revert string on failure.\"},\"assertFalse(bool)\":{\"notice\":\"Asserts that the given condition is false.\"},\"assertFalse(bool,string)\":{\"notice\":\"Asserts that the given condition is false and includes error message into revert string on failure.\"},\"assertGe(int256,int256)\":{\"notice\":\"Compares two `int256` values. Expects first value to be greater than or equal to second.\"},\"assertGe(int256,int256,string)\":{\"notice\":\"Compares two `int256` values. Expects first value to be greater than or equal to second. Includes error message into revert string on failure.\"},\"assertGe(uint256,uint256)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be greater than or equal to second.\"},\"assertGe(uint256,uint256,string)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be greater than or equal to second. Includes error message into revert string on failure.\"},\"assertGeDecimal(int256,int256,uint256)\":{\"notice\":\"Compares two `int256` values. Expects first value to be greater than or equal to second. Formats values with decimals in failure message.\"},\"assertGeDecimal(int256,int256,uint256,string)\":{\"notice\":\"Compares two `int256` values. Expects first value to be greater than or equal to second. Formats values with decimals in failure message. Includes error message into revert string on failure.\"},\"assertGeDecimal(uint256,uint256,uint256)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be greater than or equal to second. Formats values with decimals in failure message.\"},\"assertGeDecimal(uint256,uint256,uint256,string)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be greater than or equal to second. Formats values with decimals in failure message. Includes error message into revert string on failure.\"},\"assertGt(int256,int256)\":{\"notice\":\"Compares two `int256` values. Expects first value to be greater than second.\"},\"assertGt(int256,int256,string)\":{\"notice\":\"Compares two `int256` values. Expects first value to be greater than second. Includes error message into revert string on failure.\"},\"assertGt(uint256,uint256)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be greater than second.\"},\"assertGt(uint256,uint256,string)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be greater than second. Includes error message into revert string on failure.\"},\"assertGtDecimal(int256,int256,uint256)\":{\"notice\":\"Compares two `int256` values. Expects first value to be greater than second. Formats values with decimals in failure message.\"},\"assertGtDecimal(int256,int256,uint256,string)\":{\"notice\":\"Compares two `int256` values. Expects first value to be greater than second. Formats values with decimals in failure message. Includes error message into revert string on failure.\"},\"assertGtDecimal(uint256,uint256,uint256)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be greater than second. Formats values with decimals in failure message.\"},\"assertGtDecimal(uint256,uint256,uint256,string)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be greater than second. Formats values with decimals in failure message. Includes error message into revert string on failure.\"},\"assertLe(int256,int256)\":{\"notice\":\"Compares two `int256` values. Expects first value to be less than or equal to second.\"},\"assertLe(int256,int256,string)\":{\"notice\":\"Compares two `int256` values. Expects first value to be less than or equal to second. Includes error message into revert string on failure.\"},\"assertLe(uint256,uint256)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be less than or equal to second.\"},\"assertLe(uint256,uint256,string)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be less than or equal to second. Includes error message into revert string on failure.\"},\"assertLeDecimal(int256,int256,uint256)\":{\"notice\":\"Compares two `int256` values. Expects first value to be less than or equal to second. Formats values with decimals in failure message.\"},\"assertLeDecimal(int256,int256,uint256,string)\":{\"notice\":\"Compares two `int256` values. Expects first value to be less than or equal to second. Formats values with decimals in failure message. Includes error message into revert string on failure.\"},\"assertLeDecimal(uint256,uint256,uint256)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be less than or equal to second. Formats values with decimals in failure message.\"},\"assertLeDecimal(uint256,uint256,uint256,string)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be less than or equal to second. Formats values with decimals in failure message. Includes error message into revert string on failure.\"},\"assertLt(int256,int256)\":{\"notice\":\"Compares two `int256` values. Expects first value to be less than second.\"},\"assertLt(int256,int256,string)\":{\"notice\":\"Compares two `int256` values. Expects first value to be less than second. Includes error message into revert string on failure.\"},\"assertLt(uint256,uint256)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be less than second.\"},\"assertLt(uint256,uint256,string)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be less than second. Includes error message into revert string on failure.\"},\"assertLtDecimal(int256,int256,uint256)\":{\"notice\":\"Compares two `int256` values. Expects first value to be less than second. Formats values with decimals in failure message.\"},\"assertLtDecimal(int256,int256,uint256,string)\":{\"notice\":\"Compares two `int256` values. Expects first value to be less than second. Formats values with decimals in failure message. Includes error message into revert string on failure.\"},\"assertLtDecimal(uint256,uint256,uint256)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be less than second. Formats values with decimals in failure message.\"},\"assertLtDecimal(uint256,uint256,uint256,string)\":{\"notice\":\"Compares two `uint256` values. Expects first value to be less than second. Formats values with decimals in failure message. Includes error message into revert string on failure.\"},\"assertNotEq(address,address)\":{\"notice\":\"Asserts that two `address` values are not equal.\"},\"assertNotEq(address,address,string)\":{\"notice\":\"Asserts that two `address` values are not equal and includes error message into revert string on failure.\"},\"assertNotEq(address[],address[])\":{\"notice\":\"Asserts that two arrays of `address` values are not equal.\"},\"assertNotEq(address[],address[],string)\":{\"notice\":\"Asserts that two arrays of `address` values are not equal and includes error message into revert string on failure.\"},\"assertNotEq(bool,bool)\":{\"notice\":\"Asserts that two `bool` values are not equal.\"},\"assertNotEq(bool,bool,string)\":{\"notice\":\"Asserts that two `bool` values are not equal and includes error message into revert string on failure.\"},\"assertNotEq(bool[],bool[])\":{\"notice\":\"Asserts that two arrays of `bool` values are not equal.\"},\"assertNotEq(bool[],bool[],string)\":{\"notice\":\"Asserts that two arrays of `bool` values are not equal and includes error message into revert string on failure.\"},\"assertNotEq(bytes,bytes)\":{\"notice\":\"Asserts that two `bytes` values are not equal.\"},\"assertNotEq(bytes,bytes,string)\":{\"notice\":\"Asserts that two `bytes` values are not equal and includes error message into revert string on failure.\"},\"assertNotEq(bytes32,bytes32)\":{\"notice\":\"Asserts that two `bytes32` values are not equal.\"},\"assertNotEq(bytes32,bytes32,string)\":{\"notice\":\"Asserts that two `bytes32` values are not equal and includes error message into revert string on failure.\"},\"assertNotEq(bytes32[],bytes32[])\":{\"notice\":\"Asserts that two arrays of `bytes32` values are not equal.\"},\"assertNotEq(bytes32[],bytes32[],string)\":{\"notice\":\"Asserts that two arrays of `bytes32` values are not equal and includes error message into revert string on failure.\"},\"assertNotEq(bytes[],bytes[])\":{\"notice\":\"Asserts that two arrays of `bytes` values are not equal.\"},\"assertNotEq(bytes[],bytes[],string)\":{\"notice\":\"Asserts that two arrays of `bytes` values are not equal and includes error message into revert string on failure.\"},\"assertNotEq(int256,int256)\":{\"notice\":\"Asserts that two `int256` values are not equal.\"},\"assertNotEq(int256,int256,string)\":{\"notice\":\"Asserts that two `int256` values are not equal and includes error message into revert string on failure.\"},\"assertNotEq(int256[],int256[])\":{\"notice\":\"Asserts that two arrays of `int256` values are not equal.\"},\"assertNotEq(int256[],int256[],string)\":{\"notice\":\"Asserts that two arrays of `int256` values are not equal and includes error message into revert string on failure.\"},\"assertNotEq(string,string)\":{\"notice\":\"Asserts that two `string` values are not equal.\"},\"assertNotEq(string,string,string)\":{\"notice\":\"Asserts that two `string` values are not equal and includes error message into revert string on failure.\"},\"assertNotEq(string[],string[])\":{\"notice\":\"Asserts that two arrays of `string` values are not equal.\"},\"assertNotEq(string[],string[],string)\":{\"notice\":\"Asserts that two arrays of `string` values are not equal and includes error message into revert string on failure.\"},\"assertNotEq(uint256,uint256)\":{\"notice\":\"Asserts that two `uint256` values are not equal.\"},\"assertNotEq(uint256,uint256,string)\":{\"notice\":\"Asserts that two `uint256` values are not equal and includes error message into revert string on failure.\"},\"assertNotEq(uint256[],uint256[])\":{\"notice\":\"Asserts that two arrays of `uint256` values are not equal.\"},\"assertNotEq(uint256[],uint256[],string)\":{\"notice\":\"Asserts that two arrays of `uint256` values are not equal and includes error message into revert string on failure.\"},\"assertNotEqDecimal(int256,int256,uint256)\":{\"notice\":\"Asserts that two `int256` values are not equal, formatting them with decimals in failure message.\"},\"assertNotEqDecimal(int256,int256,uint256,string)\":{\"notice\":\"Asserts that two `int256` values are not equal, formatting them with decimals in failure message. Includes error message into revert string on failure.\"},\"assertNotEqDecimal(uint256,uint256,uint256)\":{\"notice\":\"Asserts that two `uint256` values are not equal, formatting them with decimals in failure message.\"},\"assertNotEqDecimal(uint256,uint256,uint256,string)\":{\"notice\":\"Asserts that two `uint256` values are not equal, formatting them with decimals in failure message. Includes error message into revert string on failure.\"},\"assertTrue(bool)\":{\"notice\":\"Asserts that the given condition is true.\"},\"assertTrue(bool,string)\":{\"notice\":\"Asserts that the given condition is true and includes error message into revert string on failure.\"},\"assume(bool)\":{\"notice\":\"If the condition is false, discard this run's fuzz inputs and generate new ones.\"},\"breakpoint(string)\":{\"notice\":\"Writes a breakpoint to jump to in the debugger.\"},\"breakpoint(string,bool)\":{\"notice\":\"Writes a conditional breakpoint to jump to in the debugger.\"},\"broadcast()\":{\"notice\":\"Has the next call (at this call depth only) create transactions that can later be signed and sent onchain. Broadcasting address is determined by checking the following in order: 1. If `--sender` argument was provided, that address is used. 2. If exactly one signer (e.g. private key, hw wallet, keystore) is set when `forge broadcast` is invoked, that signer is used. 3. Otherwise, default foundry sender (1804c8AB1F12E6bbf3894d4083f33e07309d1f38) is used.\"},\"broadcast(address)\":{\"notice\":\"Has the next call (at this call depth only) create a transaction with the address provided as the sender that can later be signed and sent onchain.\"},\"broadcast(uint256)\":{\"notice\":\"Has the next call (at this call depth only) create a transaction with the private key provided as the sender that can later be signed and sent onchain.\"},\"closeFile(string)\":{\"notice\":\"Closes file for reading, resetting the offset and allowing to read it from beginning with readLine. `path` is relative to the project root.\"},\"computeCreate2Address(bytes32,bytes32)\":{\"notice\":\"Compute the address of a contract created with CREATE2 using the default CREATE2 deployer.\"},\"computeCreate2Address(bytes32,bytes32,address)\":{\"notice\":\"Compute the address of a contract created with CREATE2 using the given CREATE2 deployer.\"},\"computeCreateAddress(address,uint256)\":{\"notice\":\"Compute the address a contract will be deployed at for a given deployer address and nonce.\"},\"copyFile(string,string)\":{\"notice\":\"Copies the contents of one file to another. This function will **overwrite** the contents of `to`. On success, the total number of bytes copied is returned and it is equal to the length of the `to` file as reported by `metadata`. Both `from` and `to` are relative to the project root.\"},\"createDir(string,bool)\":{\"notice\":\"Creates a new, empty directory at the provided path. This cheatcode will revert in the following situations, but is not limited to just these cases: - User lacks permissions to modify `path`. - A parent of the given path doesn't exist and `recursive` is false. - `path` already exists and `recursive` is false. `path` is relative to the project root.\"},\"createWallet(string)\":{\"notice\":\"Derives a private key from the name, labels the account with that name, and returns the wallet.\"},\"createWallet(uint256)\":{\"notice\":\"Generates a wallet from the private key and returns the wallet.\"},\"createWallet(uint256,string)\":{\"notice\":\"Generates a wallet from the private key, labels the account with that name, and returns the wallet.\"},\"deriveKey(string,string,uint32)\":{\"notice\":\"Derive a private key from a provided mnenomic string (or mnenomic file path) at `{derivationPath}{index}`.\"},\"deriveKey(string,string,uint32,string)\":{\"notice\":\"Derive a private key from a provided mnenomic string (or mnenomic file path) in the specified language at `{derivationPath}{index}`.\"},\"deriveKey(string,uint32)\":{\"notice\":\"Derive a private key from a provided mnenomic string (or mnenomic file path) at the derivation path `m/44'/60'/0'/0/{index}`.\"},\"deriveKey(string,uint32,string)\":{\"notice\":\"Derive a private key from a provided mnenomic string (or mnenomic file path) in the specified language at the derivation path `m/44'/60'/0'/0/{index}`.\"},\"envAddress(string)\":{\"notice\":\"Gets the environment variable `name` and parses it as `address`. Reverts if the variable was not found or could not be parsed.\"},\"envAddress(string,string)\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `address`, delimited by `delim`. Reverts if the variable was not found or could not be parsed.\"},\"envBool(string)\":{\"notice\":\"Gets the environment variable `name` and parses it as `bool`. Reverts if the variable was not found or could not be parsed.\"},\"envBool(string,string)\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `bool`, delimited by `delim`. Reverts if the variable was not found or could not be parsed.\"},\"envBytes(string)\":{\"notice\":\"Gets the environment variable `name` and parses it as `bytes`. Reverts if the variable was not found or could not be parsed.\"},\"envBytes(string,string)\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `bytes`, delimited by `delim`. Reverts if the variable was not found or could not be parsed.\"},\"envBytes32(string)\":{\"notice\":\"Gets the environment variable `name` and parses it as `bytes32`. Reverts if the variable was not found or could not be parsed.\"},\"envBytes32(string,string)\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `bytes32`, delimited by `delim`. Reverts if the variable was not found or could not be parsed.\"},\"envExists(string)\":{\"notice\":\"Gets the environment variable `name` and returns true if it exists, else returns false.\"},\"envInt(string)\":{\"notice\":\"Gets the environment variable `name` and parses it as `int256`. Reverts if the variable was not found or could not be parsed.\"},\"envInt(string,string)\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `int256`, delimited by `delim`. Reverts if the variable was not found or could not be parsed.\"},\"envOr(string,address)\":{\"notice\":\"Gets the environment variable `name` and parses it as `address`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envOr(string,bool)\":{\"notice\":\"Gets the environment variable `name` and parses it as `bool`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envOr(string,bytes)\":{\"notice\":\"Gets the environment variable `name` and parses it as `bytes`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envOr(string,bytes32)\":{\"notice\":\"Gets the environment variable `name` and parses it as `bytes32`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envOr(string,int256)\":{\"notice\":\"Gets the environment variable `name` and parses it as `int256`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envOr(string,string)\":{\"notice\":\"Gets the environment variable `name` and parses it as `string`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envOr(string,string,address[])\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `address`, delimited by `delim`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envOr(string,string,bool[])\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `bool`, delimited by `delim`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envOr(string,string,bytes32[])\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `bytes32`, delimited by `delim`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envOr(string,string,bytes[])\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `bytes`, delimited by `delim`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envOr(string,string,int256[])\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `int256`, delimited by `delim`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envOr(string,string,string[])\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `string`, delimited by `delim`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envOr(string,string,uint256[])\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `uint256`, delimited by `delim`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envOr(string,uint256)\":{\"notice\":\"Gets the environment variable `name` and parses it as `uint256`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found.\"},\"envString(string)\":{\"notice\":\"Gets the environment variable `name` and parses it as `string`. Reverts if the variable was not found or could not be parsed.\"},\"envString(string,string)\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `string`, delimited by `delim`. Reverts if the variable was not found or could not be parsed.\"},\"envUint(string)\":{\"notice\":\"Gets the environment variable `name` and parses it as `uint256`. Reverts if the variable was not found or could not be parsed.\"},\"envUint(string,string)\":{\"notice\":\"Gets the environment variable `name` and parses it as an array of `uint256`, delimited by `delim`. Reverts if the variable was not found or could not be parsed.\"},\"eth_getLogs(uint256,uint256,address,bytes32[])\":{\"notice\":\"Gets all the logs according to specified filter.\"},\"exists(string)\":{\"notice\":\"Returns true if the given path points to an existing entity, else returns false.\"},\"ffi(string[])\":{\"notice\":\"Performs a foreign function call via the terminal.\"},\"fsMetadata(string)\":{\"notice\":\"Given a path, query the file system to get information about a file, directory, etc.\"},\"getBlobBaseFee()\":{\"notice\":\"Gets the current `block.blobbasefee`. You should use this instead of `block.blobbasefee` if you use `vm.blobBaseFee`, as `block.blobbasefee` is assumed to be constant across a transaction, and as a result will get optimized out by the compiler. See https://github.com/foundry-rs/foundry/issues/6180\"},\"getBlockNumber()\":{\"notice\":\"Gets the current `block.number`. You should use this instead of `block.number` if you use `vm.roll`, as `block.number` is assumed to be constant across a transaction, and as a result will get optimized out by the compiler. See https://github.com/foundry-rs/foundry/issues/6180\"},\"getBlockTimestamp()\":{\"notice\":\"Gets the current `block.timestamp`. You should use this instead of `block.timestamp` if you use `vm.warp`, as `block.timestamp` is assumed to be constant across a transaction, and as a result will get optimized out by the compiler. See https://github.com/foundry-rs/foundry/issues/6180\"},\"getCode(string)\":{\"notice\":\"Gets the creation bytecode from an artifact file. Takes in the relative path to the json file or the path to the artifact in the form of <path>:<contract>:<version> where <contract> and <version> parts are optional.\"},\"getDeployedCode(string)\":{\"notice\":\"Gets the deployed bytecode from an artifact file. Takes in the relative path to the json file or the path to the artifact in the form of <path>:<contract>:<version> where <contract> and <version> parts are optional.\"},\"getLabel(address)\":{\"notice\":\"Gets the label for the specified address.\"},\"getMappingKeyAndParentOf(address,bytes32)\":{\"notice\":\"Gets the map key and parent of a mapping at a given slot, for a given address.\"},\"getMappingLength(address,bytes32)\":{\"notice\":\"Gets the number of elements in the mapping at the given slot, for a given address.\"},\"getMappingSlotAt(address,bytes32,uint256)\":{\"notice\":\"Gets the elements at index idx of the mapping at the given slot, for a given address. The index must be less than the length of the mapping (i.e. the number of keys in the mapping).\"},\"getNonce((address,uint256,uint256,uint256))\":{\"notice\":\"Get a `Wallet`'s nonce.\"},\"getNonce(address)\":{\"notice\":\"Gets the nonce of an account.\"},\"getRecordedLogs()\":{\"notice\":\"Gets all the recorded logs.\"},\"indexOf(string,string)\":{\"notice\":\"Returns the index of the first occurrence of a `key` in an `input` string. Returns `NOT_FOUND` (i.e. `type(uint256).max`) if the `key` is not found. Returns 0 in case of an empty `key`.\"},\"isContext(uint8)\":{\"notice\":\"Returns true if `forge` command was executed in given context.\"},\"isDir(string)\":{\"notice\":\"Returns true if the path exists on disk and is pointing at a directory, else returns false.\"},\"isFile(string)\":{\"notice\":\"Returns true if the path exists on disk and is pointing at a regular file, else returns false.\"},\"keyExists(string,string)\":{\"notice\":\"Checks if `key` exists in a JSON object `keyExists` is being deprecated in favor of `keyExistsJson`. It will be removed in future versions.\"},\"keyExistsJson(string,string)\":{\"notice\":\"Checks if `key` exists in a JSON object.\"},\"keyExistsToml(string,string)\":{\"notice\":\"Checks if `key` exists in a TOML table.\"},\"label(address,string)\":{\"notice\":\"Labels an address in call traces.\"},\"lastCallGas()\":{\"notice\":\"Gets the gas used in the last call.\"},\"load(address,bytes32)\":{\"notice\":\"Loads a storage slot from an address.\"},\"parseAddress(string)\":{\"notice\":\"Parses the given `string` into an `address`.\"},\"parseBool(string)\":{\"notice\":\"Parses the given `string` into a `bool`.\"},\"parseBytes(string)\":{\"notice\":\"Parses the given `string` into `bytes`.\"},\"parseBytes32(string)\":{\"notice\":\"Parses the given `string` into a `bytes32`.\"},\"parseInt(string)\":{\"notice\":\"Parses the given `string` into a `int256`.\"},\"parseJson(string)\":{\"notice\":\"ABI-encodes a JSON object.\"},\"parseJson(string,string)\":{\"notice\":\"ABI-encodes a JSON object at `key`.\"},\"parseJsonAddress(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `address`.\"},\"parseJsonAddressArray(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `address[]`.\"},\"parseJsonBool(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `bool`.\"},\"parseJsonBoolArray(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `bool[]`.\"},\"parseJsonBytes(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `bytes`.\"},\"parseJsonBytes32(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `bytes32`.\"},\"parseJsonBytes32Array(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `bytes32[]`.\"},\"parseJsonBytesArray(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `bytes[]`.\"},\"parseJsonInt(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `int256`.\"},\"parseJsonIntArray(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `int256[]`.\"},\"parseJsonKeys(string,string)\":{\"notice\":\"Returns an array of all the keys in a JSON object.\"},\"parseJsonString(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `string`.\"},\"parseJsonStringArray(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `string[]`.\"},\"parseJsonUint(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `uint256`.\"},\"parseJsonUintArray(string,string)\":{\"notice\":\"Parses a string of JSON data at `key` and coerces it to `uint256[]`.\"},\"parseToml(string)\":{\"notice\":\"ABI-encodes a TOML table.\"},\"parseToml(string,string)\":{\"notice\":\"ABI-encodes a TOML table at `key`.\"},\"parseTomlAddress(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `address`.\"},\"parseTomlAddressArray(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `address[]`.\"},\"parseTomlBool(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `bool`.\"},\"parseTomlBoolArray(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `bool[]`.\"},\"parseTomlBytes(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `bytes`.\"},\"parseTomlBytes32(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `bytes32`.\"},\"parseTomlBytes32Array(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `bytes32[]`.\"},\"parseTomlBytesArray(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `bytes[]`.\"},\"parseTomlInt(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `int256`.\"},\"parseTomlIntArray(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `int256[]`.\"},\"parseTomlKeys(string,string)\":{\"notice\":\"Returns an array of all the keys in a TOML table.\"},\"parseTomlString(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `string`.\"},\"parseTomlStringArray(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `string[]`.\"},\"parseTomlUint(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `uint256`.\"},\"parseTomlUintArray(string,string)\":{\"notice\":\"Parses a string of TOML data at `key` and coerces it to `uint256[]`.\"},\"parseUint(string)\":{\"notice\":\"Parses the given `string` into a `uint256`.\"},\"pauseGasMetering()\":{\"notice\":\"Pauses gas metering (i.e. gas usage is not counted). Noop if already paused.\"},\"projectRoot()\":{\"notice\":\"Get the path of the current project root.\"},\"prompt(string)\":{\"notice\":\"Prompts the user for a string value in the terminal.\"},\"promptAddress(string)\":{\"notice\":\"Prompts the user for an address in the terminal.\"},\"promptSecret(string)\":{\"notice\":\"Prompts the user for a hidden string value in the terminal.\"},\"promptUint(string)\":{\"notice\":\"Prompts the user for uint256 in the terminal.\"},\"readDir(string)\":{\"notice\":\"Reads the directory at the given path recursively, up to `maxDepth`. `maxDepth` defaults to 1, meaning only the direct children of the given directory will be returned. Follows symbolic links if `followLinks` is true.\"},\"readDir(string,uint64)\":{\"notice\":\"See `readDir(string)`.\"},\"readDir(string,uint64,bool)\":{\"notice\":\"See `readDir(string)`.\"},\"readFile(string)\":{\"notice\":\"Reads the entire content of file to string. `path` is relative to the project root.\"},\"readFileBinary(string)\":{\"notice\":\"Reads the entire content of file as binary. `path` is relative to the project root.\"},\"readLine(string)\":{\"notice\":\"Reads next line of file to string.\"},\"readLink(string)\":{\"notice\":\"Reads a symbolic link, returning the path that the link points to. This cheatcode will revert in the following situations, but is not limited to just these cases: - `path` is not a symbolic link. - `path` does not exist.\"},\"record()\":{\"notice\":\"Records all storage reads and writes.\"},\"recordLogs()\":{\"notice\":\"Record all the transaction logs.\"},\"rememberKey(uint256)\":{\"notice\":\"Adds a private key to the local forge wallet and returns the address.\"},\"removeDir(string,bool)\":{\"notice\":\"Removes a directory at the provided path. This cheatcode will revert in the following situations, but is not limited to just these cases: - `path` doesn't exist. - `path` isn't a directory. - User lacks permissions to modify `path`. - The directory is not empty and `recursive` is false. `path` is relative to the project root.\"},\"removeFile(string)\":{\"notice\":\"Removes a file from the filesystem. This cheatcode will revert in the following situations, but is not limited to just these cases: - `path` points to a directory. - The file doesn't exist. - The user lacks permissions to remove the file. `path` is relative to the project root.\"},\"replace(string,string,string)\":{\"notice\":\"Replaces occurrences of `from` in the given `string` with `to`.\"},\"resumeGasMetering()\":{\"notice\":\"Resumes gas metering (i.e. gas usage is counted again). Noop if already on.\"},\"rpc(string,string)\":{\"notice\":\"Performs an Ethereum JSON-RPC request to the current fork URL.\"},\"rpcUrl(string)\":{\"notice\":\"Returns the RPC url for the given alias.\"},\"rpcUrlStructs()\":{\"notice\":\"Returns all rpc urls and their aliases as structs.\"},\"rpcUrls()\":{\"notice\":\"Returns all rpc urls and their aliases `[alias, url][]`.\"},\"serializeAddress(string,string,address)\":{\"notice\":\"See `serializeJson`.\"},\"serializeAddress(string,string,address[])\":{\"notice\":\"See `serializeJson`.\"},\"serializeBool(string,string,bool)\":{\"notice\":\"See `serializeJson`.\"},\"serializeBool(string,string,bool[])\":{\"notice\":\"See `serializeJson`.\"},\"serializeBytes(string,string,bytes)\":{\"notice\":\"See `serializeJson`.\"},\"serializeBytes(string,string,bytes[])\":{\"notice\":\"See `serializeJson`.\"},\"serializeBytes32(string,string,bytes32)\":{\"notice\":\"See `serializeJson`.\"},\"serializeBytes32(string,string,bytes32[])\":{\"notice\":\"See `serializeJson`.\"},\"serializeInt(string,string,int256)\":{\"notice\":\"See `serializeJson`.\"},\"serializeInt(string,string,int256[])\":{\"notice\":\"See `serializeJson`.\"},\"serializeJson(string,string)\":{\"notice\":\"Serializes a key and value to a JSON object stored in-memory that can be later written to a file. Returns the stringified version of the specific JSON file up to that moment.\"},\"serializeString(string,string,string)\":{\"notice\":\"See `serializeJson`.\"},\"serializeString(string,string,string[])\":{\"notice\":\"See `serializeJson`.\"},\"serializeUint(string,string,uint256)\":{\"notice\":\"See `serializeJson`.\"},\"serializeUint(string,string,uint256[])\":{\"notice\":\"See `serializeJson`.\"},\"serializeUintToHex(string,string,uint256)\":{\"notice\":\"See `serializeJson`.\"},\"setEnv(string,string)\":{\"notice\":\"Sets environment variables.\"},\"sign((address,uint256,uint256,uint256),bytes32)\":{\"notice\":\"Signs data with a `Wallet`.\"},\"sign(address,bytes32)\":{\"notice\":\"Signs `digest` with signer provided to script using the secp256k1 curve. Raises error if none of the signers passed into the script have provided address.\"},\"sign(bytes32)\":{\"notice\":\"Signs `digest` with signer provided to script using the secp256k1 curve. If `--sender` is provided, the signer with provided address is used, otherwise, if exactly one signer is provided to the script, that signer is used. Raises error if signer passed through `--sender` does not match any unlocked signers or if `--sender` is not provided and not exactly one signer is passed to the script.\"},\"sign(uint256,bytes32)\":{\"notice\":\"Signs `digest` with `privateKey` using the secp256k1 curve.\"},\"signP256(uint256,bytes32)\":{\"notice\":\"Signs `digest` with `privateKey` using the secp256r1 curve.\"},\"sleep(uint256)\":{\"notice\":\"Suspends execution of the main thread for `duration` milliseconds.\"},\"split(string,string)\":{\"notice\":\"Splits the given `string` into an array of strings divided by the `delimiter`.\"},\"startBroadcast()\":{\"notice\":\"Has all subsequent calls (at this call depth only) create transactions that can later be signed and sent onchain. Broadcasting address is determined by checking the following in order: 1. If `--sender` argument was provided, that address is used. 2. If exactly one signer (e.g. private key, hw wallet, keystore) is set when `forge broadcast` is invoked, that signer is used. 3. Otherwise, default foundry sender (1804c8AB1F12E6bbf3894d4083f33e07309d1f38) is used.\"},\"startBroadcast(address)\":{\"notice\":\"Has all subsequent calls (at this call depth only) create transactions with the address provided that can later be signed and sent onchain.\"},\"startBroadcast(uint256)\":{\"notice\":\"Has all subsequent calls (at this call depth only) create transactions with the private key provided that can later be signed and sent onchain.\"},\"startMappingRecording()\":{\"notice\":\"Starts recording all map SSTOREs for later retrieval.\"},\"startStateDiffRecording()\":{\"notice\":\"Record all account accesses as part of CREATE, CALL or SELFDESTRUCT opcodes in order, along with the context of the calls\"},\"stopAndReturnStateDiff()\":{\"notice\":\"Returns an ordered array of all account accesses from a `vm.startStateDiffRecording` session.\"},\"stopBroadcast()\":{\"notice\":\"Stops collecting onchain transactions.\"},\"stopMappingRecording()\":{\"notice\":\"Stops recording all map SSTOREs for later retrieval and clears the recorded data.\"},\"toBase64(bytes)\":{\"notice\":\"Encodes a `bytes` value to a base64 string.\"},\"toBase64(string)\":{\"notice\":\"Encodes a `string` value to a base64 string.\"},\"toBase64URL(bytes)\":{\"notice\":\"Encodes a `bytes` value to a base64url string.\"},\"toBase64URL(string)\":{\"notice\":\"Encodes a `string` value to a base64url string.\"},\"toLowercase(string)\":{\"notice\":\"Converts the given `string` value to Lowercase.\"},\"toString(address)\":{\"notice\":\"Converts the given value to a `string`.\"},\"toString(bool)\":{\"notice\":\"Converts the given value to a `string`.\"},\"toString(bytes)\":{\"notice\":\"Converts the given value to a `string`.\"},\"toString(bytes32)\":{\"notice\":\"Converts the given value to a `string`.\"},\"toString(int256)\":{\"notice\":\"Converts the given value to a `string`.\"},\"toString(uint256)\":{\"notice\":\"Converts the given value to a `string`.\"},\"toUppercase(string)\":{\"notice\":\"Converts the given `string` value to Uppercase.\"},\"trim(string)\":{\"notice\":\"Trims leading and trailing whitespace from the given `string` value.\"},\"tryFfi(string[])\":{\"notice\":\"Performs a foreign function call via terminal and returns the exit code, stdout, and stderr.\"},\"unixTime()\":{\"notice\":\"Returns the time since unix epoch in milliseconds.\"},\"writeFile(string,string)\":{\"notice\":\"Writes data to file, creating a file if it does not exist, and entirely replacing its contents if it does. `path` is relative to the project root.\"},\"writeFileBinary(string,bytes)\":{\"notice\":\"Writes binary data to a file, creating a file if it does not exist, and entirely replacing its contents if it does. `path` is relative to the project root.\"},\"writeJson(string,string)\":{\"notice\":\"Write a serialized JSON object to a file. If the file exists, it will be overwritten.\"},\"writeJson(string,string,string)\":{\"notice\":\"Write a serialized JSON object to an **existing** JSON file, replacing a value with key = <value_key.> This is useful to replace a specific value of a JSON file, without having to parse the entire thing.\"},\"writeLine(string,string)\":{\"notice\":\"Writes line to file, creating a file if it does not exist. `path` is relative to the project root.\"},\"writeToml(string,string)\":{\"notice\":\"Takes serialized JSON, converts to TOML and write a serialized TOML to a file.\"},\"writeToml(string,string,string)\":{\"notice\":\"Takes serialized JSON, converts to TOML and write a serialized TOML table to an **existing** TOML file, replacing a value with key = <value_key.> This is useful to replace a specific value of a TOML file, without having to parse the entire thing.\"}},\"notice\":\"The `VmSafe` interface does not allow manipulation of the EVM state or other actions that may result in Script simulations differing from on-chain execution. It is recommended to only use these cheats in scripts.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/Vm.sol\":\"VmSafe\"},\"evmVersion\":\"london\",\"libraries\":{\"src/tokamak-contracts/USDC/L2/tokamak-USDC/v2/FiatTokenV2_2.sol:SignatureChecker\":\"0x4200000000000000000000000000000000000776\"},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":999999},\"remappings\":[\":@lib-keccak/=lib/lib-keccak/contracts/lib/\",\":@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/\",\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@openzeppelin/contracts_v3.1.0/=lib/openzeppelin-contracts_v3.1.0/contracts/\",\":@openzeppelin/contracts_v5.0.1/=lib/openzeppelin-contracts_v5.0.1/contracts/\",\":@rari-capital/solmate/=lib/solmate/\",\":@solady-test/=lib/lib-keccak/lib/solady/test/\",\":@solady/=lib/solady/src/\",\":automate/=lib/automate/contracts/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts_v5.0.1/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":gelato/=lib/automate/contracts/\",\":hardhat/=lib/automate/node_modules/hardhat/\",\":kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/\",\":lib-keccak/=lib/lib-keccak/contracts/\",\":openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":openzeppelin-contracts_v3.1.0/=lib/openzeppelin-contracts_v3.1.0/contracts/\",\":openzeppelin-contracts_v5.0.1/=lib/openzeppelin-contracts_v5.0.1/\",\":prb-test/=lib/automate/lib/prb-test/src/\",\":prb/-est/=lib/automate/lib/prb-test/src/\",\":safe-contracts/=lib/safe-contracts/contracts/\",\":solady/=lib/solady/\",\":solmate/=lib/solmate/src/\"]},\"sources\":{\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0x29fa9fa4f21f0762bcb245732bdf18218b0e017640fe4f9809d2157c56d9741e\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://cf18f5b10bfcc5c70c8f950a52907b18e6da38825cdd04261c435601410f0dea\",\"dweb:/ipfs/QmPkhDtp4AXw7iaJe84PEUPNK748pxsLUp8r5QB3hewWRy\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.15+commit.e14f2714"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"target","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"accesses","outputs":[{"internalType":"bytes32[]","name":"readSlots","type":"bytes32[]"},{"internalType":"bytes32[]","name":"writeSlots","type":"bytes32[]"}]},{"inputs":[{"internalType":"uint256","name":"privateKey","type":"uint256"}],"stateMutability":"pure","type":"function","name":"addr","outputs":[{"internalType":"address","name":"keyAddr","type":"address"}]},{"inputs":[{"internalType":"uint256","name":"left","type":"uint256"},{"internalType":"uint256","name":"right","type":"uint256"},{"internalType":"uint256","name":"maxDelta","type":"uint256"}],"stateMutability":"pure","type":"function","name":"assertApproxEqAbs"},{"inputs":[{"internalType":"int256","name":"left","type":"int256"},{"internalType":"int256","name":"right","type":"int256"},{"internalType":"uint256","name":"maxDelta","type":"uint256"}],"stateMutability":"pure","type":"function","name":"assertApproxEqAbs"},{"inputs":[{"internalType":"int256","name":"left","type":"int256"},{"internalType":"int256","name":"right","type":"int256"},{"internalType":"uint256","name":"maxDelta","type":"uint256"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertApproxEqAbs"},{"inputs":[{"internalType":"uint256","name":"left","type":"uint256"},{"internalType":"uint256","name":"right","type":"uint256"},{"internalType":"uint256","name":"maxDelta","type":"uint256"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertApproxEqAbs"},{"inputs":[{"internalType":"uint256","name":"left","type":"uint256"},{"internalType":"uint256","name":"right","type":"uint256"},{"internalType":"uint256","name":"maxDelta","type":"uint256"},{"internalType":"uint256","name":"decimals","type":"uint256"}],"stateMutability":"pure","type":"function","name":"assertApproxEqAbsDecimal"},{"inputs":[{"internalType":"int256","name":"left","type":"int256"},{"internalType":"int256","name":"right","type":"int256"},{"internalType":"uint256","name":"maxDelta","type":"uint256"},{"internalType":"uint256","name":"decimals","type":"uint256"}],"stateMutability":"pure","type":"function","name":"assertApproxEqAbsDecimal"},{"inputs":[{"internalType":"uint256","name":"left","type":"uint256"},{"internalType":"uint256","name":"right","type":"uint256"},{"internalType":"uint256","name":"maxDelta","type":"uint256"},{"internalType":"uint256","name":"decimals","type":"uint256"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertApproxEqAbsDecimal"},{"inputs":[{"internalType":"int256","name":"left","type":"int256"},{"internalType":"int256","name":"right","type":"int256"},{"internalType":"uint256","name":"maxDelta","type":"uint256"},{"internalType":"uint256","name":"decimals","type":"uint256"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertApproxEqAbsDecimal"},{"inputs":[{"internalType":"uint256","name":"left","type":"uint256"},{"internalType":"uint256","name":"right","type":"uint256"},{"internalType":"uint256","name":"maxPercentDelta","type":"uint256"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertApproxEqRel"},{"inputs":[{"internalType":"uint256","name":"left","type":"uint256"},{"internalType":"uint256","name":"right","type":"uint256"},{"internalType":"uint256","name":"maxPercentDelta","type":"uint256"}],"stateMutability":"pure","type":"function","name":"assertApproxEqRel"},{"inputs":[{"internalType":"int256","name":"left","type":"int256"},{"internalType":"int256","name":"right","type":"int256"},{"internalType":"uint256","name":"maxPercentDelta","type":"uint256"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertApproxEqRel"},{"inputs":[{"internalType":"int256","name":"left","type":"int256"},{"internalType":"int256","name":"right","type":"int256"},{"internalType":"uint256","name":"maxPercentDelta","type":"uint256"}],"stateMutability":"pure","type":"function","name":"assertApproxEqRel"},{"inputs":[{"internalType":"uint256","name":"left","type":"uint256"},{"internalType":"uint256","name":"right","type":"uint256"},{"internalType":"uint256","name":"maxPercentDelta","type":"uint256"},{"internalType":"uint256","name":"decimals","type":"uint256"}],"stateMutability":"pure","type":"function","name":"assertApproxEqRelDecimal"},{"inputs":[{"internalType":"uint256","name":"left","type":"uint256"},{"internalType":"uint256","name":"right","type":"uint256"},{"internalType":"uint256","name":"maxPercentDelta","type":"uint256"},{"internalType":"uint256","name":"decimals","type":"uint256"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertApproxEqRelDecimal"},{"inputs":[{"internalType":"int256","name":"left","type":"int256"},{"internalType":"int256","name":"right","type":"int256"},{"internalType":"uint256","name":"maxPercentDelta","type":"uint256"},{"internalType":"uint256","name":"decimals","type":"uint256"}],"stateMutability":"pure","type":"function","name":"assertApproxEqRelDecimal"},{"inputs":[{"internalType":"int256","name":"left","type":"int256"},{"internalType":"int256","name":"right","type":"int256"},{"internalType":"uint256","name":"maxPercentDelta","type":"uint256"},{"internalType":"uint256","name":"decimals","type":"uint256"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertApproxEqRelDecimal"},{"inputs":[{"internalType":"bytes32[]","name":"left","type":"bytes32[]"},{"internalType":"bytes32[]","name":"right","type":"bytes32[]"}],"stateMutability":"pure","type":"function","name":"assertEq"},{"inputs":[{"internalType":"int256[]","name":"left","type":"int256[]"},{"internalType":"int256[]","name":"right","type":"int256[]"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertEq"},{"inputs":[{"internalType":"address","name":"left","type":"address"},{"internalType":"address","name":"right","type":"address"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertEq"},{"inputs":[{"internalType":"string","name":"left","type":"string"},{"internalType":"string","name":"right","type":"string"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertEq"},{"inputs":[{"internalType":"address[]","name":"left","type":"address[]"},{"internalType":"address[]","name":"right","type":"address[]"}],"stateMutability":"pure","type":"function","name":"assertEq"},{"inputs":[{"internalType":"address[]","name":"left","type":"address[]"},{"internalType":"address[]","name":"right","type":"address[]"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertEq"},{"inputs":[{"internalType":"bool","name":"left","type":"bool"},{"internalType":"bool","name":"right","type":"bool"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertEq"},{"inputs":[{"internalType":"address","name":"left","type":"address"},{"internalType":"address","name":"right","type":"address"}],"stateMutability":"pure","type":"function","name":"assertEq"},{"inputs":[{"internalType":"uint256[]","name":"left","type":"uint256[]"},{"internalType":"uint256[]","name":"right","type":"uint256[]"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertEq"},{"inputs":[{"internalType":"bool[]","name":"left","type":"bool[]"},{"internalType":"bool[]","name":"right","type":"bool[]"}],"stateMutability":"pure","type":"function","name":"assertEq"},{"inputs":[{"internalType":"int256[]","name":"left","type":"int256[]"},{"internalType":"int256[]","name":"right","type":"int256[]"}],"stateMutability":"pure","type":"function","name":"assertEq"},{"inputs":[{"internalType":"int256","name":"left","type":"int256"},{"internalType":"int256","name":"right","type":"int256"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertEq"},{"inputs":[{"internalType":"bytes32","name":"left","type":"bytes32"},{"internalType":"bytes32","name":"right","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"assertEq"},{"inputs":[{"internalType":"uint256","name":"left","type":"uint256"},{"internalType":"uint256","name":"right","type":"uint256"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertEq"},{"inputs":[{"internalType":"uint256[]","name":"left","type":"uint256[]"},{"internalType":"uint256[]","name":"right","type":"uint256[]"}],"stateMutability":"pure","type":"function","name":"assertEq"},{"inputs":[{"internalType":"bytes","name":"left","type":"bytes"},{"internalType":"bytes","name":"right","type":"bytes"}],"stateMutability":"pure","type":"function","name":"assertEq"},{"inputs":[{"internalType":"uint256","name":"left","type":"uint256"},{"internalType":"uint256","name":"right","type":"uint256"}],"stateMutability":"pure","type":"function","name":"assertEq"},{"inputs":[{"internalType":"bytes32","name":"left","type":"bytes32"},{"internalType":"bytes32","name":"right","type":"bytes32"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertEq"},{"inputs":[{"internalType":"string[]","name":"left","type":"string[]"},{"internalType":"string[]","name":"right","type":"string[]"}],"stateMutability":"pure","type":"function","name":"assertEq"},{"inputs":[{"internalType":"bytes32[]","name":"left","type":"bytes32[]"},{"internalType":"bytes32[]","name":"right","type":"bytes32[]"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertEq"},{"inputs":[{"internalType":"bytes","name":"left","type":"bytes"},{"internalType":"bytes","name":"right","type":"bytes"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertEq"},{"inputs":[{"internalType":"bool[]","name":"left","type":"bool[]"},{"internalType":"bool[]","name":"right","type":"bool[]"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertEq"},{"inputs":[{"internalType":"bytes[]","name":"left","type":"bytes[]"},{"internalType":"bytes[]","name":"right","type":"bytes[]"}],"stateMutability":"pure","type":"function","name":"assertEq"},{"inputs":[{"internalType":"string[]","name":"left","type":"string[]"},{"internalType":"string[]","name":"right","type":"string[]"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertEq"},{"inputs":[{"internalType":"string","name":"left","type":"string"},{"internalType":"string","name":"right","type":"string"}],"stateMutability":"pure","type":"function","name":"assertEq"},{"inputs":[{"internalType":"bytes[]","name":"left","type":"bytes[]"},{"internalType":"bytes[]","name":"right","type":"bytes[]"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertEq"},{"inputs":[{"internalType":"bool","name":"left","type":"bool"},{"internalType":"bool","name":"right","type":"bool"}],"stateMutability":"pure","type":"function","name":"assertEq"},{"inputs":[{"internalType":"int256","name":"left","type":"int256"},{"internalType":"int256","name":"right","type":"int256"}],"stateMutability":"pure","type":"function","name":"assertEq"},{"inputs":[{"internalType":"uint256","name":"left","type":"uint256"},{"internalType":"uint256","name":"right","type":"uint256"},{"internalType":"uint256","name":"decimals","type":"uint256"}],"stateMutability":"pure","type":"function","name":"assertEqDecimal"},{"inputs":[{"internalType":"int256","name":"left","type":"int256"},{"internalType":"int256","name":"right","type":"int256"},{"internalType":"uint256","name":"decimals","type":"uint256"}],"stateMutability":"pure","type":"function","name":"assertEqDecimal"},{"inputs":[{"internalType":"int256","name":"left","type":"int256"},{"internalType":"int256","name":"right","type":"int256"},{"internalType":"uint256","name":"decimals","type":"uint256"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertEqDecimal"},{"inputs":[{"internalType":"uint256","name":"left","type":"uint256"},{"internalType":"uint256","name":"right","type":"uint256"},{"internalType":"uint256","name":"decimals","type":"uint256"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertEqDecimal"},{"inputs":[{"internalType":"bool","name":"condition","type":"bool"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertFalse"},{"inputs":[{"internalType":"bool","name":"condition","type":"bool"}],"stateMutability":"pure","type":"function","name":"assertFalse"},{"inputs":[{"internalType":"int256","name":"left","type":"int256"},{"internalType":"int256","name":"right","type":"int256"}],"stateMutability":"pure","type":"function","name":"assertGe"},{"inputs":[{"internalType":"int256","name":"left","type":"int256"},{"internalType":"int256","name":"right","type":"int256"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertGe"},{"inputs":[{"internalType":"uint256","name":"left","type":"uint256"},{"internalType":"uint256","name":"right","type":"uint256"}],"stateMutability":"pure","type":"function","name":"assertGe"},{"inputs":[{"internalType":"uint256","name":"left","type":"uint256"},{"internalType":"uint256","name":"right","type":"uint256"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertGe"},{"inputs":[{"internalType":"uint256","name":"left","type":"uint256"},{"internalType":"uint256","name":"right","type":"uint256"},{"internalType":"uint256","name":"decimals","type":"uint256"}],"stateMutability":"pure","type":"function","name":"assertGeDecimal"},{"inputs":[{"internalType":"int256","name":"left","type":"int256"},{"internalType":"int256","name":"right","type":"int256"},{"internalType":"uint256","name":"decimals","type":"uint256"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertGeDecimal"},{"inputs":[{"internalType":"uint256","name":"left","type":"uint256"},{"internalType":"uint256","name":"right","type":"uint256"},{"internalType":"uint256","name":"decimals","type":"uint256"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertGeDecimal"},{"inputs":[{"internalType":"int256","name":"left","type":"int256"},{"internalType":"int256","name":"right","type":"int256"},{"internalType":"uint256","name":"decimals","type":"uint256"}],"stateMutability":"pure","type":"function","name":"assertGeDecimal"},{"inputs":[{"internalType":"int256","name":"left","type":"int256"},{"internalType":"int256","name":"right","type":"int256"}],"stateMutability":"pure","type":"function","name":"assertGt"},{"inputs":[{"internalType":"uint256","name":"left","type":"uint256"},{"internalType":"uint256","name":"right","type":"uint256"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertGt"},{"inputs":[{"internalType":"uint256","name":"left","type":"uint256"},{"internalType":"uint256","name":"right","type":"uint256"}],"stateMutability":"pure","type":"function","name":"assertGt"},{"inputs":[{"internalType":"int256","name":"left","type":"int256"},{"internalType":"int256","name":"right","type":"int256"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertGt"},{"inputs":[{"internalType":"int256","name":"left","type":"int256"},{"internalType":"int256","name":"right","type":"int256"},{"internalType":"uint256","name":"decimals","type":"uint256"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertGtDecimal"},{"inputs":[{"internalType":"uint256","name":"left","type":"uint256"},{"internalType":"uint256","name":"right","type":"uint256"},{"internalType":"uint256","name":"decimals","type":"uint256"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertGtDecimal"},{"inputs":[{"internalType":"int256","name":"left","type":"int256"},{"internalType":"int256","name":"right","type":"int256"},{"internalType":"uint256","name":"decimals","type":"uint256"}],"stateMutability":"pure","type":"function","name":"assertGtDecimal"},{"inputs":[{"internalType":"uint256","name":"left","type":"uint256"},{"internalType":"uint256","name":"right","type":"uint256"},{"internalType":"uint256","name":"decimals","type":"uint256"}],"stateMutability":"pure","type":"function","name":"assertGtDecimal"},{"inputs":[{"internalType":"int256","name":"left","type":"int256"},{"internalType":"int256","name":"right","type":"int256"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertLe"},{"inputs":[{"internalType":"uint256","name":"left","type":"uint256"},{"internalType":"uint256","name":"right","type":"uint256"}],"stateMutability":"pure","type":"function","name":"assertLe"},{"inputs":[{"internalType":"int256","name":"left","type":"int256"},{"internalType":"int256","name":"right","type":"int256"}],"stateMutability":"pure","type":"function","name":"assertLe"},{"inputs":[{"internalType":"uint256","name":"left","type":"uint256"},{"internalType":"uint256","name":"right","type":"uint256"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertLe"},{"inputs":[{"internalType":"int256","name":"left","type":"int256"},{"internalType":"int256","name":"right","type":"int256"},{"internalType":"uint256","name":"decimals","type":"uint256"}],"stateMutability":"pure","type":"function","name":"assertLeDecimal"},{"inputs":[{"internalType":"uint256","name":"left","type":"uint256"},{"internalType":"uint256","name":"right","type":"uint256"},{"internalType":"uint256","name":"decimals","type":"uint256"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertLeDecimal"},{"inputs":[{"internalType":"int256","name":"left","type":"int256"},{"internalType":"int256","name":"right","type":"int256"},{"internalType":"uint256","name":"decimals","type":"uint256"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertLeDecimal"},{"inputs":[{"internalType":"uint256","name":"left","type":"uint256"},{"internalType":"uint256","name":"right","type":"uint256"},{"internalType":"uint256","name":"decimals","type":"uint256"}],"stateMutability":"pure","type":"function","name":"assertLeDecimal"},{"inputs":[{"internalType":"int256","name":"left","type":"int256"},{"internalType":"int256","name":"right","type":"int256"}],"stateMutability":"pure","type":"function","name":"assertLt"},{"inputs":[{"internalType":"uint256","name":"left","type":"uint256"},{"internalType":"uint256","name":"right","type":"uint256"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertLt"},{"inputs":[{"internalType":"int256","name":"left","type":"int256"},{"internalType":"int256","name":"right","type":"int256"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertLt"},{"inputs":[{"internalType":"uint256","name":"left","type":"uint256"},{"internalType":"uint256","name":"right","type":"uint256"}],"stateMutability":"pure","type":"function","name":"assertLt"},{"inputs":[{"internalType":"uint256","name":"left","type":"uint256"},{"internalType":"uint256","name":"right","type":"uint256"},{"internalType":"uint256","name":"decimals","type":"uint256"}],"stateMutability":"pure","type":"function","name":"assertLtDecimal"},{"inputs":[{"internalType":"int256","name":"left","type":"int256"},{"internalType":"int256","name":"right","type":"int256"},{"internalType":"uint256","name":"decimals","type":"uint256"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertLtDecimal"},{"inputs":[{"internalType":"uint256","name":"left","type":"uint256"},{"internalType":"uint256","name":"right","type":"uint256"},{"internalType":"uint256","name":"decimals","type":"uint256"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertLtDecimal"},{"inputs":[{"internalType":"int256","name":"left","type":"int256"},{"internalType":"int256","name":"right","type":"int256"},{"internalType":"uint256","name":"decimals","type":"uint256"}],"stateMutability":"pure","type":"function","name":"assertLtDecimal"},{"inputs":[{"internalType":"bytes32[]","name":"left","type":"bytes32[]"},{"internalType":"bytes32[]","name":"right","type":"bytes32[]"}],"stateMutability":"pure","type":"function","name":"assertNotEq"},{"inputs":[{"internalType":"int256[]","name":"left","type":"int256[]"},{"internalType":"int256[]","name":"right","type":"int256[]"}],"stateMutability":"pure","type":"function","name":"assertNotEq"},{"inputs":[{"internalType":"bool","name":"left","type":"bool"},{"internalType":"bool","name":"right","type":"bool"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertNotEq"},{"inputs":[{"internalType":"bytes[]","name":"left","type":"bytes[]"},{"internalType":"bytes[]","name":"right","type":"bytes[]"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertNotEq"},{"inputs":[{"internalType":"bool","name":"left","type":"bool"},{"internalType":"bool","name":"right","type":"bool"}],"stateMutability":"pure","type":"function","name":"assertNotEq"},{"inputs":[{"internalType":"bool[]","name":"left","type":"bool[]"},{"internalType":"bool[]","name":"right","type":"bool[]"}],"stateMutability":"pure","type":"function","name":"assertNotEq"},{"inputs":[{"internalType":"bytes","name":"left","type":"bytes"},{"internalType":"bytes","name":"right","type":"bytes"}],"stateMutability":"pure","type":"function","name":"assertNotEq"},{"inputs":[{"internalType":"address[]","name":"left","type":"address[]"},{"internalType":"address[]","name":"right","type":"address[]"}],"stateMutability":"pure","type":"function","name":"assertNotEq"},{"inputs":[{"internalType":"int256","name":"left","type":"int256"},{"internalType":"int256","name":"right","type":"int256"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertNotEq"},{"inputs":[{"internalType":"uint256[]","name":"left","type":"uint256[]"},{"internalType":"uint256[]","name":"right","type":"uint256[]"}],"stateMutability":"pure","type":"function","name":"assertNotEq"},{"inputs":[{"internalType":"bool[]","name":"left","type":"bool[]"},{"internalType":"bool[]","name":"right","type":"bool[]"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertNotEq"},{"inputs":[{"internalType":"string","name":"left","type":"string"},{"internalType":"string","name":"right","type":"string"}],"stateMutability":"pure","type":"function","name":"assertNotEq"},{"inputs":[{"internalType":"address[]","name":"left","type":"address[]"},{"internalType":"address[]","name":"right","type":"address[]"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertNotEq"},{"inputs":[{"internalType":"string","name":"left","type":"string"},{"internalType":"string","name":"right","type":"string"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertNotEq"},{"inputs":[{"internalType":"address","name":"left","type":"address"},{"internalType":"address","name":"right","type":"address"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertNotEq"},{"inputs":[{"internalType":"bytes32","name":"left","type":"bytes32"},{"internalType":"bytes32","name":"right","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"assertNotEq"},{"inputs":[{"internalType":"bytes","name":"left","type":"bytes"},{"internalType":"bytes","name":"right","type":"bytes"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertNotEq"},{"inputs":[{"internalType":"uint256","name":"left","type":"uint256"},{"internalType":"uint256","name":"right","type":"uint256"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertNotEq"},{"inputs":[{"internalType":"uint256[]","name":"left","type":"uint256[]"},{"internalType":"uint256[]","name":"right","type":"uint256[]"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertNotEq"},{"inputs":[{"internalType":"address","name":"left","type":"address"},{"internalType":"address","name":"right","type":"address"}],"stateMutability":"pure","type":"function","name":"assertNotEq"},{"inputs":[{"internalType":"bytes32","name":"left","type":"bytes32"},{"internalType":"bytes32","name":"right","type":"bytes32"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertNotEq"},{"inputs":[{"internalType":"string[]","name":"left","type":"string[]"},{"internalType":"string[]","name":"right","type":"string[]"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertNotEq"},{"inputs":[{"internalType":"uint256","name":"left","type":"uint256"},{"internalType":"uint256","name":"right","type":"uint256"}],"stateMutability":"pure","type":"function","name":"assertNotEq"},{"inputs":[{"internalType":"bytes32[]","name":"left","type":"bytes32[]"},{"internalType":"bytes32[]","name":"right","type":"bytes32[]"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertNotEq"},{"inputs":[{"internalType":"string[]","name":"left","type":"string[]"},{"internalType":"string[]","name":"right","type":"string[]"}],"stateMutability":"pure","type":"function","name":"assertNotEq"},{"inputs":[{"internalType":"int256[]","name":"left","type":"int256[]"},{"internalType":"int256[]","name":"right","type":"int256[]"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertNotEq"},{"inputs":[{"internalType":"bytes[]","name":"left","type":"bytes[]"},{"internalType":"bytes[]","name":"right","type":"bytes[]"}],"stateMutability":"pure","type":"function","name":"assertNotEq"},{"inputs":[{"internalType":"int256","name":"left","type":"int256"},{"internalType":"int256","name":"right","type":"int256"}],"stateMutability":"pure","type":"function","name":"assertNotEq"},{"inputs":[{"internalType":"int256","name":"left","type":"int256"},{"internalType":"int256","name":"right","type":"int256"},{"internalType":"uint256","name":"decimals","type":"uint256"}],"stateMutability":"pure","type":"function","name":"assertNotEqDecimal"},{"inputs":[{"internalType":"int256","name":"left","type":"int256"},{"internalType":"int256","name":"right","type":"int256"},{"internalType":"uint256","name":"decimals","type":"uint256"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertNotEqDecimal"},{"inputs":[{"internalType":"uint256","name":"left","type":"uint256"},{"internalType":"uint256","name":"right","type":"uint256"},{"internalType":"uint256","name":"decimals","type":"uint256"}],"stateMutability":"pure","type":"function","name":"assertNotEqDecimal"},{"inputs":[{"internalType":"uint256","name":"left","type":"uint256"},{"internalType":"uint256","name":"right","type":"uint256"},{"internalType":"uint256","name":"decimals","type":"uint256"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertNotEqDecimal"},{"inputs":[{"internalType":"bool","name":"condition","type":"bool"}],"stateMutability":"pure","type":"function","name":"assertTrue"},{"inputs":[{"internalType":"bool","name":"condition","type":"bool"},{"internalType":"string","name":"error","type":"string"}],"stateMutability":"pure","type":"function","name":"assertTrue"},{"inputs":[{"internalType":"bool","name":"condition","type":"bool"}],"stateMutability":"pure","type":"function","name":"assume"},{"inputs":[{"internalType":"string","name":"char","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"breakpoint"},{"inputs":[{"internalType":"string","name":"char","type":"string"},{"internalType":"bool","name":"value","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"breakpoint"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"broadcast"},{"inputs":[{"internalType":"address","name":"signer","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"broadcast"},{"inputs":[{"internalType":"uint256","name":"privateKey","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"broadcast"},{"inputs":[{"internalType":"string","name":"path","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"closeFile"},{"inputs":[{"internalType":"bytes32","name":"salt","type":"bytes32"},{"internalType":"bytes32","name":"initCodeHash","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"computeCreate2Address","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"salt","type":"bytes32"},{"internalType":"bytes32","name":"initCodeHash","type":"bytes32"},{"internalType":"address","name":"deployer","type":"address"}],"stateMutability":"pure","type":"function","name":"computeCreate2Address","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"deployer","type":"address"},{"internalType":"uint256","name":"nonce","type":"uint256"}],"stateMutability":"pure","type":"function","name":"computeCreateAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"string","name":"from","type":"string"},{"internalType":"string","name":"to","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"copyFile","outputs":[{"internalType":"uint64","name":"copied","type":"uint64"}]},{"inputs":[{"internalType":"string","name":"path","type":"string"},{"internalType":"bool","name":"recursive","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"createDir"},{"inputs":[{"internalType":"string","name":"walletLabel","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"createWallet","outputs":[{"internalType":"struct VmSafe.Wallet","name":"wallet","type":"tuple","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"uint256","name":"publicKeyX","type":"uint256"},{"internalType":"uint256","name":"publicKeyY","type":"uint256"},{"internalType":"uint256","name":"privateKey","type":"uint256"}]}]},{"inputs":[{"internalType":"uint256","name":"privateKey","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"createWallet","outputs":[{"internalType":"struct VmSafe.Wallet","name":"wallet","type":"tuple","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"uint256","name":"publicKeyX","type":"uint256"},{"internalType":"uint256","name":"publicKeyY","type":"uint256"},{"internalType":"uint256","name":"privateKey","type":"uint256"}]}]},{"inputs":[{"internalType":"uint256","name":"privateKey","type":"uint256"},{"internalType":"string","name":"walletLabel","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"createWallet","outputs":[{"internalType":"struct VmSafe.Wallet","name":"wallet","type":"tuple","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"uint256","name":"publicKeyX","type":"uint256"},{"internalType":"uint256","name":"publicKeyY","type":"uint256"},{"internalType":"uint256","name":"privateKey","type":"uint256"}]}]},{"inputs":[{"internalType":"string","name":"mnemonic","type":"string"},{"internalType":"string","name":"derivationPath","type":"string"},{"internalType":"uint32","name":"index","type":"uint32"},{"internalType":"string","name":"language","type":"string"}],"stateMutability":"pure","type":"function","name":"deriveKey","outputs":[{"internalType":"uint256","name":"privateKey","type":"uint256"}]},{"inputs":[{"internalType":"string","name":"mnemonic","type":"string"},{"internalType":"uint32","name":"index","type":"uint32"},{"internalType":"string","name":"language","type":"string"}],"stateMutability":"pure","type":"function","name":"deriveKey","outputs":[{"internalType":"uint256","name":"privateKey","type":"uint256"}]},{"inputs":[{"internalType":"string","name":"mnemonic","type":"string"},{"internalType":"uint32","name":"index","type":"uint32"}],"stateMutability":"pure","type":"function","name":"deriveKey","outputs":[{"internalType":"uint256","name":"privateKey","type":"uint256"}]},{"inputs":[{"internalType":"string","name":"mnemonic","type":"string"},{"internalType":"string","name":"derivationPath","type":"string"},{"internalType":"uint32","name":"index","type":"uint32"}],"stateMutability":"pure","type":"function","name":"deriveKey","outputs":[{"internalType":"uint256","name":"privateKey","type":"uint256"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"}],"stateMutability":"view","type":"function","name":"envAddress","outputs":[{"internalType":"address","name":"value","type":"address"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"delim","type":"string"}],"stateMutability":"view","type":"function","name":"envAddress","outputs":[{"internalType":"address[]","name":"value","type":"address[]"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"}],"stateMutability":"view","type":"function","name":"envBool","outputs":[{"internalType":"bool","name":"value","type":"bool"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"delim","type":"string"}],"stateMutability":"view","type":"function","name":"envBool","outputs":[{"internalType":"bool[]","name":"value","type":"bool[]"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"}],"stateMutability":"view","type":"function","name":"envBytes","outputs":[{"internalType":"bytes","name":"value","type":"bytes"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"delim","type":"string"}],"stateMutability":"view","type":"function","name":"envBytes","outputs":[{"internalType":"bytes[]","name":"value","type":"bytes[]"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"delim","type":"string"}],"stateMutability":"view","type":"function","name":"envBytes32","outputs":[{"internalType":"bytes32[]","name":"value","type":"bytes32[]"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"}],"stateMutability":"view","type":"function","name":"envBytes32","outputs":[{"internalType":"bytes32","name":"value","type":"bytes32"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"}],"stateMutability":"view","type":"function","name":"envExists","outputs":[{"internalType":"bool","name":"result","type":"bool"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"delim","type":"string"}],"stateMutability":"view","type":"function","name":"envInt","outputs":[{"internalType":"int256[]","name":"value","type":"int256[]"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"}],"stateMutability":"view","type":"function","name":"envInt","outputs":[{"internalType":"int256","name":"value","type":"int256"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"delim","type":"string"},{"internalType":"bytes32[]","name":"defaultValue","type":"bytes32[]"}],"stateMutability":"view","type":"function","name":"envOr","outputs":[{"internalType":"bytes32[]","name":"value","type":"bytes32[]"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"delim","type":"string"},{"internalType":"int256[]","name":"defaultValue","type":"int256[]"}],"stateMutability":"view","type":"function","name":"envOr","outputs":[{"internalType":"int256[]","name":"value","type":"int256[]"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"bool","name":"defaultValue","type":"bool"}],"stateMutability":"view","type":"function","name":"envOr","outputs":[{"internalType":"bool","name":"value","type":"bool"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"address","name":"defaultValue","type":"address"}],"stateMutability":"view","type":"function","name":"envOr","outputs":[{"internalType":"address","name":"value","type":"address"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"uint256","name":"defaultValue","type":"uint256"}],"stateMutability":"view","type":"function","name":"envOr","outputs":[{"internalType":"uint256","name":"value","type":"uint256"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"delim","type":"string"},{"internalType":"bytes[]","name":"defaultValue","type":"bytes[]"}],"stateMutability":"view","type":"function","name":"envOr","outputs":[{"internalType":"bytes[]","name":"value","type":"bytes[]"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"delim","type":"string"},{"internalType":"uint256[]","name":"defaultValue","type":"uint256[]"}],"stateMutability":"view","type":"function","name":"envOr","outputs":[{"internalType":"uint256[]","name":"value","type":"uint256[]"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"delim","type":"string"},{"internalType":"string[]","name":"defaultValue","type":"string[]"}],"stateMutability":"view","type":"function","name":"envOr","outputs":[{"internalType":"string[]","name":"value","type":"string[]"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"bytes","name":"defaultValue","type":"bytes"}],"stateMutability":"view","type":"function","name":"envOr","outputs":[{"internalType":"bytes","name":"value","type":"bytes"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"bytes32","name":"defaultValue","type":"bytes32"}],"stateMutability":"view","type":"function","name":"envOr","outputs":[{"internalType":"bytes32","name":"value","type":"bytes32"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"int256","name":"defaultValue","type":"int256"}],"stateMutability":"view","type":"function","name":"envOr","outputs":[{"internalType":"int256","name":"value","type":"int256"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"delim","type":"string"},{"internalType":"address[]","name":"defaultValue","type":"address[]"}],"stateMutability":"view","type":"function","name":"envOr","outputs":[{"internalType":"address[]","name":"value","type":"address[]"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"defaultValue","type":"string"}],"stateMutability":"view","type":"function","name":"envOr","outputs":[{"internalType":"string","name":"value","type":"string"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"delim","type":"string"},{"internalType":"bool[]","name":"defaultValue","type":"bool[]"}],"stateMutability":"view","type":"function","name":"envOr","outputs":[{"internalType":"bool[]","name":"value","type":"bool[]"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"delim","type":"string"}],"stateMutability":"view","type":"function","name":"envString","outputs":[{"internalType":"string[]","name":"value","type":"string[]"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"}],"stateMutability":"view","type":"function","name":"envString","outputs":[{"internalType":"string","name":"value","type":"string"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"}],"stateMutability":"view","type":"function","name":"envUint","outputs":[{"internalType":"uint256","name":"value","type":"uint256"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"delim","type":"string"}],"stateMutability":"view","type":"function","name":"envUint","outputs":[{"internalType":"uint256[]","name":"value","type":"uint256[]"}]},{"inputs":[{"internalType":"uint256","name":"fromBlock","type":"uint256"},{"internalType":"uint256","name":"toBlock","type":"uint256"},{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes32[]","name":"topics","type":"bytes32[]"}],"stateMutability":"nonpayable","type":"function","name":"eth_getLogs","outputs":[{"internalType":"struct VmSafe.EthGetLogs[]","name":"logs","type":"tuple[]","components":[{"internalType":"address","name":"emitter","type":"address"},{"internalType":"bytes32[]","name":"topics","type":"bytes32[]"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"bytes32","name":"blockHash","type":"bytes32"},{"internalType":"uint64","name":"blockNumber","type":"uint64"},{"internalType":"bytes32","name":"transactionHash","type":"bytes32"},{"internalType":"uint64","name":"transactionIndex","type":"uint64"},{"internalType":"uint256","name":"logIndex","type":"uint256"},{"internalType":"bool","name":"removed","type":"bool"}]}]},{"inputs":[{"internalType":"string","name":"path","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"exists","outputs":[{"internalType":"bool","name":"result","type":"bool"}]},{"inputs":[{"internalType":"string[]","name":"commandInput","type":"string[]"}],"stateMutability":"nonpayable","type":"function","name":"ffi","outputs":[{"internalType":"bytes","name":"result","type":"bytes"}]},{"inputs":[{"internalType":"string","name":"path","type":"string"}],"stateMutability":"view","type":"function","name":"fsMetadata","outputs":[{"internalType":"struct VmSafe.FsMetadata","name":"metadata","type":"tuple","components":[{"internalType":"bool","name":"isDir","type":"bool"},{"internalType":"bool","name":"isSymlink","type":"bool"},{"internalType":"uint256","name":"length","type":"uint256"},{"internalType":"bool","name":"readOnly","type":"bool"},{"internalType":"uint256","name":"modified","type":"uint256"},{"internalType":"uint256","name":"accessed","type":"uint256"},{"internalType":"uint256","name":"created","type":"uint256"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getBlobBaseFee","outputs":[{"internalType":"uint256","name":"blobBaseFee","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getBlockNumber","outputs":[{"internalType":"uint256","name":"height","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getBlockTimestamp","outputs":[{"internalType":"uint256","name":"timestamp","type":"uint256"}]},{"inputs":[{"internalType":"string","name":"artifactPath","type":"string"}],"stateMutability":"view","type":"function","name":"getCode","outputs":[{"internalType":"bytes","name":"creationBytecode","type":"bytes"}]},{"inputs":[{"internalType":"string","name":"artifactPath","type":"string"}],"stateMutability":"view","type":"function","name":"getDeployedCode","outputs":[{"internalType":"bytes","name":"runtimeBytecode","type":"bytes"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"getLabel","outputs":[{"internalType":"string","name":"currentLabel","type":"string"}]},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes32","name":"elementSlot","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"getMappingKeyAndParentOf","outputs":[{"internalType":"bool","name":"found","type":"bool"},{"internalType":"bytes32","name":"key","type":"bytes32"},{"internalType":"bytes32","name":"parent","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes32","name":"mappingSlot","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"getMappingLength","outputs":[{"internalType":"uint256","name":"length","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes32","name":"mappingSlot","type":"bytes32"},{"internalType":"uint256","name":"idx","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"getMappingSlotAt","outputs":[{"internalType":"bytes32","name":"value","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"getNonce","outputs":[{"internalType":"uint64","name":"nonce","type":"uint64"}]},{"inputs":[{"internalType":"struct VmSafe.Wallet","name":"wallet","type":"tuple","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"uint256","name":"publicKeyX","type":"uint256"},{"internalType":"uint256","name":"publicKeyY","type":"uint256"},{"internalType":"uint256","name":"privateKey","type":"uint256"}]}],"stateMutability":"nonpayable","type":"function","name":"getNonce","outputs":[{"internalType":"uint64","name":"nonce","type":"uint64"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"getRecordedLogs","outputs":[{"internalType":"struct VmSafe.Log[]","name":"logs","type":"tuple[]","components":[{"internalType":"bytes32[]","name":"topics","type":"bytes32[]"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"address","name":"emitter","type":"address"}]}]},{"inputs":[{"internalType":"string","name":"input","type":"string"},{"internalType":"string","name":"key","type":"string"}],"stateMutability":"pure","type":"function","name":"indexOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"enum VmSafe.ForgeContext","name":"context","type":"uint8"}],"stateMutability":"view","type":"function","name":"isContext","outputs":[{"internalType":"bool","name":"result","type":"bool"}]},{"inputs":[{"internalType":"string","name":"path","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"isDir","outputs":[{"internalType":"bool","name":"result","type":"bool"}]},{"inputs":[{"internalType":"string","name":"path","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"isFile","outputs":[{"internalType":"bool","name":"result","type":"bool"}]},{"inputs":[{"internalType":"string","name":"json","type":"string"},{"internalType":"string","name":"key","type":"string"}],"stateMutability":"view","type":"function","name":"keyExists","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"string","name":"json","type":"string"},{"internalType":"string","name":"key","type":"string"}],"stateMutability":"view","type":"function","name":"keyExistsJson","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"string","name":"toml","type":"string"},{"internalType":"string","name":"key","type":"string"}],"stateMutability":"view","type":"function","name":"keyExistsToml","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"string","name":"newLabel","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"label"},{"inputs":[],"stateMutability":"view","type":"function","name":"lastCallGas","outputs":[{"internalType":"struct VmSafe.Gas","name":"gas","type":"tuple","components":[{"internalType":"uint64","name":"gasLimit","type":"uint64"},{"internalType":"uint64","name":"gasTotalUsed","type":"uint64"},{"internalType":"uint64","name":"gasMemoryUsed","type":"uint64"},{"internalType":"int64","name":"gasRefunded","type":"int64"},{"internalType":"uint64","name":"gasRemaining","type":"uint64"}]}]},{"inputs":[{"internalType":"address","name":"target","type":"address"},{"internalType":"bytes32","name":"slot","type":"bytes32"}],"stateMutability":"view","type":"function","name":"load","outputs":[{"internalType":"bytes32","name":"data","type":"bytes32"}]},{"inputs":[{"internalType":"string","name":"stringifiedValue","type":"string"}],"stateMutability":"pure","type":"function","name":"parseAddress","outputs":[{"internalType":"address","name":"parsedValue","type":"address"}]},{"inputs":[{"internalType":"string","name":"stringifiedValue","type":"string"}],"stateMutability":"pure","type":"function","name":"parseBool","outputs":[{"internalType":"bool","name":"parsedValue","type":"bool"}]},{"inputs":[{"internalType":"string","name":"stringifiedValue","type":"string"}],"stateMutability":"pure","type":"function","name":"parseBytes","outputs":[{"internalType":"bytes","name":"parsedValue","type":"bytes"}]},{"inputs":[{"internalType":"string","name":"stringifiedValue","type":"string"}],"stateMutability":"pure","type":"function","name":"parseBytes32","outputs":[{"internalType":"bytes32","name":"parsedValue","type":"bytes32"}]},{"inputs":[{"internalType":"string","name":"stringifiedValue","type":"string"}],"stateMutability":"pure","type":"function","name":"parseInt","outputs":[{"internalType":"int256","name":"parsedValue","type":"int256"}]},{"inputs":[{"internalType":"string","name":"json","type":"string"}],"stateMutability":"pure","type":"function","name":"parseJson","outputs":[{"internalType":"bytes","name":"abiEncodedData","type":"bytes"}]},{"inputs":[{"internalType":"string","name":"json","type":"string"},{"internalType":"string","name":"key","type":"string"}],"stateMutability":"pure","type":"function","name":"parseJson","outputs":[{"internalType":"bytes","name":"abiEncodedData","type":"bytes"}]},{"inputs":[{"internalType":"string","name":"json","type":"string"},{"internalType":"string","name":"key","type":"string"}],"stateMutability":"pure","type":"function","name":"parseJsonAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"string","name":"json","type":"string"},{"internalType":"string","name":"key","type":"string"}],"stateMutability":"pure","type":"function","name":"parseJsonAddressArray","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[{"internalType":"string","name":"json","type":"string"},{"internalType":"string","name":"key","type":"string"}],"stateMutability":"pure","type":"function","name":"parseJsonBool","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"string","name":"json","type":"string"},{"internalType":"string","name":"key","type":"string"}],"stateMutability":"pure","type":"function","name":"parseJsonBoolArray","outputs":[{"internalType":"bool[]","name":"","type":"bool[]"}]},{"inputs":[{"internalType":"string","name":"json","type":"string"},{"internalType":"string","name":"key","type":"string"}],"stateMutability":"pure","type":"function","name":"parseJsonBytes","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"string","name":"json","type":"string"},{"internalType":"string","name":"key","type":"string"}],"stateMutability":"pure","type":"function","name":"parseJsonBytes32","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"string","name":"json","type":"string"},{"internalType":"string","name":"key","type":"string"}],"stateMutability":"pure","type":"function","name":"parseJsonBytes32Array","outputs":[{"internalType":"bytes32[]","name":"","type":"bytes32[]"}]},{"inputs":[{"internalType":"string","name":"json","type":"string"},{"internalType":"string","name":"key","type":"string"}],"stateMutability":"pure","type":"function","name":"parseJsonBytesArray","outputs":[{"internalType":"bytes[]","name":"","type":"bytes[]"}]},{"inputs":[{"internalType":"string","name":"json","type":"string"},{"internalType":"string","name":"key","type":"string"}],"stateMutability":"pure","type":"function","name":"parseJsonInt","outputs":[{"internalType":"int256","name":"","type":"int256"}]},{"inputs":[{"internalType":"string","name":"json","type":"string"},{"internalType":"string","name":"key","type":"string"}],"stateMutability":"pure","type":"function","name":"parseJsonIntArray","outputs":[{"internalType":"int256[]","name":"","type":"int256[]"}]},{"inputs":[{"internalType":"string","name":"json","type":"string"},{"internalType":"string","name":"key","type":"string"}],"stateMutability":"pure","type":"function","name":"parseJsonKeys","outputs":[{"internalType":"string[]","name":"keys","type":"string[]"}]},{"inputs":[{"internalType":"string","name":"json","type":"string"},{"internalType":"string","name":"key","type":"string"}],"stateMutability":"pure","type":"function","name":"parseJsonString","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"string","name":"json","type":"string"},{"internalType":"string","name":"key","type":"string"}],"stateMutability":"pure","type":"function","name":"parseJsonStringArray","outputs":[{"internalType":"string[]","name":"","type":"string[]"}]},{"inputs":[{"internalType":"string","name":"json","type":"string"},{"internalType":"string","name":"key","type":"string"}],"stateMutability":"pure","type":"function","name":"parseJsonUint","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"string","name":"json","type":"string"},{"internalType":"string","name":"key","type":"string"}],"stateMutability":"pure","type":"function","name":"parseJsonUintArray","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}]},{"inputs":[{"internalType":"string","name":"toml","type":"string"},{"internalType":"string","name":"key","type":"string"}],"stateMutability":"pure","type":"function","name":"parseToml","outputs":[{"internalType":"bytes","name":"abiEncodedData","type":"bytes"}]},{"inputs":[{"internalType":"string","name":"toml","type":"string"}],"stateMutability":"pure","type":"function","name":"parseToml","outputs":[{"internalType":"bytes","name":"abiEncodedData","type":"bytes"}]},{"inputs":[{"internalType":"string","name":"toml","type":"string"},{"internalType":"string","name":"key","type":"string"}],"stateMutability":"pure","type":"function","name":"parseTomlAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"string","name":"toml","type":"string"},{"internalType":"string","name":"key","type":"string"}],"stateMutability":"pure","type":"function","name":"parseTomlAddressArray","outputs":[{"internalType":"address[]","name":"","type":"address[]"}]},{"inputs":[{"internalType":"string","name":"toml","type":"string"},{"internalType":"string","name":"key","type":"string"}],"stateMutability":"pure","type":"function","name":"parseTomlBool","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"string","name":"toml","type":"string"},{"internalType":"string","name":"key","type":"string"}],"stateMutability":"pure","type":"function","name":"parseTomlBoolArray","outputs":[{"internalType":"bool[]","name":"","type":"bool[]"}]},{"inputs":[{"internalType":"string","name":"toml","type":"string"},{"internalType":"string","name":"key","type":"string"}],"stateMutability":"pure","type":"function","name":"parseTomlBytes","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"string","name":"toml","type":"string"},{"internalType":"string","name":"key","type":"string"}],"stateMutability":"pure","type":"function","name":"parseTomlBytes32","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"string","name":"toml","type":"string"},{"internalType":"string","name":"key","type":"string"}],"stateMutability":"pure","type":"function","name":"parseTomlBytes32Array","outputs":[{"internalType":"bytes32[]","name":"","type":"bytes32[]"}]},{"inputs":[{"internalType":"string","name":"toml","type":"string"},{"internalType":"string","name":"key","type":"string"}],"stateMutability":"pure","type":"function","name":"parseTomlBytesArray","outputs":[{"internalType":"bytes[]","name":"","type":"bytes[]"}]},{"inputs":[{"internalType":"string","name":"toml","type":"string"},{"internalType":"string","name":"key","type":"string"}],"stateMutability":"pure","type":"function","name":"parseTomlInt","outputs":[{"internalType":"int256","name":"","type":"int256"}]},{"inputs":[{"internalType":"string","name":"toml","type":"string"},{"internalType":"string","name":"key","type":"string"}],"stateMutability":"pure","type":"function","name":"parseTomlIntArray","outputs":[{"internalType":"int256[]","name":"","type":"int256[]"}]},{"inputs":[{"internalType":"string","name":"toml","type":"string"},{"internalType":"string","name":"key","type":"string"}],"stateMutability":"pure","type":"function","name":"parseTomlKeys","outputs":[{"internalType":"string[]","name":"keys","type":"string[]"}]},{"inputs":[{"internalType":"string","name":"toml","type":"string"},{"internalType":"string","name":"key","type":"string"}],"stateMutability":"pure","type":"function","name":"parseTomlString","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"string","name":"toml","type":"string"},{"internalType":"string","name":"key","type":"string"}],"stateMutability":"pure","type":"function","name":"parseTomlStringArray","outputs":[{"internalType":"string[]","name":"","type":"string[]"}]},{"inputs":[{"internalType":"string","name":"toml","type":"string"},{"internalType":"string","name":"key","type":"string"}],"stateMutability":"pure","type":"function","name":"parseTomlUint","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"string","name":"toml","type":"string"},{"internalType":"string","name":"key","type":"string"}],"stateMutability":"pure","type":"function","name":"parseTomlUintArray","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}]},{"inputs":[{"internalType":"string","name":"stringifiedValue","type":"string"}],"stateMutability":"pure","type":"function","name":"parseUint","outputs":[{"internalType":"uint256","name":"parsedValue","type":"uint256"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"pauseGasMetering"},{"inputs":[],"stateMutability":"view","type":"function","name":"projectRoot","outputs":[{"internalType":"string","name":"path","type":"string"}]},{"inputs":[{"internalType":"string","name":"promptText","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"prompt","outputs":[{"internalType":"string","name":"input","type":"string"}]},{"inputs":[{"internalType":"string","name":"promptText","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"promptAddress","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"string","name":"promptText","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"promptSecret","outputs":[{"internalType":"string","name":"input","type":"string"}]},{"inputs":[{"internalType":"string","name":"promptText","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"promptUint","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"string","name":"path","type":"string"},{"internalType":"uint64","name":"maxDepth","type":"uint64"}],"stateMutability":"view","type":"function","name":"readDir","outputs":[{"internalType":"struct VmSafe.DirEntry[]","name":"entries","type":"tuple[]","components":[{"internalType":"string","name":"errorMessage","type":"string"},{"internalType":"string","name":"path","type":"string"},{"internalType":"uint64","name":"depth","type":"uint64"},{"internalType":"bool","name":"isDir","type":"bool"},{"internalType":"bool","name":"isSymlink","type":"bool"}]}]},{"inputs":[{"internalType":"string","name":"path","type":"string"},{"internalType":"uint64","name":"maxDepth","type":"uint64"},{"internalType":"bool","name":"followLinks","type":"bool"}],"stateMutability":"view","type":"function","name":"readDir","outputs":[{"internalType":"struct VmSafe.DirEntry[]","name":"entries","type":"tuple[]","components":[{"internalType":"string","name":"errorMessage","type":"string"},{"internalType":"string","name":"path","type":"string"},{"internalType":"uint64","name":"depth","type":"uint64"},{"internalType":"bool","name":"isDir","type":"bool"},{"internalType":"bool","name":"isSymlink","type":"bool"}]}]},{"inputs":[{"internalType":"string","name":"path","type":"string"}],"stateMutability":"view","type":"function","name":"readDir","outputs":[{"internalType":"struct VmSafe.DirEntry[]","name":"entries","type":"tuple[]","components":[{"internalType":"string","name":"errorMessage","type":"string"},{"internalType":"string","name":"path","type":"string"},{"internalType":"uint64","name":"depth","type":"uint64"},{"internalType":"bool","name":"isDir","type":"bool"},{"internalType":"bool","name":"isSymlink","type":"bool"}]}]},{"inputs":[{"internalType":"string","name":"path","type":"string"}],"stateMutability":"view","type":"function","name":"readFile","outputs":[{"internalType":"string","name":"data","type":"string"}]},{"inputs":[{"internalType":"string","name":"path","type":"string"}],"stateMutability":"view","type":"function","name":"readFileBinary","outputs":[{"internalType":"bytes","name":"data","type":"bytes"}]},{"inputs":[{"internalType":"string","name":"path","type":"string"}],"stateMutability":"view","type":"function","name":"readLine","outputs":[{"internalType":"string","name":"line","type":"string"}]},{"inputs":[{"internalType":"string","name":"linkPath","type":"string"}],"stateMutability":"view","type":"function","name":"readLink","outputs":[{"internalType":"string","name":"targetPath","type":"string"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"record"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"recordLogs"},{"inputs":[{"internalType":"uint256","name":"privateKey","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"rememberKey","outputs":[{"internalType":"address","name":"keyAddr","type":"address"}]},{"inputs":[{"internalType":"string","name":"path","type":"string"},{"internalType":"bool","name":"recursive","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"removeDir"},{"inputs":[{"internalType":"string","name":"path","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"removeFile"},{"inputs":[{"internalType":"string","name":"input","type":"string"},{"internalType":"string","name":"from","type":"string"},{"internalType":"string","name":"to","type":"string"}],"stateMutability":"pure","type":"function","name":"replace","outputs":[{"internalType":"string","name":"output","type":"string"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"resumeGasMetering"},{"inputs":[{"internalType":"string","name":"method","type":"string"},{"internalType":"string","name":"params","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"rpc","outputs":[{"internalType":"bytes","name":"data","type":"bytes"}]},{"inputs":[{"internalType":"string","name":"rpcAlias","type":"string"}],"stateMutability":"view","type":"function","name":"rpcUrl","outputs":[{"internalType":"string","name":"json","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"rpcUrlStructs","outputs":[{"internalType":"struct VmSafe.Rpc[]","name":"urls","type":"tuple[]","components":[{"internalType":"string","name":"key","type":"string"},{"internalType":"string","name":"url","type":"string"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"rpcUrls","outputs":[{"internalType":"string[2][]","name":"urls","type":"string[2][]"}]},{"inputs":[{"internalType":"string","name":"objectKey","type":"string"},{"internalType":"string","name":"valueKey","type":"string"},{"internalType":"address[]","name":"values","type":"address[]"}],"stateMutability":"nonpayable","type":"function","name":"serializeAddress","outputs":[{"internalType":"string","name":"json","type":"string"}]},{"inputs":[{"internalType":"string","name":"objectKey","type":"string"},{"internalType":"string","name":"valueKey","type":"string"},{"internalType":"address","name":"value","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"serializeAddress","outputs":[{"internalType":"string","name":"json","type":"string"}]},{"inputs":[{"internalType":"string","name":"objectKey","type":"string"},{"internalType":"string","name":"valueKey","type":"string"},{"internalType":"bool[]","name":"values","type":"bool[]"}],"stateMutability":"nonpayable","type":"function","name":"serializeBool","outputs":[{"internalType":"string","name":"json","type":"string"}]},{"inputs":[{"internalType":"string","name":"objectKey","type":"string"},{"internalType":"string","name":"valueKey","type":"string"},{"internalType":"bool","name":"value","type":"bool"}],"stateMutability":"nonpayable","type":"function","name":"serializeBool","outputs":[{"internalType":"string","name":"json","type":"string"}]},{"inputs":[{"internalType":"string","name":"objectKey","type":"string"},{"internalType":"string","name":"valueKey","type":"string"},{"internalType":"bytes[]","name":"values","type":"bytes[]"}],"stateMutability":"nonpayable","type":"function","name":"serializeBytes","outputs":[{"internalType":"string","name":"json","type":"string"}]},{"inputs":[{"internalType":"string","name":"objectKey","type":"string"},{"internalType":"string","name":"valueKey","type":"string"},{"internalType":"bytes","name":"value","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"serializeBytes","outputs":[{"internalType":"string","name":"json","type":"string"}]},{"inputs":[{"internalType":"string","name":"objectKey","type":"string"},{"internalType":"string","name":"valueKey","type":"string"},{"internalType":"bytes32[]","name":"values","type":"bytes32[]"}],"stateMutability":"nonpayable","type":"function","name":"serializeBytes32","outputs":[{"internalType":"string","name":"json","type":"string"}]},{"inputs":[{"internalType":"string","name":"objectKey","type":"string"},{"internalType":"string","name":"valueKey","type":"string"},{"internalType":"bytes32","name":"value","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"serializeBytes32","outputs":[{"internalType":"string","name":"json","type":"string"}]},{"inputs":[{"internalType":"string","name":"objectKey","type":"string"},{"internalType":"string","name":"valueKey","type":"string"},{"internalType":"int256","name":"value","type":"int256"}],"stateMutability":"nonpayable","type":"function","name":"serializeInt","outputs":[{"internalType":"string","name":"json","type":"string"}]},{"inputs":[{"internalType":"string","name":"objectKey","type":"string"},{"internalType":"string","name":"valueKey","type":"string"},{"internalType":"int256[]","name":"values","type":"int256[]"}],"stateMutability":"nonpayable","type":"function","name":"serializeInt","outputs":[{"internalType":"string","name":"json","type":"string"}]},{"inputs":[{"internalType":"string","name":"objectKey","type":"string"},{"internalType":"string","name":"value","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"serializeJson","outputs":[{"internalType":"string","name":"json","type":"string"}]},{"inputs":[{"internalType":"string","name":"objectKey","type":"string"},{"internalType":"string","name":"valueKey","type":"string"},{"internalType":"string[]","name":"values","type":"string[]"}],"stateMutability":"nonpayable","type":"function","name":"serializeString","outputs":[{"internalType":"string","name":"json","type":"string"}]},{"inputs":[{"internalType":"string","name":"objectKey","type":"string"},{"internalType":"string","name":"valueKey","type":"string"},{"internalType":"string","name":"value","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"serializeString","outputs":[{"internalType":"string","name":"json","type":"string"}]},{"inputs":[{"internalType":"string","name":"objectKey","type":"string"},{"internalType":"string","name":"valueKey","type":"string"},{"internalType":"uint256","name":"value","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"serializeUint","outputs":[{"internalType":"string","name":"json","type":"string"}]},{"inputs":[{"internalType":"string","name":"objectKey","type":"string"},{"internalType":"string","name":"valueKey","type":"string"},{"internalType":"uint256[]","name":"values","type":"uint256[]"}],"stateMutability":"nonpayable","type":"function","name":"serializeUint","outputs":[{"internalType":"string","name":"json","type":"string"}]},{"inputs":[{"internalType":"string","name":"objectKey","type":"string"},{"internalType":"string","name":"valueKey","type":"string"},{"internalType":"uint256","name":"value","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"serializeUintToHex","outputs":[{"internalType":"string","name":"json","type":"string"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"value","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"setEnv"},{"inputs":[{"internalType":"bytes32","name":"digest","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"sign","outputs":[{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}]},{"inputs":[{"internalType":"address","name":"signer","type":"address"},{"internalType":"bytes32","name":"digest","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"sign","outputs":[{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}]},{"inputs":[{"internalType":"struct VmSafe.Wallet","name":"wallet","type":"tuple","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"uint256","name":"publicKeyX","type":"uint256"},{"internalType":"uint256","name":"publicKeyY","type":"uint256"},{"internalType":"uint256","name":"privateKey","type":"uint256"}]},{"internalType":"bytes32","name":"digest","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"sign","outputs":[{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}]},{"inputs":[{"internalType":"uint256","name":"privateKey","type":"uint256"},{"internalType":"bytes32","name":"digest","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"sign","outputs":[{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}]},{"inputs":[{"internalType":"uint256","name":"privateKey","type":"uint256"},{"internalType":"bytes32","name":"digest","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"signP256","outputs":[{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}]},{"inputs":[{"internalType":"uint256","name":"duration","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"sleep"},{"inputs":[{"internalType":"string","name":"input","type":"string"},{"internalType":"string","name":"delimiter","type":"string"}],"stateMutability":"pure","type":"function","name":"split","outputs":[{"internalType":"string[]","name":"outputs","type":"string[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"startBroadcast"},{"inputs":[{"internalType":"address","name":"signer","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"startBroadcast"},{"inputs":[{"internalType":"uint256","name":"privateKey","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"startBroadcast"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"startMappingRecording"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"startStateDiffRecording"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"stopAndReturnStateDiff","outputs":[{"internalType":"struct VmSafe.AccountAccess[]","name":"accountAccesses","type":"tuple[]","components":[{"internalType":"struct VmSafe.ChainInfo","name":"chainInfo","type":"tuple","components":[{"internalType":"uint256","name":"forkId","type":"uint256"},{"internalType":"uint256","name":"chainId","type":"uint256"}]},{"internalType":"enum VmSafe.AccountAccessKind","name":"kind","type":"uint8"},{"internalType":"address","name":"account","type":"address"},{"internalType":"address","name":"accessor","type":"address"},{"internalType":"bool","name":"initialized","type":"bool"},{"internalType":"uint256","name":"oldBalance","type":"uint256"},{"internalType":"uint256","name":"newBalance","type":"uint256"},{"internalType":"bytes","name":"deployedCode","type":"bytes"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"bool","name":"reverted","type":"bool"},{"internalType":"struct VmSafe.StorageAccess[]","name":"storageAccesses","type":"tuple[]","components":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"slot","type":"bytes32"},{"internalType":"bool","name":"isWrite","type":"bool"},{"internalType":"bytes32","name":"previousValue","type":"bytes32"},{"internalType":"bytes32","name":"newValue","type":"bytes32"},{"internalType":"bool","name":"reverted","type":"bool"}]},{"internalType":"uint64","name":"depth","type":"uint64"}]}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"stopBroadcast"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"stopMappingRecording"},{"inputs":[{"internalType":"string","name":"data","type":"string"}],"stateMutability":"pure","type":"function","name":"toBase64","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"pure","type":"function","name":"toBase64","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"string","name":"data","type":"string"}],"stateMutability":"pure","type":"function","name":"toBase64URL","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"pure","type":"function","name":"toBase64URL","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"string","name":"input","type":"string"}],"stateMutability":"pure","type":"function","name":"toLowercase","outputs":[{"internalType":"string","name":"output","type":"string"}]},{"inputs":[{"internalType":"address","name":"value","type":"address"}],"stateMutability":"pure","type":"function","name":"toString","outputs":[{"internalType":"string","name":"stringifiedValue","type":"string"}]},{"inputs":[{"internalType":"uint256","name":"value","type":"uint256"}],"stateMutability":"pure","type":"function","name":"toString","outputs":[{"internalType":"string","name":"stringifiedValue","type":"string"}]},{"inputs":[{"internalType":"bytes","name":"value","type":"bytes"}],"stateMutability":"pure","type":"function","name":"toString","outputs":[{"internalType":"string","name":"stringifiedValue","type":"string"}]},{"inputs":[{"internalType":"bool","name":"value","type":"bool"}],"stateMutability":"pure","type":"function","name":"toString","outputs":[{"internalType":"string","name":"stringifiedValue","type":"string"}]},{"inputs":[{"internalType":"int256","name":"value","type":"int256"}],"stateMutability":"pure","type":"function","name":"toString","outputs":[{"internalType":"string","name":"stringifiedValue","type":"string"}]},{"inputs":[{"internalType":"bytes32","name":"value","type":"bytes32"}],"stateMutability":"pure","type":"function","name":"toString","outputs":[{"internalType":"string","name":"stringifiedValue","type":"string"}]},{"inputs":[{"internalType":"string","name":"input","type":"string"}],"stateMutability":"pure","type":"function","name":"toUppercase","outputs":[{"internalType":"string","name":"output","type":"string"}]},{"inputs":[{"internalType":"string","name":"input","type":"string"}],"stateMutability":"pure","type":"function","name":"trim","outputs":[{"internalType":"string","name":"output","type":"string"}]},{"inputs":[{"internalType":"string[]","name":"commandInput","type":"string[]"}],"stateMutability":"nonpayable","type":"function","name":"tryFfi","outputs":[{"internalType":"struct VmSafe.FfiResult","name":"result","type":"tuple","components":[{"internalType":"int32","name":"exitCode","type":"int32"},{"internalType":"bytes","name":"stdout","type":"bytes"},{"internalType":"bytes","name":"stderr","type":"bytes"}]}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"unixTime","outputs":[{"internalType":"uint256","name":"milliseconds","type":"uint256"}]},{"inputs":[{"internalType":"string","name":"path","type":"string"},{"internalType":"string","name":"data","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"writeFile"},{"inputs":[{"internalType":"string","name":"path","type":"string"},{"internalType":"bytes","name":"data","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"writeFileBinary"},{"inputs":[{"internalType":"string","name":"json","type":"string"},{"internalType":"string","name":"path","type":"string"},{"internalType":"string","name":"valueKey","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"writeJson"},{"inputs":[{"internalType":"string","name":"json","type":"string"},{"internalType":"string","name":"path","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"writeJson"},{"inputs":[{"internalType":"string","name":"path","type":"string"},{"internalType":"string","name":"data","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"writeLine"},{"inputs":[{"internalType":"string","name":"json","type":"string"},{"internalType":"string","name":"path","type":"string"},{"internalType":"string","name":"valueKey","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"writeToml"},{"inputs":[{"internalType":"string","name":"json","type":"string"},{"internalType":"string","name":"path","type":"string"}],"stateMutability":"nonpayable","type":"function","name":"writeToml"}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{"accesses(address)":{"notice":"Gets all accessed reads and write slot from a `vm.record` session, for a given address."},"addr(uint256)":{"notice":"Gets the address for a given private key."},"assertApproxEqAbs(int256,int256,uint256)":{"notice":"Compares two `int256` values. Expects difference to be less than or equal to `maxDelta`."},"assertApproxEqAbs(int256,int256,uint256,string)":{"notice":"Compares two `int256` values. Expects difference to be less than or equal to `maxDelta`. Includes error message into revert string on failure."},"assertApproxEqAbs(uint256,uint256,uint256)":{"notice":"Compares two `uint256` values. Expects difference to be less than or equal to `maxDelta`."},"assertApproxEqAbs(uint256,uint256,uint256,string)":{"notice":"Compares two `uint256` values. Expects difference to be less than or equal to `maxDelta`. Includes error message into revert string on failure."},"assertApproxEqAbsDecimal(int256,int256,uint256,uint256)":{"notice":"Compares two `int256` values. Expects difference to be less than or equal to `maxDelta`. Formats values with decimals in failure message."},"assertApproxEqAbsDecimal(int256,int256,uint256,uint256,string)":{"notice":"Compares two `int256` values. Expects difference to be less than or equal to `maxDelta`. Formats values with decimals in failure message. Includes error message into revert string on failure."},"assertApproxEqAbsDecimal(uint256,uint256,uint256,uint256)":{"notice":"Compares two `uint256` values. Expects difference to be less than or equal to `maxDelta`. Formats values with decimals in failure message."},"assertApproxEqAbsDecimal(uint256,uint256,uint256,uint256,string)":{"notice":"Compares two `uint256` values. Expects difference to be less than or equal to `maxDelta`. Formats values with decimals in failure message. Includes error message into revert string on failure."},"assertApproxEqRel(int256,int256,uint256)":{"notice":"Compares two `int256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`. `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100%"},"assertApproxEqRel(int256,int256,uint256,string)":{"notice":"Compares two `int256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`. `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100% Includes error message into revert string on failure."},"assertApproxEqRel(uint256,uint256,uint256)":{"notice":"Compares two `uint256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`. `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100%"},"assertApproxEqRel(uint256,uint256,uint256,string)":{"notice":"Compares two `uint256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`. `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100% Includes error message into revert string on failure."},"assertApproxEqRelDecimal(int256,int256,uint256,uint256)":{"notice":"Compares two `int256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`. `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100% Formats values with decimals in failure message."},"assertApproxEqRelDecimal(int256,int256,uint256,uint256,string)":{"notice":"Compares two `int256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`. `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100% Formats values with decimals in failure message. Includes error message into revert string on failure."},"assertApproxEqRelDecimal(uint256,uint256,uint256,uint256)":{"notice":"Compares two `uint256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`. `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100% Formats values with decimals in failure message."},"assertApproxEqRelDecimal(uint256,uint256,uint256,uint256,string)":{"notice":"Compares two `uint256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`. `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100% Formats values with decimals in failure message. Includes error message into revert string on failure."},"assertEq(address,address)":{"notice":"Asserts that two `address` values are equal."},"assertEq(address,address,string)":{"notice":"Asserts that two `address` values are equal and includes error message into revert string on failure."},"assertEq(address[],address[])":{"notice":"Asserts that two arrays of `address` values are equal."},"assertEq(address[],address[],string)":{"notice":"Asserts that two arrays of `address` values are equal and includes error message into revert string on failure."},"assertEq(bool,bool)":{"notice":"Asserts that two `bool` values are equal."},"assertEq(bool,bool,string)":{"notice":"Asserts that two `bool` values are equal and includes error message into revert string on failure."},"assertEq(bool[],bool[])":{"notice":"Asserts that two arrays of `bool` values are equal."},"assertEq(bool[],bool[],string)":{"notice":"Asserts that two arrays of `bool` values are equal and includes error message into revert string on failure."},"assertEq(bytes,bytes)":{"notice":"Asserts that two `bytes` values are equal."},"assertEq(bytes,bytes,string)":{"notice":"Asserts that two `bytes` values are equal and includes error message into revert string on failure."},"assertEq(bytes32,bytes32)":{"notice":"Asserts that two `bytes32` values are equal."},"assertEq(bytes32,bytes32,string)":{"notice":"Asserts that two `bytes32` values are equal and includes error message into revert string on failure."},"assertEq(bytes32[],bytes32[])":{"notice":"Asserts that two arrays of `bytes32` values are equal."},"assertEq(bytes32[],bytes32[],string)":{"notice":"Asserts that two arrays of `bytes32` values are equal and includes error message into revert string on failure."},"assertEq(bytes[],bytes[])":{"notice":"Asserts that two arrays of `bytes` values are equal."},"assertEq(bytes[],bytes[],string)":{"notice":"Asserts that two arrays of `bytes` values are equal and includes error message into revert string on failure."},"assertEq(int256,int256)":{"notice":"Asserts that two `int256` values are equal."},"assertEq(int256,int256,string)":{"notice":"Asserts that two `int256` values are equal and includes error message into revert string on failure."},"assertEq(int256[],int256[])":{"notice":"Asserts that two arrays of `int256` values are equal."},"assertEq(int256[],int256[],string)":{"notice":"Asserts that two arrays of `int256` values are equal and includes error message into revert string on failure."},"assertEq(string,string)":{"notice":"Asserts that two `string` values are equal."},"assertEq(string,string,string)":{"notice":"Asserts that two `string` values are equal and includes error message into revert string on failure."},"assertEq(string[],string[])":{"notice":"Asserts that two arrays of `string` values are equal."},"assertEq(string[],string[],string)":{"notice":"Asserts that two arrays of `string` values are equal and includes error message into revert string on failure."},"assertEq(uint256,uint256)":{"notice":"Asserts that two `uint256` values are equal."},"assertEq(uint256,uint256,string)":{"notice":"Asserts that two `uint256` values are equal and includes error message into revert string on failure."},"assertEq(uint256[],uint256[])":{"notice":"Asserts that two arrays of `uint256 values are equal."},"assertEq(uint256[],uint256[],string)":{"notice":"Asserts that two arrays of `uint256` values are equal and includes error message into revert string on failure."},"assertEqDecimal(int256,int256,uint256)":{"notice":"Asserts that two `int256` values are equal, formatting them with decimals in failure message."},"assertEqDecimal(int256,int256,uint256,string)":{"notice":"Asserts that two `int256` values are equal, formatting them with decimals in failure message. Includes error message into revert string on failure."},"assertEqDecimal(uint256,uint256,uint256)":{"notice":"Asserts that two `uint256` values are equal, formatting them with decimals in failure message."},"assertEqDecimal(uint256,uint256,uint256,string)":{"notice":"Asserts that two `uint256` values are equal, formatting them with decimals in failure message. Includes error message into revert string on failure."},"assertFalse(bool)":{"notice":"Asserts that the given condition is false."},"assertFalse(bool,string)":{"notice":"Asserts that the given condition is false and includes error message into revert string on failure."},"assertGe(int256,int256)":{"notice":"Compares two `int256` values. Expects first value to be greater than or equal to second."},"assertGe(int256,int256,string)":{"notice":"Compares two `int256` values. Expects first value to be greater than or equal to second. Includes error message into revert string on failure."},"assertGe(uint256,uint256)":{"notice":"Compares two `uint256` values. Expects first value to be greater than or equal to second."},"assertGe(uint256,uint256,string)":{"notice":"Compares two `uint256` values. Expects first value to be greater than or equal to second. Includes error message into revert string on failure."},"assertGeDecimal(int256,int256,uint256)":{"notice":"Compares two `int256` values. Expects first value to be greater than or equal to second. Formats values with decimals in failure message."},"assertGeDecimal(int256,int256,uint256,string)":{"notice":"Compares two `int256` values. Expects first value to be greater than or equal to second. Formats values with decimals in failure message. Includes error message into revert string on failure."},"assertGeDecimal(uint256,uint256,uint256)":{"notice":"Compares two `uint256` values. Expects first value to be greater than or equal to second. Formats values with decimals in failure message."},"assertGeDecimal(uint256,uint256,uint256,string)":{"notice":"Compares two `uint256` values. Expects first value to be greater than or equal to second. Formats values with decimals in failure message. Includes error message into revert string on failure."},"assertGt(int256,int256)":{"notice":"Compares two `int256` values. Expects first value to be greater than second."},"assertGt(int256,int256,string)":{"notice":"Compares two `int256` values. Expects first value to be greater than second. Includes error message into revert string on failure."},"assertGt(uint256,uint256)":{"notice":"Compares two `uint256` values. Expects first value to be greater than second."},"assertGt(uint256,uint256,string)":{"notice":"Compares two `uint256` values. Expects first value to be greater than second. Includes error message into revert string on failure."},"assertGtDecimal(int256,int256,uint256)":{"notice":"Compares two `int256` values. Expects first value to be greater than second. Formats values with decimals in failure message."},"assertGtDecimal(int256,int256,uint256,string)":{"notice":"Compares two `int256` values. Expects first value to be greater than second. Formats values with decimals in failure message. Includes error message into revert string on failure."},"assertGtDecimal(uint256,uint256,uint256)":{"notice":"Compares two `uint256` values. Expects first value to be greater than second. Formats values with decimals in failure message."},"assertGtDecimal(uint256,uint256,uint256,string)":{"notice":"Compares two `uint256` values. Expects first value to be greater than second. Formats values with decimals in failure message. Includes error message into revert string on failure."},"assertLe(int256,int256)":{"notice":"Compares two `int256` values. Expects first value to be less than or equal to second."},"assertLe(int256,int256,string)":{"notice":"Compares two `int256` values. Expects first value to be less than or equal to second. Includes error message into revert string on failure."},"assertLe(uint256,uint256)":{"notice":"Compares two `uint256` values. Expects first value to be less than or equal to second."},"assertLe(uint256,uint256,string)":{"notice":"Compares two `uint256` values. Expects first value to be less than or equal to second. Includes error message into revert string on failure."},"assertLeDecimal(int256,int256,uint256)":{"notice":"Compares two `int256` values. Expects first value to be less than or equal to second. Formats values with decimals in failure message."},"assertLeDecimal(int256,int256,uint256,string)":{"notice":"Compares two `int256` values. Expects first value to be less than or equal to second. Formats values with decimals in failure message. Includes error message into revert string on failure."},"assertLeDecimal(uint256,uint256,uint256)":{"notice":"Compares two `uint256` values. Expects first value to be less than or equal to second. Formats values with decimals in failure message."},"assertLeDecimal(uint256,uint256,uint256,string)":{"notice":"Compares two `uint256` values. Expects first value to be less than or equal to second. Formats values with decimals in failure message. Includes error message into revert string on failure."},"assertLt(int256,int256)":{"notice":"Compares two `int256` values. Expects first value to be less than second."},"assertLt(int256,int256,string)":{"notice":"Compares two `int256` values. Expects first value to be less than second. Includes error message into revert string on failure."},"assertLt(uint256,uint256)":{"notice":"Compares two `uint256` values. Expects first value to be less than second."},"assertLt(uint256,uint256,string)":{"notice":"Compares two `uint256` values. Expects first value to be less than second. Includes error message into revert string on failure."},"assertLtDecimal(int256,int256,uint256)":{"notice":"Compares two `int256` values. Expects first value to be less than second. Formats values with decimals in failure message."},"assertLtDecimal(int256,int256,uint256,string)":{"notice":"Compares two `int256` values. Expects first value to be less than second. Formats values with decimals in failure message. Includes error message into revert string on failure."},"assertLtDecimal(uint256,uint256,uint256)":{"notice":"Compares two `uint256` values. Expects first value to be less than second. Formats values with decimals in failure message."},"assertLtDecimal(uint256,uint256,uint256,string)":{"notice":"Compares two `uint256` values. Expects first value to be less than second. Formats values with decimals in failure message. Includes error message into revert string on failure."},"assertNotEq(address,address)":{"notice":"Asserts that two `address` values are not equal."},"assertNotEq(address,address,string)":{"notice":"Asserts that two `address` values are not equal and includes error message into revert string on failure."},"assertNotEq(address[],address[])":{"notice":"Asserts that two arrays of `address` values are not equal."},"assertNotEq(address[],address[],string)":{"notice":"Asserts that two arrays of `address` values are not equal and includes error message into revert string on failure."},"assertNotEq(bool,bool)":{"notice":"Asserts that two `bool` values are not equal."},"assertNotEq(bool,bool,string)":{"notice":"Asserts that two `bool` values are not equal and includes error message into revert string on failure."},"assertNotEq(bool[],bool[])":{"notice":"Asserts that two arrays of `bool` values are not equal."},"assertNotEq(bool[],bool[],string)":{"notice":"Asserts that two arrays of `bool` values are not equal and includes error message into revert string on failure."},"assertNotEq(bytes,bytes)":{"notice":"Asserts that two `bytes` values are not equal."},"assertNotEq(bytes,bytes,string)":{"notice":"Asserts that two `bytes` values are not equal and includes error message into revert string on failure."},"assertNotEq(bytes32,bytes32)":{"notice":"Asserts that two `bytes32` values are not equal."},"assertNotEq(bytes32,bytes32,string)":{"notice":"Asserts that two `bytes32` values are not equal and includes error message into revert string on failure."},"assertNotEq(bytes32[],bytes32[])":{"notice":"Asserts that two arrays of `bytes32` values are not equal."},"assertNotEq(bytes32[],bytes32[],string)":{"notice":"Asserts that two arrays of `bytes32` values are not equal and includes error message into revert string on failure."},"assertNotEq(bytes[],bytes[])":{"notice":"Asserts that two arrays of `bytes` values are not equal."},"assertNotEq(bytes[],bytes[],string)":{"notice":"Asserts that two arrays of `bytes` values are not equal and includes error message into revert string on failure."},"assertNotEq(int256,int256)":{"notice":"Asserts that two `int256` values are not equal."},"assertNotEq(int256,int256,string)":{"notice":"Asserts that two `int256` values are not equal and includes error message into revert string on failure."},"assertNotEq(int256[],int256[])":{"notice":"Asserts that two arrays of `int256` values are not equal."},"assertNotEq(int256[],int256[],string)":{"notice":"Asserts that two arrays of `int256` values are not equal and includes error message into revert string on failure."},"assertNotEq(string,string)":{"notice":"Asserts that two `string` values are not equal."},"assertNotEq(string,string,string)":{"notice":"Asserts that two `string` values are not equal and includes error message into revert string on failure."},"assertNotEq(string[],string[])":{"notice":"Asserts that two arrays of `string` values are not equal."},"assertNotEq(string[],string[],string)":{"notice":"Asserts that two arrays of `string` values are not equal and includes error message into revert string on failure."},"assertNotEq(uint256,uint256)":{"notice":"Asserts that two `uint256` values are not equal."},"assertNotEq(uint256,uint256,string)":{"notice":"Asserts that two `uint256` values are not equal and includes error message into revert string on failure."},"assertNotEq(uint256[],uint256[])":{"notice":"Asserts that two arrays of `uint256` values are not equal."},"assertNotEq(uint256[],uint256[],string)":{"notice":"Asserts that two arrays of `uint256` values are not equal and includes error message into revert string on failure."},"assertNotEqDecimal(int256,int256,uint256)":{"notice":"Asserts that two `int256` values are not equal, formatting them with decimals in failure message."},"assertNotEqDecimal(int256,int256,uint256,string)":{"notice":"Asserts that two `int256` values are not equal, formatting them with decimals in failure message. Includes error message into revert string on failure."},"assertNotEqDecimal(uint256,uint256,uint256)":{"notice":"Asserts that two `uint256` values are not equal, formatting them with decimals in failure message."},"assertNotEqDecimal(uint256,uint256,uint256,string)":{"notice":"Asserts that two `uint256` values are not equal, formatting them with decimals in failure message. Includes error message into revert string on failure."},"assertTrue(bool)":{"notice":"Asserts that the given condition is true."},"assertTrue(bool,string)":{"notice":"Asserts that the given condition is true and includes error message into revert string on failure."},"assume(bool)":{"notice":"If the condition is false, discard this run's fuzz inputs and generate new ones."},"breakpoint(string)":{"notice":"Writes a breakpoint to jump to in the debugger."},"breakpoint(string,bool)":{"notice":"Writes a conditional breakpoint to jump to in the debugger."},"broadcast()":{"notice":"Has the next call (at this call depth only) create transactions that can later be signed and sent onchain. Broadcasting address is determined by checking the following in order: 1. If `--sender` argument was provided, that address is used. 2. If exactly one signer (e.g. private key, hw wallet, keystore) is set when `forge broadcast` is invoked, that signer is used. 3. Otherwise, default foundry sender (1804c8AB1F12E6bbf3894d4083f33e07309d1f38) is used."},"broadcast(address)":{"notice":"Has the next call (at this call depth only) create a transaction with the address provided as the sender that can later be signed and sent onchain."},"broadcast(uint256)":{"notice":"Has the next call (at this call depth only) create a transaction with the private key provided as the sender that can later be signed and sent onchain."},"closeFile(string)":{"notice":"Closes file for reading, resetting the offset and allowing to read it from beginning with readLine. `path` is relative to the project root."},"computeCreate2Address(bytes32,bytes32)":{"notice":"Compute the address of a contract created with CREATE2 using the default CREATE2 deployer."},"computeCreate2Address(bytes32,bytes32,address)":{"notice":"Compute the address of a contract created with CREATE2 using the given CREATE2 deployer."},"computeCreateAddress(address,uint256)":{"notice":"Compute the address a contract will be deployed at for a given deployer address and nonce."},"copyFile(string,string)":{"notice":"Copies the contents of one file to another. This function will **overwrite** the contents of `to`. On success, the total number of bytes copied is returned and it is equal to the length of the `to` file as reported by `metadata`. Both `from` and `to` are relative to the project root."},"createDir(string,bool)":{"notice":"Creates a new, empty directory at the provided path. This cheatcode will revert in the following situations, but is not limited to just these cases: - User lacks permissions to modify `path`. - A parent of the given path doesn't exist and `recursive` is false. - `path` already exists and `recursive` is false. `path` is relative to the project root."},"createWallet(string)":{"notice":"Derives a private key from the name, labels the account with that name, and returns the wallet."},"createWallet(uint256)":{"notice":"Generates a wallet from the private key and returns the wallet."},"createWallet(uint256,string)":{"notice":"Generates a wallet from the private key, labels the account with that name, and returns the wallet."},"deriveKey(string,string,uint32)":{"notice":"Derive a private key from a provided mnenomic string (or mnenomic file path) at `{derivationPath}{index}`."},"deriveKey(string,string,uint32,string)":{"notice":"Derive a private key from a provided mnenomic string (or mnenomic file path) in the specified language at `{derivationPath}{index}`."},"deriveKey(string,uint32)":{"notice":"Derive a private key from a provided mnenomic string (or mnenomic file path) at the derivation path `m/44'/60'/0'/0/{index}`."},"deriveKey(string,uint32,string)":{"notice":"Derive a private key from a provided mnenomic string (or mnenomic file path) in the specified language at the derivation path `m/44'/60'/0'/0/{index}`."},"envAddress(string)":{"notice":"Gets the environment variable `name` and parses it as `address`. Reverts if the variable was not found or could not be parsed."},"envAddress(string,string)":{"notice":"Gets the environment variable `name` and parses it as an array of `address`, delimited by `delim`. Reverts if the variable was not found or could not be parsed."},"envBool(string)":{"notice":"Gets the environment variable `name` and parses it as `bool`. Reverts if the variable was not found or could not be parsed."},"envBool(string,string)":{"notice":"Gets the environment variable `name` and parses it as an array of `bool`, delimited by `delim`. Reverts if the variable was not found or could not be parsed."},"envBytes(string)":{"notice":"Gets the environment variable `name` and parses it as `bytes`. Reverts if the variable was not found or could not be parsed."},"envBytes(string,string)":{"notice":"Gets the environment variable `name` and parses it as an array of `bytes`, delimited by `delim`. Reverts if the variable was not found or could not be parsed."},"envBytes32(string)":{"notice":"Gets the environment variable `name` and parses it as `bytes32`. Reverts if the variable was not found or could not be parsed."},"envBytes32(string,string)":{"notice":"Gets the environment variable `name` and parses it as an array of `bytes32`, delimited by `delim`. Reverts if the variable was not found or could not be parsed."},"envExists(string)":{"notice":"Gets the environment variable `name` and returns true if it exists, else returns false."},"envInt(string)":{"notice":"Gets the environment variable `name` and parses it as `int256`. Reverts if the variable was not found or could not be parsed."},"envInt(string,string)":{"notice":"Gets the environment variable `name` and parses it as an array of `int256`, delimited by `delim`. Reverts if the variable was not found or could not be parsed."},"envOr(string,address)":{"notice":"Gets the environment variable `name` and parses it as `address`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found."},"envOr(string,bool)":{"notice":"Gets the environment variable `name` and parses it as `bool`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found."},"envOr(string,bytes)":{"notice":"Gets the environment variable `name` and parses it as `bytes`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found."},"envOr(string,bytes32)":{"notice":"Gets the environment variable `name` and parses it as `bytes32`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found."},"envOr(string,int256)":{"notice":"Gets the environment variable `name` and parses it as `int256`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found."},"envOr(string,string)":{"notice":"Gets the environment variable `name` and parses it as `string`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found."},"envOr(string,string,address[])":{"notice":"Gets the environment variable `name` and parses it as an array of `address`, delimited by `delim`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found."},"envOr(string,string,bool[])":{"notice":"Gets the environment variable `name` and parses it as an array of `bool`, delimited by `delim`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found."},"envOr(string,string,bytes32[])":{"notice":"Gets the environment variable `name` and parses it as an array of `bytes32`, delimited by `delim`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found."},"envOr(string,string,bytes[])":{"notice":"Gets the environment variable `name` and parses it as an array of `bytes`, delimited by `delim`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found."},"envOr(string,string,int256[])":{"notice":"Gets the environment variable `name` and parses it as an array of `int256`, delimited by `delim`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found."},"envOr(string,string,string[])":{"notice":"Gets the environment variable `name` and parses it as an array of `string`, delimited by `delim`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found."},"envOr(string,string,uint256[])":{"notice":"Gets the environment variable `name` and parses it as an array of `uint256`, delimited by `delim`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found."},"envOr(string,uint256)":{"notice":"Gets the environment variable `name` and parses it as `uint256`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found."},"envString(string)":{"notice":"Gets the environment variable `name` and parses it as `string`. Reverts if the variable was not found or could not be parsed."},"envString(string,string)":{"notice":"Gets the environment variable `name` and parses it as an array of `string`, delimited by `delim`. Reverts if the variable was not found or could not be parsed."},"envUint(string)":{"notice":"Gets the environment variable `name` and parses it as `uint256`. Reverts if the variable was not found or could not be parsed."},"envUint(string,string)":{"notice":"Gets the environment variable `name` and parses it as an array of `uint256`, delimited by `delim`. Reverts if the variable was not found or could not be parsed."},"eth_getLogs(uint256,uint256,address,bytes32[])":{"notice":"Gets all the logs according to specified filter."},"exists(string)":{"notice":"Returns true if the given path points to an existing entity, else returns false."},"ffi(string[])":{"notice":"Performs a foreign function call via the terminal."},"fsMetadata(string)":{"notice":"Given a path, query the file system to get information about a file, directory, etc."},"getBlobBaseFee()":{"notice":"Gets the current `block.blobbasefee`. You should use this instead of `block.blobbasefee` if you use `vm.blobBaseFee`, as `block.blobbasefee` is assumed to be constant across a transaction, and as a result will get optimized out by the compiler. See https://github.com/foundry-rs/foundry/issues/6180"},"getBlockNumber()":{"notice":"Gets the current `block.number`. You should use this instead of `block.number` if you use `vm.roll`, as `block.number` is assumed to be constant across a transaction, and as a result will get optimized out by the compiler. See https://github.com/foundry-rs/foundry/issues/6180"},"getBlockTimestamp()":{"notice":"Gets the current `block.timestamp`. You should use this instead of `block.timestamp` if you use `vm.warp`, as `block.timestamp` is assumed to be constant across a transaction, and as a result will get optimized out by the compiler. See https://github.com/foundry-rs/foundry/issues/6180"},"getCode(string)":{"notice":"Gets the creation bytecode from an artifact file. Takes in the relative path to the json file or the path to the artifact in the form of <path>:<contract>:<version> where <contract> and <version> parts are optional."},"getDeployedCode(string)":{"notice":"Gets the deployed bytecode from an artifact file. Takes in the relative path to the json file or the path to the artifact in the form of <path>:<contract>:<version> where <contract> and <version> parts are optional."},"getLabel(address)":{"notice":"Gets the label for the specified address."},"getMappingKeyAndParentOf(address,bytes32)":{"notice":"Gets the map key and parent of a mapping at a given slot, for a given address."},"getMappingLength(address,bytes32)":{"notice":"Gets the number of elements in the mapping at the given slot, for a given address."},"getMappingSlotAt(address,bytes32,uint256)":{"notice":"Gets the elements at index idx of the mapping at the given slot, for a given address. The index must be less than the length of the mapping (i.e. the number of keys in the mapping)."},"getNonce((address,uint256,uint256,uint256))":{"notice":"Get a `Wallet`'s nonce."},"getNonce(address)":{"notice":"Gets the nonce of an account."},"getRecordedLogs()":{"notice":"Gets all the recorded logs."},"indexOf(string,string)":{"notice":"Returns the index of the first occurrence of a `key` in an `input` string. Returns `NOT_FOUND` (i.e. `type(uint256).max`) if the `key` is not found. Returns 0 in case of an empty `key`."},"isContext(uint8)":{"notice":"Returns true if `forge` command was executed in given context."},"isDir(string)":{"notice":"Returns true if the path exists on disk and is pointing at a directory, else returns false."},"isFile(string)":{"notice":"Returns true if the path exists on disk and is pointing at a regular file, else returns false."},"keyExists(string,string)":{"notice":"Checks if `key` exists in a JSON object `keyExists` is being deprecated in favor of `keyExistsJson`. It will be removed in future versions."},"keyExistsJson(string,string)":{"notice":"Checks if `key` exists in a JSON object."},"keyExistsToml(string,string)":{"notice":"Checks if `key` exists in a TOML table."},"label(address,string)":{"notice":"Labels an address in call traces."},"lastCallGas()":{"notice":"Gets the gas used in the last call."},"load(address,bytes32)":{"notice":"Loads a storage slot from an address."},"parseAddress(string)":{"notice":"Parses the given `string` into an `address`."},"parseBool(string)":{"notice":"Parses the given `string` into a `bool`."},"parseBytes(string)":{"notice":"Parses the given `string` into `bytes`."},"parseBytes32(string)":{"notice":"Parses the given `string` into a `bytes32`."},"parseInt(string)":{"notice":"Parses the given `string` into a `int256`."},"parseJson(string)":{"notice":"ABI-encodes a JSON object."},"parseJson(string,string)":{"notice":"ABI-encodes a JSON object at `key`."},"parseJsonAddress(string,string)":{"notice":"Parses a string of JSON data at `key` and coerces it to `address`."},"parseJsonAddressArray(string,string)":{"notice":"Parses a string of JSON data at `key` and coerces it to `address[]`."},"parseJsonBool(string,string)":{"notice":"Parses a string of JSON data at `key` and coerces it to `bool`."},"parseJsonBoolArray(string,string)":{"notice":"Parses a string of JSON data at `key` and coerces it to `bool[]`."},"parseJsonBytes(string,string)":{"notice":"Parses a string of JSON data at `key` and coerces it to `bytes`."},"parseJsonBytes32(string,string)":{"notice":"Parses a string of JSON data at `key` and coerces it to `bytes32`."},"parseJsonBytes32Array(string,string)":{"notice":"Parses a string of JSON data at `key` and coerces it to `bytes32[]`."},"parseJsonBytesArray(string,string)":{"notice":"Parses a string of JSON data at `key` and coerces it to `bytes[]`."},"parseJsonInt(string,string)":{"notice":"Parses a string of JSON data at `key` and coerces it to `int256`."},"parseJsonIntArray(string,string)":{"notice":"Parses a string of JSON data at `key` and coerces it to `int256[]`."},"parseJsonKeys(string,string)":{"notice":"Returns an array of all the keys in a JSON object."},"parseJsonString(string,string)":{"notice":"Parses a string of JSON data at `key` and coerces it to `string`."},"parseJsonStringArray(string,string)":{"notice":"Parses a string of JSON data at `key` and coerces it to `string[]`."},"parseJsonUint(string,string)":{"notice":"Parses a string of JSON data at `key` and coerces it to `uint256`."},"parseJsonUintArray(string,string)":{"notice":"Parses a string of JSON data at `key` and coerces it to `uint256[]`."},"parseToml(string)":{"notice":"ABI-encodes a TOML table."},"parseToml(string,string)":{"notice":"ABI-encodes a TOML table at `key`."},"parseTomlAddress(string,string)":{"notice":"Parses a string of TOML data at `key` and coerces it to `address`."},"parseTomlAddressArray(string,string)":{"notice":"Parses a string of TOML data at `key` and coerces it to `address[]`."},"parseTomlBool(string,string)":{"notice":"Parses a string of TOML data at `key` and coerces it to `bool`."},"parseTomlBoolArray(string,string)":{"notice":"Parses a string of TOML data at `key` and coerces it to `bool[]`."},"parseTomlBytes(string,string)":{"notice":"Parses a string of TOML data at `key` and coerces it to `bytes`."},"parseTomlBytes32(string,string)":{"notice":"Parses a string of TOML data at `key` and coerces it to `bytes32`."},"parseTomlBytes32Array(string,string)":{"notice":"Parses a string of TOML data at `key` and coerces it to `bytes32[]`."},"parseTomlBytesArray(string,string)":{"notice":"Parses a string of TOML data at `key` and coerces it to `bytes[]`."},"parseTomlInt(string,string)":{"notice":"Parses a string of TOML data at `key` and coerces it to `int256`."},"parseTomlIntArray(string,string)":{"notice":"Parses a string of TOML data at `key` and coerces it to `int256[]`."},"parseTomlKeys(string,string)":{"notice":"Returns an array of all the keys in a TOML table."},"parseTomlString(string,string)":{"notice":"Parses a string of TOML data at `key` and coerces it to `string`."},"parseTomlStringArray(string,string)":{"notice":"Parses a string of TOML data at `key` and coerces it to `string[]`."},"parseTomlUint(string,string)":{"notice":"Parses a string of TOML data at `key` and coerces it to `uint256`."},"parseTomlUintArray(string,string)":{"notice":"Parses a string of TOML data at `key` and coerces it to `uint256[]`."},"parseUint(string)":{"notice":"Parses the given `string` into a `uint256`."},"pauseGasMetering()":{"notice":"Pauses gas metering (i.e. gas usage is not counted). Noop if already paused."},"projectRoot()":{"notice":"Get the path of the current project root."},"prompt(string)":{"notice":"Prompts the user for a string value in the terminal."},"promptAddress(string)":{"notice":"Prompts the user for an address in the terminal."},"promptSecret(string)":{"notice":"Prompts the user for a hidden string value in the terminal."},"promptUint(string)":{"notice":"Prompts the user for uint256 in the terminal."},"readDir(string)":{"notice":"Reads the directory at the given path recursively, up to `maxDepth`. `maxDepth` defaults to 1, meaning only the direct children of the given directory will be returned. Follows symbolic links if `followLinks` is true."},"readDir(string,uint64)":{"notice":"See `readDir(string)`."},"readDir(string,uint64,bool)":{"notice":"See `readDir(string)`."},"readFile(string)":{"notice":"Reads the entire content of file to string. `path` is relative to the project root."},"readFileBinary(string)":{"notice":"Reads the entire content of file as binary. `path` is relative to the project root."},"readLine(string)":{"notice":"Reads next line of file to string."},"readLink(string)":{"notice":"Reads a symbolic link, returning the path that the link points to. This cheatcode will revert in the following situations, but is not limited to just these cases: - `path` is not a symbolic link. - `path` does not exist."},"record()":{"notice":"Records all storage reads and writes."},"recordLogs()":{"notice":"Record all the transaction logs."},"rememberKey(uint256)":{"notice":"Adds a private key to the local forge wallet and returns the address."},"removeDir(string,bool)":{"notice":"Removes a directory at the provided path. This cheatcode will revert in the following situations, but is not limited to just these cases: - `path` doesn't exist. - `path` isn't a directory. - User lacks permissions to modify `path`. - The directory is not empty and `recursive` is false. `path` is relative to the project root."},"removeFile(string)":{"notice":"Removes a file from the filesystem. This cheatcode will revert in the following situations, but is not limited to just these cases: - `path` points to a directory. - The file doesn't exist. - The user lacks permissions to remove the file. `path` is relative to the project root."},"replace(string,string,string)":{"notice":"Replaces occurrences of `from` in the given `string` with `to`."},"resumeGasMetering()":{"notice":"Resumes gas metering (i.e. gas usage is counted again). Noop if already on."},"rpc(string,string)":{"notice":"Performs an Ethereum JSON-RPC request to the current fork URL."},"rpcUrl(string)":{"notice":"Returns the RPC url for the given alias."},"rpcUrlStructs()":{"notice":"Returns all rpc urls and their aliases as structs."},"rpcUrls()":{"notice":"Returns all rpc urls and their aliases `[alias, url][]`."},"serializeAddress(string,string,address)":{"notice":"See `serializeJson`."},"serializeAddress(string,string,address[])":{"notice":"See `serializeJson`."},"serializeBool(string,string,bool)":{"notice":"See `serializeJson`."},"serializeBool(string,string,bool[])":{"notice":"See `serializeJson`."},"serializeBytes(string,string,bytes)":{"notice":"See `serializeJson`."},"serializeBytes(string,string,bytes[])":{"notice":"See `serializeJson`."},"serializeBytes32(string,string,bytes32)":{"notice":"See `serializeJson`."},"serializeBytes32(string,string,bytes32[])":{"notice":"See `serializeJson`."},"serializeInt(string,string,int256)":{"notice":"See `serializeJson`."},"serializeInt(string,string,int256[])":{"notice":"See `serializeJson`."},"serializeJson(string,string)":{"notice":"Serializes a key and value to a JSON object stored in-memory that can be later written to a file. Returns the stringified version of the specific JSON file up to that moment."},"serializeString(string,string,string)":{"notice":"See `serializeJson`."},"serializeString(string,string,string[])":{"notice":"See `serializeJson`."},"serializeUint(string,string,uint256)":{"notice":"See `serializeJson`."},"serializeUint(string,string,uint256[])":{"notice":"See `serializeJson`."},"serializeUintToHex(string,string,uint256)":{"notice":"See `serializeJson`."},"setEnv(string,string)":{"notice":"Sets environment variables."},"sign((address,uint256,uint256,uint256),bytes32)":{"notice":"Signs data with a `Wallet`."},"sign(address,bytes32)":{"notice":"Signs `digest` with signer provided to script using the secp256k1 curve. Raises error if none of the signers passed into the script have provided address."},"sign(bytes32)":{"notice":"Signs `digest` with signer provided to script using the secp256k1 curve. If `--sender` is provided, the signer with provided address is used, otherwise, if exactly one signer is provided to the script, that signer is used. Raises error if signer passed through `--sender` does not match any unlocked signers or if `--sender` is not provided and not exactly one signer is passed to the script."},"sign(uint256,bytes32)":{"notice":"Signs `digest` with `privateKey` using the secp256k1 curve."},"signP256(uint256,bytes32)":{"notice":"Signs `digest` with `privateKey` using the secp256r1 curve."},"sleep(uint256)":{"notice":"Suspends execution of the main thread for `duration` milliseconds."},"split(string,string)":{"notice":"Splits the given `string` into an array of strings divided by the `delimiter`."},"startBroadcast()":{"notice":"Has all subsequent calls (at this call depth only) create transactions that can later be signed and sent onchain. Broadcasting address is determined by checking the following in order: 1. If `--sender` argument was provided, that address is used. 2. If exactly one signer (e.g. private key, hw wallet, keystore) is set when `forge broadcast` is invoked, that signer is used. 3. Otherwise, default foundry sender (1804c8AB1F12E6bbf3894d4083f33e07309d1f38) is used."},"startBroadcast(address)":{"notice":"Has all subsequent calls (at this call depth only) create transactions with the address provided that can later be signed and sent onchain."},"startBroadcast(uint256)":{"notice":"Has all subsequent calls (at this call depth only) create transactions with the private key provided that can later be signed and sent onchain."},"startMappingRecording()":{"notice":"Starts recording all map SSTOREs for later retrieval."},"startStateDiffRecording()":{"notice":"Record all account accesses as part of CREATE, CALL or SELFDESTRUCT opcodes in order, along with the context of the calls"},"stopAndReturnStateDiff()":{"notice":"Returns an ordered array of all account accesses from a `vm.startStateDiffRecording` session."},"stopBroadcast()":{"notice":"Stops collecting onchain transactions."},"stopMappingRecording()":{"notice":"Stops recording all map SSTOREs for later retrieval and clears the recorded data."},"toBase64(bytes)":{"notice":"Encodes a `bytes` value to a base64 string."},"toBase64(string)":{"notice":"Encodes a `string` value to a base64 string."},"toBase64URL(bytes)":{"notice":"Encodes a `bytes` value to a base64url string."},"toBase64URL(string)":{"notice":"Encodes a `string` value to a base64url string."},"toLowercase(string)":{"notice":"Converts the given `string` value to Lowercase."},"toString(address)":{"notice":"Converts the given value to a `string`."},"toString(bool)":{"notice":"Converts the given value to a `string`."},"toString(bytes)":{"notice":"Converts the given value to a `string`."},"toString(bytes32)":{"notice":"Converts the given value to a `string`."},"toString(int256)":{"notice":"Converts the given value to a `string`."},"toString(uint256)":{"notice":"Converts the given value to a `string`."},"toUppercase(string)":{"notice":"Converts the given `string` value to Uppercase."},"trim(string)":{"notice":"Trims leading and trailing whitespace from the given `string` value."},"tryFfi(string[])":{"notice":"Performs a foreign function call via terminal and returns the exit code, stdout, and stderr."},"unixTime()":{"notice":"Returns the time since unix epoch in milliseconds."},"writeFile(string,string)":{"notice":"Writes data to file, creating a file if it does not exist, and entirely replacing its contents if it does. `path` is relative to the project root."},"writeFileBinary(string,bytes)":{"notice":"Writes binary data to a file, creating a file if it does not exist, and entirely replacing its contents if it does. `path` is relative to the project root."},"writeJson(string,string)":{"notice":"Write a serialized JSON object to a file. If the file exists, it will be overwritten."},"writeJson(string,string,string)":{"notice":"Write a serialized JSON object to an **existing** JSON file, replacing a value with key = <value_key.> This is useful to replace a specific value of a JSON file, without having to parse the entire thing."},"writeLine(string,string)":{"notice":"Writes line to file, creating a file if it does not exist. `path` is relative to the project root."},"writeToml(string,string)":{"notice":"Takes serialized JSON, converts to TOML and write a serialized TOML to a file."},"writeToml(string,string,string)":{"notice":"Takes serialized JSON, converts to TOML and write a serialized TOML table to an **existing** TOML file, replacing a value with key = <value_key.> This is useful to replace a specific value of a TOML file, without having to parse the entire thing."}},"version":1}},"settings":{"remappings":["@lib-keccak/=lib/lib-keccak/contracts/lib/","@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/","@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/","@openzeppelin/contracts_v3.1.0/=lib/openzeppelin-contracts_v3.1.0/contracts/","@openzeppelin/contracts_v5.0.1/=lib/openzeppelin-contracts_v5.0.1/contracts/","@rari-capital/solmate/=lib/solmate/","@solady-test/=lib/lib-keccak/lib/solady/test/","@solady/=lib/solady/src/","automate/=lib/automate/contracts/","ds-test/=lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts_v5.0.1/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","gelato/=lib/automate/contracts/","hardhat/=lib/automate/node_modules/hardhat/","kontrol-cheatcodes/=lib/kontrol-cheatcodes/src/","lib-keccak/=lib/lib-keccak/contracts/","openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts/=lib/openzeppelin-contracts/","openzeppelin-contracts_v3.1.0/=lib/openzeppelin-contracts_v3.1.0/contracts/","openzeppelin-contracts_v5.0.1/=lib/openzeppelin-contracts_v5.0.1/","prb-test/=lib/automate/lib/prb-test/src/","prb/-est/=lib/automate/lib/prb-test/src/","safe-contracts/=lib/safe-contracts/contracts/","solady/=lib/solady/","solmate/=lib/solmate/src/"],"optimizer":{"enabled":true,"runs":999999},"metadata":{"bytecodeHash":"none"},"compilationTarget":{"lib/forge-std/src/Vm.sol":"VmSafe"},"evmVersion":"london","libraries":{"src/tokamak-contracts/USDC/L2/tokamak-USDC/v2/FiatTokenV2_2.sol:SignatureChecker":"0x4200000000000000000000000000000000000776"}},"sources":{"lib/forge-std/src/Vm.sol":{"keccak256":"0x29fa9fa4f21f0762bcb245732bdf18218b0e017640fe4f9809d2157c56d9741e","urls":["bzz-raw://cf18f5b10bfcc5c70c8f950a52907b18e6da38825cdd04261c435601410f0dea","dweb:/ipfs/QmPkhDtp4AXw7iaJe84PEUPNK748pxsLUp8r5QB3hewWRy"],"license":"MIT OR Apache-2.0"}},"version":1},"storageLayout":{"storage":[],"types":{}},"userdoc":{"version":1,"kind":"user","methods":{"accesses(address)":{"notice":"Gets all accessed reads and write slot from a `vm.record` session, for a given address."},"addr(uint256)":{"notice":"Gets the address for a given private key."},"assertApproxEqAbs(int256,int256,uint256)":{"notice":"Compares two `int256` values. Expects difference to be less than or equal to `maxDelta`."},"assertApproxEqAbs(int256,int256,uint256,string)":{"notice":"Compares two `int256` values. Expects difference to be less than or equal to `maxDelta`. Includes error message into revert string on failure."},"assertApproxEqAbs(uint256,uint256,uint256)":{"notice":"Compares two `uint256` values. Expects difference to be less than or equal to `maxDelta`."},"assertApproxEqAbs(uint256,uint256,uint256,string)":{"notice":"Compares two `uint256` values. Expects difference to be less than or equal to `maxDelta`. Includes error message into revert string on failure."},"assertApproxEqAbsDecimal(int256,int256,uint256,uint256)":{"notice":"Compares two `int256` values. Expects difference to be less than or equal to `maxDelta`. Formats values with decimals in failure message."},"assertApproxEqAbsDecimal(int256,int256,uint256,uint256,string)":{"notice":"Compares two `int256` values. Expects difference to be less than or equal to `maxDelta`. Formats values with decimals in failure message. Includes error message into revert string on failure."},"assertApproxEqAbsDecimal(uint256,uint256,uint256,uint256)":{"notice":"Compares two `uint256` values. Expects difference to be less than or equal to `maxDelta`. Formats values with decimals in failure message."},"assertApproxEqAbsDecimal(uint256,uint256,uint256,uint256,string)":{"notice":"Compares two `uint256` values. Expects difference to be less than or equal to `maxDelta`. Formats values with decimals in failure message. Includes error message into revert string on failure."},"assertApproxEqRel(int256,int256,uint256)":{"notice":"Compares two `int256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`. `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100%"},"assertApproxEqRel(int256,int256,uint256,string)":{"notice":"Compares two `int256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`. `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100% Includes error message into revert string on failure."},"assertApproxEqRel(uint256,uint256,uint256)":{"notice":"Compares two `uint256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`. `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100%"},"assertApproxEqRel(uint256,uint256,uint256,string)":{"notice":"Compares two `uint256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`. `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100% Includes error message into revert string on failure."},"assertApproxEqRelDecimal(int256,int256,uint256,uint256)":{"notice":"Compares two `int256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`. `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100% Formats values with decimals in failure message."},"assertApproxEqRelDecimal(int256,int256,uint256,uint256,string)":{"notice":"Compares two `int256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`. `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100% Formats values with decimals in failure message. Includes error message into revert string on failure."},"assertApproxEqRelDecimal(uint256,uint256,uint256,uint256)":{"notice":"Compares two `uint256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`. `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100% Formats values with decimals in failure message."},"assertApproxEqRelDecimal(uint256,uint256,uint256,uint256,string)":{"notice":"Compares two `uint256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`. `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100% Formats values with decimals in failure message. Includes error message into revert string on failure."},"assertEq(address,address)":{"notice":"Asserts that two `address` values are equal."},"assertEq(address,address,string)":{"notice":"Asserts that two `address` values are equal and includes error message into revert string on failure."},"assertEq(address[],address[])":{"notice":"Asserts that two arrays of `address` values are equal."},"assertEq(address[],address[],string)":{"notice":"Asserts that two arrays of `address` values are equal and includes error message into revert string on failure."},"assertEq(bool,bool)":{"notice":"Asserts that two `bool` values are equal."},"assertEq(bool,bool,string)":{"notice":"Asserts that two `bool` values are equal and includes error message into revert string on failure."},"assertEq(bool[],bool[])":{"notice":"Asserts that two arrays of `bool` values are equal."},"assertEq(bool[],bool[],string)":{"notice":"Asserts that two arrays of `bool` values are equal and includes error message into revert string on failure."},"assertEq(bytes,bytes)":{"notice":"Asserts that two `bytes` values are equal."},"assertEq(bytes,bytes,string)":{"notice":"Asserts that two `bytes` values are equal and includes error message into revert string on failure."},"assertEq(bytes32,bytes32)":{"notice":"Asserts that two `bytes32` values are equal."},"assertEq(bytes32,bytes32,string)":{"notice":"Asserts that two `bytes32` values are equal and includes error message into revert string on failure."},"assertEq(bytes32[],bytes32[])":{"notice":"Asserts that two arrays of `bytes32` values are equal."},"assertEq(bytes32[],bytes32[],string)":{"notice":"Asserts that two arrays of `bytes32` values are equal and includes error message into revert string on failure."},"assertEq(bytes[],bytes[])":{"notice":"Asserts that two arrays of `bytes` values are equal."},"assertEq(bytes[],bytes[],string)":{"notice":"Asserts that two arrays of `bytes` values are equal and includes error message into revert string on failure."},"assertEq(int256,int256)":{"notice":"Asserts that two `int256` values are equal."},"assertEq(int256,int256,string)":{"notice":"Asserts that two `int256` values are equal and includes error message into revert string on failure."},"assertEq(int256[],int256[])":{"notice":"Asserts that two arrays of `int256` values are equal."},"assertEq(int256[],int256[],string)":{"notice":"Asserts that two arrays of `int256` values are equal and includes error message into revert string on failure."},"assertEq(string,string)":{"notice":"Asserts that two `string` values are equal."},"assertEq(string,string,string)":{"notice":"Asserts that two `string` values are equal and includes error message into revert string on failure."},"assertEq(string[],string[])":{"notice":"Asserts that two arrays of `string` values are equal."},"assertEq(string[],string[],string)":{"notice":"Asserts that two arrays of `string` values are equal and includes error message into revert string on failure."},"assertEq(uint256,uint256)":{"notice":"Asserts that two `uint256` values are equal."},"assertEq(uint256,uint256,string)":{"notice":"Asserts that two `uint256` values are equal and includes error message into revert string on failure."},"assertEq(uint256[],uint256[])":{"notice":"Asserts that two arrays of `uint256 values are equal."},"assertEq(uint256[],uint256[],string)":{"notice":"Asserts that two arrays of `uint256` values are equal and includes error message into revert string on failure."},"assertEqDecimal(int256,int256,uint256)":{"notice":"Asserts that two `int256` values are equal, formatting them with decimals in failure message."},"assertEqDecimal(int256,int256,uint256,string)":{"notice":"Asserts that two `int256` values are equal, formatting them with decimals in failure message. Includes error message into revert string on failure."},"assertEqDecimal(uint256,uint256,uint256)":{"notice":"Asserts that two `uint256` values are equal, formatting them with decimals in failure message."},"assertEqDecimal(uint256,uint256,uint256,string)":{"notice":"Asserts that two `uint256` values are equal, formatting them with decimals in failure message. Includes error message into revert string on failure."},"assertFalse(bool)":{"notice":"Asserts that the given condition is false."},"assertFalse(bool,string)":{"notice":"Asserts that the given condition is false and includes error message into revert string on failure."},"assertGe(int256,int256)":{"notice":"Compares two `int256` values. Expects first value to be greater than or equal to second."},"assertGe(int256,int256,string)":{"notice":"Compares two `int256` values. Expects first value to be greater than or equal to second. Includes error message into revert string on failure."},"assertGe(uint256,uint256)":{"notice":"Compares two `uint256` values. Expects first value to be greater than or equal to second."},"assertGe(uint256,uint256,string)":{"notice":"Compares two `uint256` values. Expects first value to be greater than or equal to second. Includes error message into revert string on failure."},"assertGeDecimal(int256,int256,uint256)":{"notice":"Compares two `int256` values. Expects first value to be greater than or equal to second. Formats values with decimals in failure message."},"assertGeDecimal(int256,int256,uint256,string)":{"notice":"Compares two `int256` values. Expects first value to be greater than or equal to second. Formats values with decimals in failure message. Includes error message into revert string on failure."},"assertGeDecimal(uint256,uint256,uint256)":{"notice":"Compares two `uint256` values. Expects first value to be greater than or equal to second. Formats values with decimals in failure message."},"assertGeDecimal(uint256,uint256,uint256,string)":{"notice":"Compares two `uint256` values. Expects first value to be greater than or equal to second. Formats values with decimals in failure message. Includes error message into revert string on failure."},"assertGt(int256,int256)":{"notice":"Compares two `int256` values. Expects first value to be greater than second."},"assertGt(int256,int256,string)":{"notice":"Compares two `int256` values. Expects first value to be greater than second. Includes error message into revert string on failure."},"assertGt(uint256,uint256)":{"notice":"Compares two `uint256` values. Expects first value to be greater than second."},"assertGt(uint256,uint256,string)":{"notice":"Compares two `uint256` values. Expects first value to be greater than second. Includes error message into revert string on failure."},"assertGtDecimal(int256,int256,uint256)":{"notice":"Compares two `int256` values. Expects first value to be greater than second. Formats values with decimals in failure message."},"assertGtDecimal(int256,int256,uint256,string)":{"notice":"Compares two `int256` values. Expects first value to be greater than second. Formats values with decimals in failure message. Includes error message into revert string on failure."},"assertGtDecimal(uint256,uint256,uint256)":{"notice":"Compares two `uint256` values. Expects first value to be greater than second. Formats values with decimals in failure message."},"assertGtDecimal(uint256,uint256,uint256,string)":{"notice":"Compares two `uint256` values. Expects first value to be greater than second. Formats values with decimals in failure message. Includes error message into revert string on failure."},"assertLe(int256,int256)":{"notice":"Compares two `int256` values. Expects first value to be less than or equal to second."},"assertLe(int256,int256,string)":{"notice":"Compares two `int256` values. Expects first value to be less than or equal to second. Includes error message into revert string on failure."},"assertLe(uint256,uint256)":{"notice":"Compares two `uint256` values. Expects first value to be less than or equal to second."},"assertLe(uint256,uint256,string)":{"notice":"Compares two `uint256` values. Expects first value to be less than or equal to second. Includes error message into revert string on failure."},"assertLeDecimal(int256,int256,uint256)":{"notice":"Compares two `int256` values. Expects first value to be less than or equal to second. Formats values with decimals in failure message."},"assertLeDecimal(int256,int256,uint256,string)":{"notice":"Compares two `int256` values. Expects first value to be less than or equal to second. Formats values with decimals in failure message. Includes error message into revert string on failure."},"assertLeDecimal(uint256,uint256,uint256)":{"notice":"Compares two `uint256` values. Expects first value to be less than or equal to second. Formats values with decimals in failure message."},"assertLeDecimal(uint256,uint256,uint256,string)":{"notice":"Compares two `uint256` values. Expects first value to be less than or equal to second. Formats values with decimals in failure message. Includes error message into revert string on failure."},"assertLt(int256,int256)":{"notice":"Compares two `int256` values. Expects first value to be less than second."},"assertLt(int256,int256,string)":{"notice":"Compares two `int256` values. Expects first value to be less than second. Includes error message into revert string on failure."},"assertLt(uint256,uint256)":{"notice":"Compares two `uint256` values. Expects first value to be less than second."},"assertLt(uint256,uint256,string)":{"notice":"Compares two `uint256` values. Expects first value to be less than second. Includes error message into revert string on failure."},"assertLtDecimal(int256,int256,uint256)":{"notice":"Compares two `int256` values. Expects first value to be less than second. Formats values with decimals in failure message."},"assertLtDecimal(int256,int256,uint256,string)":{"notice":"Compares two `int256` values. Expects first value to be less than second. Formats values with decimals in failure message. Includes error message into revert string on failure."},"assertLtDecimal(uint256,uint256,uint256)":{"notice":"Compares two `uint256` values. Expects first value to be less than second. Formats values with decimals in failure message."},"assertLtDecimal(uint256,uint256,uint256,string)":{"notice":"Compares two `uint256` values. Expects first value to be less than second. Formats values with decimals in failure message. Includes error message into revert string on failure."},"assertNotEq(address,address)":{"notice":"Asserts that two `address` values are not equal."},"assertNotEq(address,address,string)":{"notice":"Asserts that two `address` values are not equal and includes error message into revert string on failure."},"assertNotEq(address[],address[])":{"notice":"Asserts that two arrays of `address` values are not equal."},"assertNotEq(address[],address[],string)":{"notice":"Asserts that two arrays of `address` values are not equal and includes error message into revert string on failure."},"assertNotEq(bool,bool)":{"notice":"Asserts that two `bool` values are not equal."},"assertNotEq(bool,bool,string)":{"notice":"Asserts that two `bool` values are not equal and includes error message into revert string on failure."},"assertNotEq(bool[],bool[])":{"notice":"Asserts that two arrays of `bool` values are not equal."},"assertNotEq(bool[],bool[],string)":{"notice":"Asserts that two arrays of `bool` values are not equal and includes error message into revert string on failure."},"assertNotEq(bytes,bytes)":{"notice":"Asserts that two `bytes` values are not equal."},"assertNotEq(bytes,bytes,string)":{"notice":"Asserts that two `bytes` values are not equal and includes error message into revert string on failure."},"assertNotEq(bytes32,bytes32)":{"notice":"Asserts that two `bytes32` values are not equal."},"assertNotEq(bytes32,bytes32,string)":{"notice":"Asserts that two `bytes32` values are not equal and includes error message into revert string on failure."},"assertNotEq(bytes32[],bytes32[])":{"notice":"Asserts that two arrays of `bytes32` values are not equal."},"assertNotEq(bytes32[],bytes32[],string)":{"notice":"Asserts that two arrays of `bytes32` values are not equal and includes error message into revert string on failure."},"assertNotEq(bytes[],bytes[])":{"notice":"Asserts that two arrays of `bytes` values are not equal."},"assertNotEq(bytes[],bytes[],string)":{"notice":"Asserts that two arrays of `bytes` values are not equal and includes error message into revert string on failure."},"assertNotEq(int256,int256)":{"notice":"Asserts that two `int256` values are not equal."},"assertNotEq(int256,int256,string)":{"notice":"Asserts that two `int256` values are not equal and includes error message into revert string on failure."},"assertNotEq(int256[],int256[])":{"notice":"Asserts that two arrays of `int256` values are not equal."},"assertNotEq(int256[],int256[],string)":{"notice":"Asserts that two arrays of `int256` values are not equal and includes error message into revert string on failure."},"assertNotEq(string,string)":{"notice":"Asserts that two `string` values are not equal."},"assertNotEq(string,string,string)":{"notice":"Asserts that two `string` values are not equal and includes error message into revert string on failure."},"assertNotEq(string[],string[])":{"notice":"Asserts that two arrays of `string` values are not equal."},"assertNotEq(string[],string[],string)":{"notice":"Asserts that two arrays of `string` values are not equal and includes error message into revert string on failure."},"assertNotEq(uint256,uint256)":{"notice":"Asserts that two `uint256` values are not equal."},"assertNotEq(uint256,uint256,string)":{"notice":"Asserts that two `uint256` values are not equal and includes error message into revert string on failure."},"assertNotEq(uint256[],uint256[])":{"notice":"Asserts that two arrays of `uint256` values are not equal."},"assertNotEq(uint256[],uint256[],string)":{"notice":"Asserts that two arrays of `uint256` values are not equal and includes error message into revert string on failure."},"assertNotEqDecimal(int256,int256,uint256)":{"notice":"Asserts that two `int256` values are not equal, formatting them with decimals in failure message."},"assertNotEqDecimal(int256,int256,uint256,string)":{"notice":"Asserts that two `int256` values are not equal, formatting them with decimals in failure message. Includes error message into revert string on failure."},"assertNotEqDecimal(uint256,uint256,uint256)":{"notice":"Asserts that two `uint256` values are not equal, formatting them with decimals in failure message."},"assertNotEqDecimal(uint256,uint256,uint256,string)":{"notice":"Asserts that two `uint256` values are not equal, formatting them with decimals in failure message. Includes error message into revert string on failure."},"assertTrue(bool)":{"notice":"Asserts that the given condition is true."},"assertTrue(bool,string)":{"notice":"Asserts that the given condition is true and includes error message into revert string on failure."},"assume(bool)":{"notice":"If the condition is false, discard this run's fuzz inputs and generate new ones."},"breakpoint(string)":{"notice":"Writes a breakpoint to jump to in the debugger."},"breakpoint(string,bool)":{"notice":"Writes a conditional breakpoint to jump to in the debugger."},"broadcast()":{"notice":"Has the next call (at this call depth only) create transactions that can later be signed and sent onchain. Broadcasting address is determined by checking the following in order: 1. If `--sender` argument was provided, that address is used. 2. If exactly one signer (e.g. private key, hw wallet, keystore) is set when `forge broadcast` is invoked, that signer is used. 3. Otherwise, default foundry sender (1804c8AB1F12E6bbf3894d4083f33e07309d1f38) is used."},"broadcast(address)":{"notice":"Has the next call (at this call depth only) create a transaction with the address provided as the sender that can later be signed and sent onchain."},"broadcast(uint256)":{"notice":"Has the next call (at this call depth only) create a transaction with the private key provided as the sender that can later be signed and sent onchain."},"closeFile(string)":{"notice":"Closes file for reading, resetting the offset and allowing to read it from beginning with readLine. `path` is relative to the project root."},"computeCreate2Address(bytes32,bytes32)":{"notice":"Compute the address of a contract created with CREATE2 using the default CREATE2 deployer."},"computeCreate2Address(bytes32,bytes32,address)":{"notice":"Compute the address of a contract created with CREATE2 using the given CREATE2 deployer."},"computeCreateAddress(address,uint256)":{"notice":"Compute the address a contract will be deployed at for a given deployer address and nonce."},"copyFile(string,string)":{"notice":"Copies the contents of one file to another. This function will **overwrite** the contents of `to`. On success, the total number of bytes copied is returned and it is equal to the length of the `to` file as reported by `metadata`. Both `from` and `to` are relative to the project root."},"createDir(string,bool)":{"notice":"Creates a new, empty directory at the provided path. This cheatcode will revert in the following situations, but is not limited to just these cases: - User lacks permissions to modify `path`. - A parent of the given path doesn't exist and `recursive` is false. - `path` already exists and `recursive` is false. `path` is relative to the project root."},"createWallet(string)":{"notice":"Derives a private key from the name, labels the account with that name, and returns the wallet."},"createWallet(uint256)":{"notice":"Generates a wallet from the private key and returns the wallet."},"createWallet(uint256,string)":{"notice":"Generates a wallet from the private key, labels the account with that name, and returns the wallet."},"deriveKey(string,string,uint32)":{"notice":"Derive a private key from a provided mnenomic string (or mnenomic file path) at `{derivationPath}{index}`."},"deriveKey(string,string,uint32,string)":{"notice":"Derive a private key from a provided mnenomic string (or mnenomic file path) in the specified language at `{derivationPath}{index}`."},"deriveKey(string,uint32)":{"notice":"Derive a private key from a provided mnenomic string (or mnenomic file path) at the derivation path `m/44'/60'/0'/0/{index}`."},"deriveKey(string,uint32,string)":{"notice":"Derive a private key from a provided mnenomic string (or mnenomic file path) in the specified language at the derivation path `m/44'/60'/0'/0/{index}`."},"envAddress(string)":{"notice":"Gets the environment variable `name` and parses it as `address`. Reverts if the variable was not found or could not be parsed."},"envAddress(string,string)":{"notice":"Gets the environment variable `name` and parses it as an array of `address`, delimited by `delim`. Reverts if the variable was not found or could not be parsed."},"envBool(string)":{"notice":"Gets the environment variable `name` and parses it as `bool`. Reverts if the variable was not found or could not be parsed."},"envBool(string,string)":{"notice":"Gets the environment variable `name` and parses it as an array of `bool`, delimited by `delim`. Reverts if the variable was not found or could not be parsed."},"envBytes(string)":{"notice":"Gets the environment variable `name` and parses it as `bytes`. Reverts if the variable was not found or could not be parsed."},"envBytes(string,string)":{"notice":"Gets the environment variable `name` and parses it as an array of `bytes`, delimited by `delim`. Reverts if the variable was not found or could not be parsed."},"envBytes32(string)":{"notice":"Gets the environment variable `name` and parses it as `bytes32`. Reverts if the variable was not found or could not be parsed."},"envBytes32(string,string)":{"notice":"Gets the environment variable `name` and parses it as an array of `bytes32`, delimited by `delim`. Reverts if the variable was not found or could not be parsed."},"envExists(string)":{"notice":"Gets the environment variable `name` and returns true if it exists, else returns false."},"envInt(string)":{"notice":"Gets the environment variable `name` and parses it as `int256`. Reverts if the variable was not found or could not be parsed."},"envInt(string,string)":{"notice":"Gets the environment variable `name` and parses it as an array of `int256`, delimited by `delim`. Reverts if the variable was not found or could not be parsed."},"envOr(string,address)":{"notice":"Gets the environment variable `name` and parses it as `address`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found."},"envOr(string,bool)":{"notice":"Gets the environment variable `name` and parses it as `bool`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found."},"envOr(string,bytes)":{"notice":"Gets the environment variable `name` and parses it as `bytes`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found."},"envOr(string,bytes32)":{"notice":"Gets the environment variable `name` and parses it as `bytes32`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found."},"envOr(string,int256)":{"notice":"Gets the environment variable `name` and parses it as `int256`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found."},"envOr(string,string)":{"notice":"Gets the environment variable `name` and parses it as `string`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found."},"envOr(string,string,address[])":{"notice":"Gets the environment variable `name` and parses it as an array of `address`, delimited by `delim`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found."},"envOr(string,string,bool[])":{"notice":"Gets the environment variable `name` and parses it as an array of `bool`, delimited by `delim`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found."},"envOr(string,string,bytes32[])":{"notice":"Gets the environment variable `name` and parses it as an array of `bytes32`, delimited by `delim`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found."},"envOr(string,string,bytes[])":{"notice":"Gets the environment variable `name` and parses it as an array of `bytes`, delimited by `delim`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found."},"envOr(string,string,int256[])":{"notice":"Gets the environment variable `name` and parses it as an array of `int256`, delimited by `delim`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found."},"envOr(string,string,string[])":{"notice":"Gets the environment variable `name` and parses it as an array of `string`, delimited by `delim`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found."},"envOr(string,string,uint256[])":{"notice":"Gets the environment variable `name` and parses it as an array of `uint256`, delimited by `delim`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found."},"envOr(string,uint256)":{"notice":"Gets the environment variable `name` and parses it as `uint256`. Reverts if the variable could not be parsed. Returns `defaultValue` if the variable was not found."},"envString(string)":{"notice":"Gets the environment variable `name` and parses it as `string`. Reverts if the variable was not found or could not be parsed."},"envString(string,string)":{"notice":"Gets the environment variable `name` and parses it as an array of `string`, delimited by `delim`. Reverts if the variable was not found or could not be parsed."},"envUint(string)":{"notice":"Gets the environment variable `name` and parses it as `uint256`. Reverts if the variable was not found or could not be parsed."},"envUint(string,string)":{"notice":"Gets the environment variable `name` and parses it as an array of `uint256`, delimited by `delim`. Reverts if the variable was not found or could not be parsed."},"eth_getLogs(uint256,uint256,address,bytes32[])":{"notice":"Gets all the logs according to specified filter."},"exists(string)":{"notice":"Returns true if the given path points to an existing entity, else returns false."},"ffi(string[])":{"notice":"Performs a foreign function call via the terminal."},"fsMetadata(string)":{"notice":"Given a path, query the file system to get information about a file, directory, etc."},"getBlobBaseFee()":{"notice":"Gets the current `block.blobbasefee`. You should use this instead of `block.blobbasefee` if you use `vm.blobBaseFee`, as `block.blobbasefee` is assumed to be constant across a transaction, and as a result will get optimized out by the compiler. See https://github.com/foundry-rs/foundry/issues/6180"},"getBlockNumber()":{"notice":"Gets the current `block.number`. You should use this instead of `block.number` if you use `vm.roll`, as `block.number` is assumed to be constant across a transaction, and as a result will get optimized out by the compiler. See https://github.com/foundry-rs/foundry/issues/6180"},"getBlockTimestamp()":{"notice":"Gets the current `block.timestamp`. You should use this instead of `block.timestamp` if you use `vm.warp`, as `block.timestamp` is assumed to be constant across a transaction, and as a result will get optimized out by the compiler. See https://github.com/foundry-rs/foundry/issues/6180"},"getCode(string)":{"notice":"Gets the creation bytecode from an artifact file. Takes in the relative path to the json file or the path to the artifact in the form of <path>:<contract>:<version> where <contract> and <version> parts are optional."},"getDeployedCode(string)":{"notice":"Gets the deployed bytecode from an artifact file. Takes in the relative path to the json file or the path to the artifact in the form of <path>:<contract>:<version> where <contract> and <version> parts are optional."},"getLabel(address)":{"notice":"Gets the label for the specified address."},"getMappingKeyAndParentOf(address,bytes32)":{"notice":"Gets the map key and parent of a mapping at a given slot, for a given address."},"getMappingLength(address,bytes32)":{"notice":"Gets the number of elements in the mapping at the given slot, for a given address."},"getMappingSlotAt(address,bytes32,uint256)":{"notice":"Gets the elements at index idx of the mapping at the given slot, for a given address. The index must be less than the length of the mapping (i.e. the number of keys in the mapping)."},"getNonce((address,uint256,uint256,uint256))":{"notice":"Get a `Wallet`'s nonce."},"getNonce(address)":{"notice":"Gets the nonce of an account."},"getRecordedLogs()":{"notice":"Gets all the recorded logs."},"indexOf(string,string)":{"notice":"Returns the index of the first occurrence of a `key` in an `input` string. Returns `NOT_FOUND` (i.e. `type(uint256).max`) if the `key` is not found. Returns 0 in case of an empty `key`."},"isContext(uint8)":{"notice":"Returns true if `forge` command was executed in given context."},"isDir(string)":{"notice":"Returns true if the path exists on disk and is pointing at a directory, else returns false."},"isFile(string)":{"notice":"Returns true if the path exists on disk and is pointing at a regular file, else returns false."},"keyExists(string,string)":{"notice":"Checks if `key` exists in a JSON object `keyExists` is being deprecated in favor of `keyExistsJson`. It will be removed in future versions."},"keyExistsJson(string,string)":{"notice":"Checks if `key` exists in a JSON object."},"keyExistsToml(string,string)":{"notice":"Checks if `key` exists in a TOML table."},"label(address,string)":{"notice":"Labels an address in call traces."},"lastCallGas()":{"notice":"Gets the gas used in the last call."},"load(address,bytes32)":{"notice":"Loads a storage slot from an address."},"parseAddress(string)":{"notice":"Parses the given `string` into an `address`."},"parseBool(string)":{"notice":"Parses the given `string` into a `bool`."},"parseBytes(string)":{"notice":"Parses the given `string` into `bytes`."},"parseBytes32(string)":{"notice":"Parses the given `string` into a `bytes32`."},"parseInt(string)":{"notice":"Parses the given `string` into a `int256`."},"parseJson(string)":{"notice":"ABI-encodes a JSON object."},"parseJson(string,string)":{"notice":"ABI-encodes a JSON object at `key`."},"parseJsonAddress(string,string)":{"notice":"Parses a string of JSON data at `key` and coerces it to `address`."},"parseJsonAddressArray(string,string)":{"notice":"Parses a string of JSON data at `key` and coerces it to `address[]`."},"parseJsonBool(string,string)":{"notice":"Parses a string of JSON data at `key` and coerces it to `bool`."},"parseJsonBoolArray(string,string)":{"notice":"Parses a string of JSON data at `key` and coerces it to `bool[]`."},"parseJsonBytes(string,string)":{"notice":"Parses a string of JSON data at `key` and coerces it to `bytes`."},"parseJsonBytes32(string,string)":{"notice":"Parses a string of JSON data at `key` and coerces it to `bytes32`."},"parseJsonBytes32Array(string,string)":{"notice":"Parses a string of JSON data at `key` and coerces it to `bytes32[]`."},"parseJsonBytesArray(string,string)":{"notice":"Parses a string of JSON data at `key` and coerces it to `bytes[]`."},"parseJsonInt(string,string)":{"notice":"Parses a string of JSON data at `key` and coerces it to `int256`."},"parseJsonIntArray(string,string)":{"notice":"Parses a string of JSON data at `key` and coerces it to `int256[]`."},"parseJsonKeys(string,string)":{"notice":"Returns an array of all the keys in a JSON object."},"parseJsonString(string,string)":{"notice":"Parses a string of JSON data at `key` and coerces it to `string`."},"parseJsonStringArray(string,string)":{"notice":"Parses a string of JSON data at `key` and coerces it to `string[]`."},"parseJsonUint(string,string)":{"notice":"Parses a string of JSON data at `key` and coerces it to `uint256`."},"parseJsonUintArray(string,string)":{"notice":"Parses a string of JSON data at `key` and coerces it to `uint256[]`."},"parseToml(string)":{"notice":"ABI-encodes a TOML table."},"parseToml(string,string)":{"notice":"ABI-encodes a TOML table at `key`."},"parseTomlAddress(string,string)":{"notice":"Parses a string of TOML data at `key` and coerces it to `address`."},"parseTomlAddressArray(string,string)":{"notice":"Parses a string of TOML data at `key` and coerces it to `address[]`."},"parseTomlBool(string,string)":{"notice":"Parses a string of TOML data at `key` and coerces it to `bool`."},"parseTomlBoolArray(string,string)":{"notice":"Parses a string of TOML data at `key` and coerces it to `bool[]`."},"parseTomlBytes(string,string)":{"notice":"Parses a string of TOML data at `key` and coerces it to `bytes`."},"parseTomlBytes32(string,string)":{"notice":"Parses a string of TOML data at `key` and coerces it to `bytes32`."},"parseTomlBytes32Array(string,string)":{"notice":"Parses a string of TOML data at `key` and coerces it to `bytes32[]`."},"parseTomlBytesArray(string,string)":{"notice":"Parses a string of TOML data at `key` and coerces it to `bytes[]`."},"parseTomlInt(string,string)":{"notice":"Parses a string of TOML data at `key` and coerces it to `int256`."},"parseTomlIntArray(string,string)":{"notice":"Parses a string of TOML data at `key` and coerces it to `int256[]`."},"parseTomlKeys(string,string)":{"notice":"Returns an array of all the keys in a TOML table."},"parseTomlString(string,string)":{"notice":"Parses a string of TOML data at `key` and coerces it to `string`."},"parseTomlStringArray(string,string)":{"notice":"Parses a string of TOML data at `key` and coerces it to `string[]`."},"parseTomlUint(string,string)":{"notice":"Parses a string of TOML data at `key` and coerces it to `uint256`."},"parseTomlUintArray(string,string)":{"notice":"Parses a string of TOML data at `key` and coerces it to `uint256[]`."},"parseUint(string)":{"notice":"Parses the given `string` into a `uint256`."},"pauseGasMetering()":{"notice":"Pauses gas metering (i.e. gas usage is not counted). Noop if already paused."},"projectRoot()":{"notice":"Get the path of the current project root."},"prompt(string)":{"notice":"Prompts the user for a string value in the terminal."},"promptAddress(string)":{"notice":"Prompts the user for an address in the terminal."},"promptSecret(string)":{"notice":"Prompts the user for a hidden string value in the terminal."},"promptUint(string)":{"notice":"Prompts the user for uint256 in the terminal."},"readDir(string)":{"notice":"Reads the directory at the given path recursively, up to `maxDepth`. `maxDepth` defaults to 1, meaning only the direct children of the given directory will be returned. Follows symbolic links if `followLinks` is true."},"readDir(string,uint64)":{"notice":"See `readDir(string)`."},"readDir(string,uint64,bool)":{"notice":"See `readDir(string)`."},"readFile(string)":{"notice":"Reads the entire content of file to string. `path` is relative to the project root."},"readFileBinary(string)":{"notice":"Reads the entire content of file as binary. `path` is relative to the project root."},"readLine(string)":{"notice":"Reads next line of file to string."},"readLink(string)":{"notice":"Reads a symbolic link, returning the path that the link points to. This cheatcode will revert in the following situations, but is not limited to just these cases: - `path` is not a symbolic link. - `path` does not exist."},"record()":{"notice":"Records all storage reads and writes."},"recordLogs()":{"notice":"Record all the transaction logs."},"rememberKey(uint256)":{"notice":"Adds a private key to the local forge wallet and returns the address."},"removeDir(string,bool)":{"notice":"Removes a directory at the provided path. This cheatcode will revert in the following situations, but is not limited to just these cases: - `path` doesn't exist. - `path` isn't a directory. - User lacks permissions to modify `path`. - The directory is not empty and `recursive` is false. `path` is relative to the project root."},"removeFile(string)":{"notice":"Removes a file from the filesystem. This cheatcode will revert in the following situations, but is not limited to just these cases: - `path` points to a directory. - The file doesn't exist. - The user lacks permissions to remove the file. `path` is relative to the project root."},"replace(string,string,string)":{"notice":"Replaces occurrences of `from` in the given `string` with `to`."},"resumeGasMetering()":{"notice":"Resumes gas metering (i.e. gas usage is counted again). Noop if already on."},"rpc(string,string)":{"notice":"Performs an Ethereum JSON-RPC request to the current fork URL."},"rpcUrl(string)":{"notice":"Returns the RPC url for the given alias."},"rpcUrlStructs()":{"notice":"Returns all rpc urls and their aliases as structs."},"rpcUrls()":{"notice":"Returns all rpc urls and their aliases `[alias, url][]`."},"serializeAddress(string,string,address)":{"notice":"See `serializeJson`."},"serializeAddress(string,string,address[])":{"notice":"See `serializeJson`."},"serializeBool(string,string,bool)":{"notice":"See `serializeJson`."},"serializeBool(string,string,bool[])":{"notice":"See `serializeJson`."},"serializeBytes(string,string,bytes)":{"notice":"See `serializeJson`."},"serializeBytes(string,string,bytes[])":{"notice":"See `serializeJson`."},"serializeBytes32(string,string,bytes32)":{"notice":"See `serializeJson`."},"serializeBytes32(string,string,bytes32[])":{"notice":"See `serializeJson`."},"serializeInt(string,string,int256)":{"notice":"See `serializeJson`."},"serializeInt(string,string,int256[])":{"notice":"See `serializeJson`."},"serializeJson(string,string)":{"notice":"Serializes a key and value to a JSON object stored in-memory that can be later written to a file. Returns the stringified version of the specific JSON file up to that moment."},"serializeString(string,string,string)":{"notice":"See `serializeJson`."},"serializeString(string,string,string[])":{"notice":"See `serializeJson`."},"serializeUint(string,string,uint256)":{"notice":"See `serializeJson`."},"serializeUint(string,string,uint256[])":{"notice":"See `serializeJson`."},"serializeUintToHex(string,string,uint256)":{"notice":"See `serializeJson`."},"setEnv(string,string)":{"notice":"Sets environment variables."},"sign((address,uint256,uint256,uint256),bytes32)":{"notice":"Signs data with a `Wallet`."},"sign(address,bytes32)":{"notice":"Signs `digest` with signer provided to script using the secp256k1 curve. Raises error if none of the signers passed into the script have provided address."},"sign(bytes32)":{"notice":"Signs `digest` with signer provided to script using the secp256k1 curve. If `--sender` is provided, the signer with provided address is used, otherwise, if exactly one signer is provided to the script, that signer is used. Raises error if signer passed through `--sender` does not match any unlocked signers or if `--sender` is not provided and not exactly one signer is passed to the script."},"sign(uint256,bytes32)":{"notice":"Signs `digest` with `privateKey` using the secp256k1 curve."},"signP256(uint256,bytes32)":{"notice":"Signs `digest` with `privateKey` using the secp256r1 curve."},"sleep(uint256)":{"notice":"Suspends execution of the main thread for `duration` milliseconds."},"split(string,string)":{"notice":"Splits the given `string` into an array of strings divided by the `delimiter`."},"startBroadcast()":{"notice":"Has all subsequent calls (at this call depth only) create transactions that can later be signed and sent onchain. Broadcasting address is determined by checking the following in order: 1. If `--sender` argument was provided, that address is used. 2. If exactly one signer (e.g. private key, hw wallet, keystore) is set when `forge broadcast` is invoked, that signer is used. 3. Otherwise, default foundry sender (1804c8AB1F12E6bbf3894d4083f33e07309d1f38) is used."},"startBroadcast(address)":{"notice":"Has all subsequent calls (at this call depth only) create transactions with the address provided that can later be signed and sent onchain."},"startBroadcast(uint256)":{"notice":"Has all subsequent calls (at this call depth only) create transactions with the private key provided that can later be signed and sent onchain."},"startMappingRecording()":{"notice":"Starts recording all map SSTOREs for later retrieval."},"startStateDiffRecording()":{"notice":"Record all account accesses as part of CREATE, CALL or SELFDESTRUCT opcodes in order, along with the context of the calls"},"stopAndReturnStateDiff()":{"notice":"Returns an ordered array of all account accesses from a `vm.startStateDiffRecording` session."},"stopBroadcast()":{"notice":"Stops collecting onchain transactions."},"stopMappingRecording()":{"notice":"Stops recording all map SSTOREs for later retrieval and clears the recorded data."},"toBase64(bytes)":{"notice":"Encodes a `bytes` value to a base64 string."},"toBase64(string)":{"notice":"Encodes a `string` value to a base64 string."},"toBase64URL(bytes)":{"notice":"Encodes a `bytes` value to a base64url string."},"toBase64URL(string)":{"notice":"Encodes a `string` value to a base64url string."},"toLowercase(string)":{"notice":"Converts the given `string` value to Lowercase."},"toString(address)":{"notice":"Converts the given value to a `string`."},"toString(bool)":{"notice":"Converts the given value to a `string`."},"toString(bytes)":{"notice":"Converts the given value to a `string`."},"toString(bytes32)":{"notice":"Converts the given value to a `string`."},"toString(int256)":{"notice":"Converts the given value to a `string`."},"toString(uint256)":{"notice":"Converts the given value to a `string`."},"toUppercase(string)":{"notice":"Converts the given `string` value to Uppercase."},"trim(string)":{"notice":"Trims leading and trailing whitespace from the given `string` value."},"tryFfi(string[])":{"notice":"Performs a foreign function call via terminal and returns the exit code, stdout, and stderr."},"unixTime()":{"notice":"Returns the time since unix epoch in milliseconds."},"writeFile(string,string)":{"notice":"Writes data to file, creating a file if it does not exist, and entirely replacing its contents if it does. `path` is relative to the project root."},"writeFileBinary(string,bytes)":{"notice":"Writes binary data to a file, creating a file if it does not exist, and entirely replacing its contents if it does. `path` is relative to the project root."},"writeJson(string,string)":{"notice":"Write a serialized JSON object to a file. If the file exists, it will be overwritten."},"writeJson(string,string,string)":{"notice":"Write a serialized JSON object to an **existing** JSON file, replacing a value with key = <value_key.> This is useful to replace a specific value of a JSON file, without having to parse the entire thing."},"writeLine(string,string)":{"notice":"Writes line to file, creating a file if it does not exist. `path` is relative to the project root."},"writeToml(string,string)":{"notice":"Takes serialized JSON, converts to TOML and write a serialized TOML to a file."},"writeToml(string,string,string)":{"notice":"Takes serialized JSON, converts to TOML and write a serialized TOML table to an **existing** TOML file, replacing a value with key = <value_key.> This is useful to replace a specific value of a TOML file, without having to parse the entire thing."}},"notice":"The `VmSafe` interface does not allow manipulation of the EVM state or other actions that may result in Script simulations differing from on-chain execution. It is recommended to only use these cheats in scripts."},"devdoc":{"version":1,"kind":"dev"},"ast":{"absolutePath":"lib/forge-std/src/Vm.sol","id":16312,"exportedSymbols":{"Vm":[16311],"VmSafe":[15724]},"nodeType":"SourceUnit","src":"117:90081:19","nodes":[{"id":12536,"nodeType":"PragmaDirective","src":"117:31:19","nodes":[],"literals":["solidity",">=","0.6",".2","<","0.9",".0"]},{"id":12537,"nodeType":"PragmaDirective","src":"149:33:19","nodes":[],"literals":["experimental","ABIEncoderV2"]},{"id":15724,"nodeType":"ContractDefinition","src":"409:75703:19","nodes":[{"id":12544,"nodeType":"EnumDefinition","src":"529:533:19","nodes":[],"canonicalName":"VmSafe.CallerMode","members":[{"id":12539,"name":"None","nameLocation":"610:4:19","nodeType":"EnumValue","src":"610:4:19"},{"id":12540,"name":"Broadcast","nameLocation":"714:9:19","nodeType":"EnumValue","src":"714:9:19"},{"id":12541,"name":"RecurrentBroadcast","nameLocation":"829:18:19","nodeType":"EnumValue","src":"829:18:19"},{"id":12542,"name":"Prank","nameLocation":"939:5:19","nodeType":"EnumValue","src":"939:5:19"},{"id":12543,"name":"RecurrentPrank","nameLocation":"1042:14:19","nodeType":"EnumValue","src":"1042:14:19"}],"name":"CallerMode","nameLocation":"534:10:19"},{"id":12556,"nodeType":"EnumDefinition","src":"1118:791:19","nodes":[],"canonicalName":"VmSafe.AccountAccessKind","members":[{"id":12545,"name":"Call","nameLocation":"1186:4:19","nodeType":"EnumValue","src":"1186:4:19"},{"id":12546,"name":"DelegateCall","nameLocation":"1252:12:19","nodeType":"EnumValue","src":"1252:12:19"},{"id":12547,"name":"CallCode","nameLocation":"1322:8:19","nodeType":"EnumValue","src":"1322:8:19"},{"id":12548,"name":"StaticCall","nameLocation":"1390:10:19","nodeType":"EnumValue","src":"1390:10:19"},{"id":12549,"name":"Create","nameLocation":"1446:6:19","nodeType":"EnumValue","src":"1446:6:19"},{"id":12550,"name":"SelfDestruct","nameLocation":"1505:12:19","nodeType":"EnumValue","src":"1505:12:19"},{"id":12551,"name":"Resume","nameLocation":"1644:6:19","nodeType":"EnumValue","src":"1644:6:19"},{"id":12552,"name":"Balance","nameLocation":"1703:7:19","nodeType":"EnumValue","src":"1703:7:19"},{"id":12553,"name":"Extcodesize","nameLocation":"1764:11:19","nodeType":"EnumValue","src":"1764:11:19"},{"id":12554,"name":"Extcodehash","nameLocation":"1829:11:19","nodeType":"EnumValue","src":"1829:11:19"},{"id":12555,"name":"Extcodecopy","nameLocation":"1892:11:19","nodeType":"EnumValue","src":"1892:11:19"}],"name":"AccountAccessKind","nameLocation":"1123:17:19"},{"id":12566,"nodeType":"EnumDefinition","src":"1949:683:19","nodes":[],"canonicalName":"VmSafe.ForgeContext","members":[{"id":12557,"name":"TestGroup","nameLocation":"2047:9:19","nodeType":"EnumValue","src":"2047:9:19"},{"id":12558,"name":"Test","nameLocation":"2109:4:19","nodeType":"EnumValue","src":"2109:4:19"},{"id":12559,"name":"Coverage","nameLocation":"2170:8:19","nodeType":"EnumValue","src":"2170:8:19"},{"id":12560,"name":"Snapshot","nameLocation":"2235:8:19","nodeType":"EnumValue","src":"2235:8:19"},{"id":12561,"name":"ScriptGroup","nameLocation":"2327:11:19","nodeType":"EnumValue","src":"2327:11:19"},{"id":12562,"name":"ScriptDryRun","nameLocation":"2393:12:19","nodeType":"EnumValue","src":"2393:12:19"},{"id":12563,"name":"ScriptBroadcast","nameLocation":"2472:15:19","nodeType":"EnumValue","src":"2472:15:19"},{"id":12564,"name":"ScriptResume","nameLocation":"2551:12:19","nodeType":"EnumValue","src":"2551:12:19"},{"id":12565,"name":"Unknown","nameLocation":"2619:7:19","nodeType":"EnumValue","src":"2619:7:19"}],"name":"ForgeContext","nameLocation":"1954:12:19"},{"id":12574,"nodeType":"StructDefinition","src":"2694:237:19","nodes":[],"canonicalName":"VmSafe.Log","members":[{"constant":false,"id":12569,"mutability":"mutable","name":"topics","nameLocation":"2792:6:19","nodeType":"VariableDeclaration","scope":12574,"src":"2782:16:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":12567,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2782:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":12568,"nodeType":"ArrayTypeName","src":"2782:9:19","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":12571,"mutability":"mutable","name":"data","nameLocation":"2850:4:19","nodeType":"VariableDeclaration","scope":12574,"src":"2844:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":12570,"name":"bytes","nodeType":"ElementaryTypeName","src":"2844:5:19","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":12573,"mutability":"mutable","name":"emitter","nameLocation":"2917:7:19","nodeType":"VariableDeclaration","scope":12574,"src":"2909:15:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12572,"name":"address","nodeType":"ElementaryTypeName","src":"2909:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"name":"Log","nameLocation":"2701:3:19","scope":15724,"visibility":"public"},{"id":12579,"nodeType":"StructDefinition","src":"3000:119:19","nodes":[],"canonicalName":"VmSafe.Rpc","members":[{"constant":false,"id":12576,"mutability":"mutable","name":"key","nameLocation":"3065:3:19","nodeType":"VariableDeclaration","scope":12579,"src":"3058:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":12575,"name":"string","nodeType":"ElementaryTypeName","src":"3058:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12578,"mutability":"mutable","name":"url","nameLocation":"3109:3:19","nodeType":"VariableDeclaration","scope":12579,"src":"3102:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":12577,"name":"string","nodeType":"ElementaryTypeName","src":"3102:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"name":"Rpc","nameLocation":"3007:3:19","scope":15724,"visibility":"public"},{"id":12599,"nodeType":"StructDefinition","src":"3179:615:19","nodes":[],"canonicalName":"VmSafe.EthGetLogs","members":[{"constant":false,"id":12581,"mutability":"mutable","name":"emitter","nameLocation":"3260:7:19","nodeType":"VariableDeclaration","scope":12599,"src":"3252:15:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12580,"name":"address","nodeType":"ElementaryTypeName","src":"3252:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12584,"mutability":"mutable","name":"topics","nameLocation":"3354:6:19","nodeType":"VariableDeclaration","scope":12599,"src":"3344:16:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":12582,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3344:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":12583,"nodeType":"ArrayTypeName","src":"3344:9:19","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":12586,"mutability":"mutable","name":"data","nameLocation":"3412:4:19","nodeType":"VariableDeclaration","scope":12599,"src":"3406:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":12585,"name":"bytes","nodeType":"ElementaryTypeName","src":"3406:5:19","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":12588,"mutability":"mutable","name":"blockHash","nameLocation":"3461:9:19","nodeType":"VariableDeclaration","scope":12599,"src":"3453:17:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12587,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3453:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":12590,"mutability":"mutable","name":"blockNumber","nameLocation":"3516:11:19","nodeType":"VariableDeclaration","scope":12599,"src":"3509:18:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":12589,"name":"uint64","nodeType":"ElementaryTypeName","src":"3509:6:19","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":12592,"mutability":"mutable","name":"transactionHash","nameLocation":"3578:15:19","nodeType":"VariableDeclaration","scope":12599,"src":"3570:23:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12591,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3570:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":12594,"mutability":"mutable","name":"transactionIndex","nameLocation":"3657:16:19","nodeType":"VariableDeclaration","scope":12599,"src":"3650:23:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":12593,"name":"uint64","nodeType":"ElementaryTypeName","src":"3650:6:19","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":12596,"mutability":"mutable","name":"logIndex","nameLocation":"3717:8:19","nodeType":"VariableDeclaration","scope":12599,"src":"3709:16:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12595,"name":"uint256","nodeType":"ElementaryTypeName","src":"3709:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":12598,"mutability":"mutable","name":"removed","nameLocation":"3780:7:19","nodeType":"VariableDeclaration","scope":12599,"src":"3775:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12597,"name":"bool","nodeType":"ElementaryTypeName","src":"3775:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"name":"EthGetLogs","nameLocation":"3186:10:19","scope":15724,"visibility":"public"},{"id":12610,"nodeType":"StructDefinition","src":"3870:334:19","nodes":[],"canonicalName":"VmSafe.DirEntry","members":[{"constant":false,"id":12601,"mutability":"mutable","name":"errorMessage","nameLocation":"3941:12:19","nodeType":"VariableDeclaration","scope":12610,"src":"3934:19:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":12600,"name":"string","nodeType":"ElementaryTypeName","src":"3934:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12603,"mutability":"mutable","name":"path","nameLocation":"4004:4:19","nodeType":"VariableDeclaration","scope":12610,"src":"3997:11:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":12602,"name":"string","nodeType":"ElementaryTypeName","src":"3997:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12605,"mutability":"mutable","name":"depth","nameLocation":"4060:5:19","nodeType":"VariableDeclaration","scope":12610,"src":"4053:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":12604,"name":"uint64","nodeType":"ElementaryTypeName","src":"4053:6:19","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":12607,"mutability":"mutable","name":"isDir","nameLocation":"4125:5:19","nodeType":"VariableDeclaration","scope":12610,"src":"4120:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12606,"name":"bool","nodeType":"ElementaryTypeName","src":"4120:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":12609,"mutability":"mutable","name":"isSymlink","nameLocation":"4188:9:19","nodeType":"VariableDeclaration","scope":12610,"src":"4183:14:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12608,"name":"bool","nodeType":"ElementaryTypeName","src":"4183:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"name":"DirEntry","nameLocation":"3877:8:19","scope":15724,"visibility":"public"},{"id":12625,"nodeType":"StructDefinition","src":"4434:599:19","nodes":[],"canonicalName":"VmSafe.FsMetadata","members":[{"constant":false,"id":12612,"mutability":"mutable","name":"isDir","nameLocation":"4520:5:19","nodeType":"VariableDeclaration","scope":12625,"src":"4515:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12611,"name":"bool","nodeType":"ElementaryTypeName","src":"4515:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":12614,"mutability":"mutable","name":"isSymlink","nameLocation":"4591:9:19","nodeType":"VariableDeclaration","scope":12625,"src":"4586:14:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12613,"name":"bool","nodeType":"ElementaryTypeName","src":"4586:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":12616,"mutability":"mutable","name":"length","nameLocation":"4683:6:19","nodeType":"VariableDeclaration","scope":12625,"src":"4675:14:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12615,"name":"uint256","nodeType":"ElementaryTypeName","src":"4675:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":12618,"mutability":"mutable","name":"readOnly","nameLocation":"4774:8:19","nodeType":"VariableDeclaration","scope":12625,"src":"4769:13:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12617,"name":"bool","nodeType":"ElementaryTypeName","src":"4769:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":12620,"mutability":"mutable","name":"modified","nameLocation":"4863:8:19","nodeType":"VariableDeclaration","scope":12625,"src":"4855:16:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12619,"name":"uint256","nodeType":"ElementaryTypeName","src":"4855:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":12622,"mutability":"mutable","name":"accessed","nameLocation":"4939:8:19","nodeType":"VariableDeclaration","scope":12625,"src":"4931:16:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12621,"name":"uint256","nodeType":"ElementaryTypeName","src":"4931:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":12624,"mutability":"mutable","name":"created","nameLocation":"5019:7:19","nodeType":"VariableDeclaration","scope":12625,"src":"5011:15:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12623,"name":"uint256","nodeType":"ElementaryTypeName","src":"5011:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"FsMetadata","nameLocation":"4441:10:19","scope":15724,"visibility":"public"},{"id":12634,"nodeType":"StructDefinition","src":"5087:277:19","nodes":[],"canonicalName":"VmSafe.Wallet","members":[{"constant":false,"id":12627,"mutability":"mutable","name":"addr","nameLocation":"5152:4:19","nodeType":"VariableDeclaration","scope":12634,"src":"5144:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12626,"name":"address","nodeType":"ElementaryTypeName","src":"5144:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12629,"mutability":"mutable","name":"publicKeyX","nameLocation":"5214:10:19","nodeType":"VariableDeclaration","scope":12634,"src":"5206:18:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12628,"name":"uint256","nodeType":"ElementaryTypeName","src":"5206:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":12631,"mutability":"mutable","name":"publicKeyY","nameLocation":"5282:10:19","nodeType":"VariableDeclaration","scope":12634,"src":"5274:18:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12630,"name":"uint256","nodeType":"ElementaryTypeName","src":"5274:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":12633,"mutability":"mutable","name":"privateKey","nameLocation":"5347:10:19","nodeType":"VariableDeclaration","scope":12634,"src":"5339:18:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12632,"name":"uint256","nodeType":"ElementaryTypeName","src":"5339:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"Wallet","nameLocation":"5094:6:19","scope":15724,"visibility":"public"},{"id":12641,"nodeType":"StructDefinition","src":"5409:213:19","nodes":[],"canonicalName":"VmSafe.FfiResult","members":[{"constant":false,"id":12636,"mutability":"mutable","name":"exitCode","nameLocation":"5480:8:19","nodeType":"VariableDeclaration","scope":12641,"src":"5474:14:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":12635,"name":"int32","nodeType":"ElementaryTypeName","src":"5474:5:19","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"visibility":"internal"},{"constant":false,"id":12638,"mutability":"mutable","name":"stdout","nameLocation":"5557:6:19","nodeType":"VariableDeclaration","scope":12641,"src":"5551:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":12637,"name":"bytes","nodeType":"ElementaryTypeName","src":"5551:5:19","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":12640,"mutability":"mutable","name":"stderr","nameLocation":"5609:6:19","nodeType":"VariableDeclaration","scope":12641,"src":"5603:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":12639,"name":"bytes","nodeType":"ElementaryTypeName","src":"5603:5:19","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"name":"FfiResult","nameLocation":"5416:9:19","scope":15724,"visibility":"public"},{"id":12646,"nodeType":"StructDefinition","src":"5671:184:19","nodes":[],"canonicalName":"VmSafe.ChainInfo","members":[{"constant":false,"id":12643,"mutability":"mutable","name":"forkId","nameLocation":"5772:6:19","nodeType":"VariableDeclaration","scope":12646,"src":"5764:14:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12642,"name":"uint256","nodeType":"ElementaryTypeName","src":"5764:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":12645,"mutability":"mutable","name":"chainId","nameLocation":"5841:7:19","nodeType":"VariableDeclaration","scope":12646,"src":"5833:15:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12644,"name":"uint256","nodeType":"ElementaryTypeName","src":"5833:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"ChainInfo","nameLocation":"5678:9:19","scope":15724,"visibility":"public"},{"id":12677,"nodeType":"StructDefinition","src":"5916:1837:19","nodes":[],"canonicalName":"VmSafe.AccountAccess","members":[{"constant":false,"id":12649,"mutability":"mutable","name":"chainInfo","nameLocation":"6008:9:19","nodeType":"VariableDeclaration","scope":12677,"src":"5998:19:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_ChainInfo_$12646_storage_ptr","typeString":"struct VmSafe.ChainInfo"},"typeName":{"id":12648,"nodeType":"UserDefinedTypeName","pathNode":{"id":12647,"name":"ChainInfo","nodeType":"IdentifierPath","referencedDeclaration":12646,"src":"5998:9:19"},"referencedDeclaration":12646,"src":"5998:9:19","typeDescriptions":{"typeIdentifier":"t_struct$_ChainInfo_$12646_storage_ptr","typeString":"struct VmSafe.ChainInfo"}},"visibility":"internal"},{"constant":false,"id":12652,"mutability":"mutable","name":"kind","nameLocation":"6471:4:19","nodeType":"VariableDeclaration","scope":12677,"src":"6453:22:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_AccountAccessKind_$12556","typeString":"enum VmSafe.AccountAccessKind"},"typeName":{"id":12651,"nodeType":"UserDefinedTypeName","pathNode":{"id":12650,"name":"AccountAccessKind","nodeType":"IdentifierPath","referencedDeclaration":12556,"src":"6453:17:19"},"referencedDeclaration":12556,"src":"6453:17:19","typeDescriptions":{"typeIdentifier":"t_enum$_AccountAccessKind_$12556","typeString":"enum VmSafe.AccountAccessKind"}},"visibility":"internal"},{"constant":false,"id":12654,"mutability":"mutable","name":"account","nameLocation":"6648:7:19","nodeType":"VariableDeclaration","scope":12677,"src":"6640:15:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12653,"name":"address","nodeType":"ElementaryTypeName","src":"6640:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12656,"mutability":"mutable","name":"accessor","nameLocation":"6711:8:19","nodeType":"VariableDeclaration","scope":12677,"src":"6703:16:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12655,"name":"address","nodeType":"ElementaryTypeName","src":"6703:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12658,"mutability":"mutable","name":"initialized","nameLocation":"6922:11:19","nodeType":"VariableDeclaration","scope":12677,"src":"6917:16:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12657,"name":"bool","nodeType":"ElementaryTypeName","src":"6917:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":12660,"mutability":"mutable","name":"oldBalance","nameLocation":"7008:10:19","nodeType":"VariableDeclaration","scope":12677,"src":"7000:18:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12659,"name":"uint256","nodeType":"ElementaryTypeName","src":"7000:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":12662,"mutability":"mutable","name":"newBalance","nameLocation":"7183:10:19","nodeType":"VariableDeclaration","scope":12677,"src":"7175:18:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12661,"name":"uint256","nodeType":"ElementaryTypeName","src":"7175:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":12664,"mutability":"mutable","name":"deployedCode","nameLocation":"7260:12:19","nodeType":"VariableDeclaration","scope":12677,"src":"7254:18:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":12663,"name":"bytes","nodeType":"ElementaryTypeName","src":"7254:5:19","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":12666,"mutability":"mutable","name":"value","nameLocation":"7344:5:19","nodeType":"VariableDeclaration","scope":12677,"src":"7336:13:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12665,"name":"uint256","nodeType":"ElementaryTypeName","src":"7336:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":12668,"mutability":"mutable","name":"data","nameLocation":"7418:4:19","nodeType":"VariableDeclaration","scope":12677,"src":"7412:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":12667,"name":"bytes","nodeType":"ElementaryTypeName","src":"7412:5:19","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":12670,"mutability":"mutable","name":"reverted","nameLocation":"7513:8:19","nodeType":"VariableDeclaration","scope":12677,"src":"7508:13:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12669,"name":"bool","nodeType":"ElementaryTypeName","src":"7508:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":12674,"mutability":"mutable","name":"storageAccesses","nameLocation":"7635:15:19","nodeType":"VariableDeclaration","scope":12677,"src":"7619:31:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_StorageAccess_$12690_storage_$dyn_storage_ptr","typeString":"struct VmSafe.StorageAccess[]"},"typeName":{"baseType":{"id":12672,"nodeType":"UserDefinedTypeName","pathNode":{"id":12671,"name":"StorageAccess","nodeType":"IdentifierPath","referencedDeclaration":12690,"src":"7619:13:19"},"referencedDeclaration":12690,"src":"7619:13:19","typeDescriptions":{"typeIdentifier":"t_struct$_StorageAccess_$12690_storage_ptr","typeString":"struct VmSafe.StorageAccess"}},"id":12673,"nodeType":"ArrayTypeName","src":"7619:15:19","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_StorageAccess_$12690_storage_$dyn_storage_ptr","typeString":"struct VmSafe.StorageAccess[]"}},"visibility":"internal"},{"constant":false,"id":12676,"mutability":"mutable","name":"depth","nameLocation":"7741:5:19","nodeType":"VariableDeclaration","scope":12677,"src":"7734:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":12675,"name":"uint64","nodeType":"ElementaryTypeName","src":"7734:6:19","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"name":"AccountAccess","nameLocation":"5923:13:19","scope":15724,"visibility":"public"},{"id":12690,"nodeType":"StructDefinition","src":"7815:425:19","nodes":[],"canonicalName":"VmSafe.StorageAccess","members":[{"constant":false,"id":12679,"mutability":"mutable","name":"account","nameLocation":"7905:7:19","nodeType":"VariableDeclaration","scope":12690,"src":"7897:15:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12678,"name":"address","nodeType":"ElementaryTypeName","src":"7897:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12681,"mutability":"mutable","name":"slot","nameLocation":"7969:4:19","nodeType":"VariableDeclaration","scope":12690,"src":"7961:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12680,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7961:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":12683,"mutability":"mutable","name":"isWrite","nameLocation":"8026:7:19","nodeType":"VariableDeclaration","scope":12690,"src":"8021:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12682,"name":"bool","nodeType":"ElementaryTypeName","src":"8021:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":12685,"mutability":"mutable","name":"previousValue","nameLocation":"8094:13:19","nodeType":"VariableDeclaration","scope":12690,"src":"8086:21:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12684,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8086:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":12687,"mutability":"mutable","name":"newValue","nameLocation":"8163:8:19","nodeType":"VariableDeclaration","scope":12690,"src":"8155:16:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12686,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8155:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":12689,"mutability":"mutable","name":"reverted","nameLocation":"8225:8:19","nodeType":"VariableDeclaration","scope":12690,"src":"8220:13:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12688,"name":"bool","nodeType":"ElementaryTypeName","src":"8220:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"name":"StorageAccess","nameLocation":"7822:13:19","scope":15724,"visibility":"public"},{"id":12701,"nodeType":"StructDefinition","src":"8291:362:19","nodes":[],"canonicalName":"VmSafe.Gas","members":[{"constant":false,"id":12692,"mutability":"mutable","name":"gasLimit","nameLocation":"8357:8:19","nodeType":"VariableDeclaration","scope":12701,"src":"8350:15:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":12691,"name":"uint64","nodeType":"ElementaryTypeName","src":"8350:6:19","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":12694,"mutability":"mutable","name":"gasTotalUsed","nameLocation":"8413:12:19","nodeType":"VariableDeclaration","scope":12701,"src":"8406:19:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":12693,"name":"uint64","nodeType":"ElementaryTypeName","src":"8406:6:19","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":12696,"mutability":"mutable","name":"gasMemoryUsed","nameLocation":"8498:13:19","nodeType":"VariableDeclaration","scope":12701,"src":"8491:20:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":12695,"name":"uint64","nodeType":"ElementaryTypeName","src":"8491:6:19","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":12698,"mutability":"mutable","name":"gasRefunded","nameLocation":"8566:11:19","nodeType":"VariableDeclaration","scope":12701,"src":"8560:17:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":12697,"name":"int64","nodeType":"ElementaryTypeName","src":"8560:5:19","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"},{"constant":false,"id":12700,"mutability":"mutable","name":"gasRemaining","nameLocation":"8634:12:19","nodeType":"VariableDeclaration","scope":12701,"src":"8627:19:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":12699,"name":"uint64","nodeType":"ElementaryTypeName","src":"8627:6:19","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"name":"Gas","nameLocation":"8298:3:19","scope":15724,"visibility":"public"},{"id":12709,"nodeType":"FunctionDefinition","src":"8840:80:19","nodes":[],"documentation":{"id":12702,"nodeType":"StructuredDocumentation","src":"8697:138:19","text":"Gets the environment variable `name` and parses it as `address`.\n Reverts if the variable was not found or could not be parsed."},"functionSelector":"350d56bf","implemented":false,"kind":"function","modifiers":[],"name":"envAddress","nameLocation":"8849:10:19","parameters":{"id":12705,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12704,"mutability":"mutable","name":"name","nameLocation":"8876:4:19","nodeType":"VariableDeclaration","scope":12709,"src":"8860:20:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12703,"name":"string","nodeType":"ElementaryTypeName","src":"8860:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8859:22:19"},"returnParameters":{"id":12708,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12707,"mutability":"mutable","name":"value","nameLocation":"8913:5:19","nodeType":"VariableDeclaration","scope":12709,"src":"8905:13:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12706,"name":"address","nodeType":"ElementaryTypeName","src":"8905:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8904:15:19"},"scope":15724,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":12720,"nodeType":"FunctionDefinition","src":"9103:112:19","nodes":[],"documentation":{"id":12710,"nodeType":"StructuredDocumentation","src":"8926:172:19","text":"Gets the environment variable `name` and parses it as an array of `address`, delimited by `delim`.\n Reverts if the variable was not found or could not be parsed."},"functionSelector":"ad31b9fa","implemented":false,"kind":"function","modifiers":[],"name":"envAddress","nameLocation":"9112:10:19","parameters":{"id":12715,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12712,"mutability":"mutable","name":"name","nameLocation":"9139:4:19","nodeType":"VariableDeclaration","scope":12720,"src":"9123:20:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12711,"name":"string","nodeType":"ElementaryTypeName","src":"9123:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12714,"mutability":"mutable","name":"delim","nameLocation":"9161:5:19","nodeType":"VariableDeclaration","scope":12720,"src":"9145:21:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12713,"name":"string","nodeType":"ElementaryTypeName","src":"9145:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9122:45:19"},"returnParameters":{"id":12719,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12718,"mutability":"mutable","name":"value","nameLocation":"9208:5:19","nodeType":"VariableDeclaration","scope":12720,"src":"9191:22:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":12716,"name":"address","nodeType":"ElementaryTypeName","src":"9191:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":12717,"nodeType":"ArrayTypeName","src":"9191:9:19","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"9190:24:19"},"scope":15724,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":12728,"nodeType":"FunctionDefinition","src":"9361:74:19","nodes":[],"documentation":{"id":12721,"nodeType":"StructuredDocumentation","src":"9221:135:19","text":"Gets the environment variable `name` and parses it as `bool`.\n Reverts if the variable was not found or could not be parsed."},"functionSelector":"7ed1ec7d","implemented":false,"kind":"function","modifiers":[],"name":"envBool","nameLocation":"9370:7:19","parameters":{"id":12724,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12723,"mutability":"mutable","name":"name","nameLocation":"9394:4:19","nodeType":"VariableDeclaration","scope":12728,"src":"9378:20:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12722,"name":"string","nodeType":"ElementaryTypeName","src":"9378:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9377:22:19"},"returnParameters":{"id":12727,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12726,"mutability":"mutable","name":"value","nameLocation":"9428:5:19","nodeType":"VariableDeclaration","scope":12728,"src":"9423:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12725,"name":"bool","nodeType":"ElementaryTypeName","src":"9423:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"9422:12:19"},"scope":15724,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":12739,"nodeType":"FunctionDefinition","src":"9615:106:19","nodes":[],"documentation":{"id":12729,"nodeType":"StructuredDocumentation","src":"9441:169:19","text":"Gets the environment variable `name` and parses it as an array of `bool`, delimited by `delim`.\n Reverts if the variable was not found or could not be parsed."},"functionSelector":"aaaddeaf","implemented":false,"kind":"function","modifiers":[],"name":"envBool","nameLocation":"9624:7:19","parameters":{"id":12734,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12731,"mutability":"mutable","name":"name","nameLocation":"9648:4:19","nodeType":"VariableDeclaration","scope":12739,"src":"9632:20:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12730,"name":"string","nodeType":"ElementaryTypeName","src":"9632:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12733,"mutability":"mutable","name":"delim","nameLocation":"9670:5:19","nodeType":"VariableDeclaration","scope":12739,"src":"9654:21:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12732,"name":"string","nodeType":"ElementaryTypeName","src":"9654:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9631:45:19"},"returnParameters":{"id":12738,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12737,"mutability":"mutable","name":"value","nameLocation":"9714:5:19","nodeType":"VariableDeclaration","scope":12739,"src":"9700:19:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":12735,"name":"bool","nodeType":"ElementaryTypeName","src":"9700:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":12736,"nodeType":"ArrayTypeName","src":"9700:6:19","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"}],"src":"9699:21:19"},"scope":15724,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":12747,"nodeType":"FunctionDefinition","src":"9870:80:19","nodes":[],"documentation":{"id":12740,"nodeType":"StructuredDocumentation","src":"9727:138:19","text":"Gets the environment variable `name` and parses it as `bytes32`.\n Reverts if the variable was not found or could not be parsed."},"functionSelector":"97949042","implemented":false,"kind":"function","modifiers":[],"name":"envBytes32","nameLocation":"9879:10:19","parameters":{"id":12743,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12742,"mutability":"mutable","name":"name","nameLocation":"9906:4:19","nodeType":"VariableDeclaration","scope":12747,"src":"9890:20:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12741,"name":"string","nodeType":"ElementaryTypeName","src":"9890:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9889:22:19"},"returnParameters":{"id":12746,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12745,"mutability":"mutable","name":"value","nameLocation":"9943:5:19","nodeType":"VariableDeclaration","scope":12747,"src":"9935:13:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12744,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9935:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"9934:15:19"},"scope":15724,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":12758,"nodeType":"FunctionDefinition","src":"10133:112:19","nodes":[],"documentation":{"id":12748,"nodeType":"StructuredDocumentation","src":"9956:172:19","text":"Gets the environment variable `name` and parses it as an array of `bytes32`, delimited by `delim`.\n Reverts if the variable was not found or could not be parsed."},"functionSelector":"5af231c1","implemented":false,"kind":"function","modifiers":[],"name":"envBytes32","nameLocation":"10142:10:19","parameters":{"id":12753,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12750,"mutability":"mutable","name":"name","nameLocation":"10169:4:19","nodeType":"VariableDeclaration","scope":12758,"src":"10153:20:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12749,"name":"string","nodeType":"ElementaryTypeName","src":"10153:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12752,"mutability":"mutable","name":"delim","nameLocation":"10191:5:19","nodeType":"VariableDeclaration","scope":12758,"src":"10175:21:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12751,"name":"string","nodeType":"ElementaryTypeName","src":"10175:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"10152:45:19"},"returnParameters":{"id":12757,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12756,"mutability":"mutable","name":"value","nameLocation":"10238:5:19","nodeType":"VariableDeclaration","scope":12758,"src":"10221:22:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":12754,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10221:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":12755,"nodeType":"ArrayTypeName","src":"10221:9:19","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"10220:24:19"},"scope":15724,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":12766,"nodeType":"FunctionDefinition","src":"10392:83:19","nodes":[],"documentation":{"id":12759,"nodeType":"StructuredDocumentation","src":"10251:136:19","text":"Gets the environment variable `name` and parses it as `bytes`.\n Reverts if the variable was not found or could not be parsed."},"functionSelector":"4d7baf06","implemented":false,"kind":"function","modifiers":[],"name":"envBytes","nameLocation":"10401:8:19","parameters":{"id":12762,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12761,"mutability":"mutable","name":"name","nameLocation":"10426:4:19","nodeType":"VariableDeclaration","scope":12766,"src":"10410:20:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12760,"name":"string","nodeType":"ElementaryTypeName","src":"10410:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"10409:22:19"},"returnParameters":{"id":12765,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12764,"mutability":"mutable","name":"value","nameLocation":"10468:5:19","nodeType":"VariableDeclaration","scope":12766,"src":"10455:18:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":12763,"name":"bytes","nodeType":"ElementaryTypeName","src":"10455:5:19","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"10454:20:19"},"scope":15724,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":12777,"nodeType":"FunctionDefinition","src":"10656:108:19","nodes":[],"documentation":{"id":12767,"nodeType":"StructuredDocumentation","src":"10481:170:19","text":"Gets the environment variable `name` and parses it as an array of `bytes`, delimited by `delim`.\n Reverts if the variable was not found or could not be parsed."},"functionSelector":"ddc2651b","implemented":false,"kind":"function","modifiers":[],"name":"envBytes","nameLocation":"10665:8:19","parameters":{"id":12772,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12769,"mutability":"mutable","name":"name","nameLocation":"10690:4:19","nodeType":"VariableDeclaration","scope":12777,"src":"10674:20:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12768,"name":"string","nodeType":"ElementaryTypeName","src":"10674:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12771,"mutability":"mutable","name":"delim","nameLocation":"10712:5:19","nodeType":"VariableDeclaration","scope":12777,"src":"10696:21:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12770,"name":"string","nodeType":"ElementaryTypeName","src":"10696:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"10673:45:19"},"returnParameters":{"id":12776,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12775,"mutability":"mutable","name":"value","nameLocation":"10757:5:19","nodeType":"VariableDeclaration","scope":12777,"src":"10742:20:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":12773,"name":"bytes","nodeType":"ElementaryTypeName","src":"10742:5:19","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":12774,"nodeType":"ArrayTypeName","src":"10742:7:19","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"10741:22:19"},"scope":15724,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":12785,"nodeType":"FunctionDefinition","src":"10866:77:19","nodes":[],"documentation":{"id":12778,"nodeType":"StructuredDocumentation","src":"10770:91:19","text":"Gets the environment variable `name` and returns true if it exists, else returns false."},"functionSelector":"ce8365f9","implemented":false,"kind":"function","modifiers":[],"name":"envExists","nameLocation":"10875:9:19","parameters":{"id":12781,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12780,"mutability":"mutable","name":"name","nameLocation":"10901:4:19","nodeType":"VariableDeclaration","scope":12785,"src":"10885:20:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12779,"name":"string","nodeType":"ElementaryTypeName","src":"10885:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"10884:22:19"},"returnParameters":{"id":12784,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12783,"mutability":"mutable","name":"result","nameLocation":"10935:6:19","nodeType":"VariableDeclaration","scope":12785,"src":"10930:11:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12782,"name":"bool","nodeType":"ElementaryTypeName","src":"10930:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"10929:13:19"},"scope":15724,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":12793,"nodeType":"FunctionDefinition","src":"11091:75:19","nodes":[],"documentation":{"id":12786,"nodeType":"StructuredDocumentation","src":"10949:137:19","text":"Gets the environment variable `name` and parses it as `int256`.\n Reverts if the variable was not found or could not be parsed."},"functionSelector":"892a0c61","implemented":false,"kind":"function","modifiers":[],"name":"envInt","nameLocation":"11100:6:19","parameters":{"id":12789,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12788,"mutability":"mutable","name":"name","nameLocation":"11123:4:19","nodeType":"VariableDeclaration","scope":12793,"src":"11107:20:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12787,"name":"string","nodeType":"ElementaryTypeName","src":"11107:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"11106:22:19"},"returnParameters":{"id":12792,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12791,"mutability":"mutable","name":"value","nameLocation":"11159:5:19","nodeType":"VariableDeclaration","scope":12793,"src":"11152:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":12790,"name":"int256","nodeType":"ElementaryTypeName","src":"11152:6:19","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"11151:14:19"},"scope":15724,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":12804,"nodeType":"FunctionDefinition","src":"11348:107:19","nodes":[],"documentation":{"id":12794,"nodeType":"StructuredDocumentation","src":"11172:171:19","text":"Gets the environment variable `name` and parses it as an array of `int256`, delimited by `delim`.\n Reverts if the variable was not found or could not be parsed."},"functionSelector":"42181150","implemented":false,"kind":"function","modifiers":[],"name":"envInt","nameLocation":"11357:6:19","parameters":{"id":12799,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12796,"mutability":"mutable","name":"name","nameLocation":"11380:4:19","nodeType":"VariableDeclaration","scope":12804,"src":"11364:20:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12795,"name":"string","nodeType":"ElementaryTypeName","src":"11364:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12798,"mutability":"mutable","name":"delim","nameLocation":"11402:5:19","nodeType":"VariableDeclaration","scope":12804,"src":"11386:21:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12797,"name":"string","nodeType":"ElementaryTypeName","src":"11386:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"11363:45:19"},"returnParameters":{"id":12803,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12802,"mutability":"mutable","name":"value","nameLocation":"11448:5:19","nodeType":"VariableDeclaration","scope":12804,"src":"11432:21:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":12800,"name":"int256","nodeType":"ElementaryTypeName","src":"11432:6:19","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":12801,"nodeType":"ArrayTypeName","src":"11432:8:19","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"11431:23:19"},"scope":15724,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":12814,"nodeType":"FunctionDefinition","src":"11646:91:19","nodes":[],"documentation":{"id":12805,"nodeType":"StructuredDocumentation","src":"11461:180:19","text":"Gets the environment variable `name` and parses it as `bool`.\n Reverts if the variable could not be parsed.\n Returns `defaultValue` if the variable was not found."},"functionSelector":"4777f3cf","implemented":false,"kind":"function","modifiers":[],"name":"envOr","nameLocation":"11655:5:19","parameters":{"id":12810,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12807,"mutability":"mutable","name":"name","nameLocation":"11677:4:19","nodeType":"VariableDeclaration","scope":12814,"src":"11661:20:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12806,"name":"string","nodeType":"ElementaryTypeName","src":"11661:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12809,"mutability":"mutable","name":"defaultValue","nameLocation":"11688:12:19","nodeType":"VariableDeclaration","scope":12814,"src":"11683:17:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12808,"name":"bool","nodeType":"ElementaryTypeName","src":"11683:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"11660:41:19"},"returnParameters":{"id":12813,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12812,"mutability":"mutable","name":"value","nameLocation":"11730:5:19","nodeType":"VariableDeclaration","scope":12814,"src":"11725:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12811,"name":"bool","nodeType":"ElementaryTypeName","src":"11725:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"11724:12:19"},"scope":15724,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":12824,"nodeType":"FunctionDefinition","src":"11931:97:19","nodes":[],"documentation":{"id":12815,"nodeType":"StructuredDocumentation","src":"11743:183:19","text":"Gets the environment variable `name` and parses it as `uint256`.\n Reverts if the variable could not be parsed.\n Returns `defaultValue` if the variable was not found."},"functionSelector":"5e97348f","implemented":false,"kind":"function","modifiers":[],"name":"envOr","nameLocation":"11940:5:19","parameters":{"id":12820,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12817,"mutability":"mutable","name":"name","nameLocation":"11962:4:19","nodeType":"VariableDeclaration","scope":12824,"src":"11946:20:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12816,"name":"string","nodeType":"ElementaryTypeName","src":"11946:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12819,"mutability":"mutable","name":"defaultValue","nameLocation":"11976:12:19","nodeType":"VariableDeclaration","scope":12824,"src":"11968:20:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12818,"name":"uint256","nodeType":"ElementaryTypeName","src":"11968:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11945:44:19"},"returnParameters":{"id":12823,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12822,"mutability":"mutable","name":"value","nameLocation":"12021:5:19","nodeType":"VariableDeclaration","scope":12824,"src":"12013:13:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12821,"name":"uint256","nodeType":"ElementaryTypeName","src":"12013:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12012:15:19"},"scope":15724,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":12838,"nodeType":"FunctionDefinition","src":"12256:164:19","nodes":[],"documentation":{"id":12825,"nodeType":"StructuredDocumentation","src":"12034:217:19","text":"Gets the environment variable `name` and parses it as an array of `address`, delimited by `delim`.\n Reverts if the variable could not be parsed.\n Returns `defaultValue` if the variable was not found."},"functionSelector":"c74e9deb","implemented":false,"kind":"function","modifiers":[],"name":"envOr","nameLocation":"12265:5:19","parameters":{"id":12833,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12827,"mutability":"mutable","name":"name","nameLocation":"12287:4:19","nodeType":"VariableDeclaration","scope":12838,"src":"12271:20:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12826,"name":"string","nodeType":"ElementaryTypeName","src":"12271:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12829,"mutability":"mutable","name":"delim","nameLocation":"12309:5:19","nodeType":"VariableDeclaration","scope":12838,"src":"12293:21:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12828,"name":"string","nodeType":"ElementaryTypeName","src":"12293:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12832,"mutability":"mutable","name":"defaultValue","nameLocation":"12335:12:19","nodeType":"VariableDeclaration","scope":12838,"src":"12316:31:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":12830,"name":"address","nodeType":"ElementaryTypeName","src":"12316:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":12831,"nodeType":"ArrayTypeName","src":"12316:9:19","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"12270:78:19"},"returnParameters":{"id":12837,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12836,"mutability":"mutable","name":"value","nameLocation":"12413:5:19","nodeType":"VariableDeclaration","scope":12838,"src":"12396:22:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":12834,"name":"address","nodeType":"ElementaryTypeName","src":"12396:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":12835,"nodeType":"ArrayTypeName","src":"12396:9:19","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"12395:24:19"},"scope":15724,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":12852,"nodeType":"FunctionDefinition","src":"12648:164:19","nodes":[],"documentation":{"id":12839,"nodeType":"StructuredDocumentation","src":"12426:217:19","text":"Gets the environment variable `name` and parses it as an array of `bytes32`, delimited by `delim`.\n Reverts if the variable could not be parsed.\n Returns `defaultValue` if the variable was not found."},"functionSelector":"2281f367","implemented":false,"kind":"function","modifiers":[],"name":"envOr","nameLocation":"12657:5:19","parameters":{"id":12847,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12841,"mutability":"mutable","name":"name","nameLocation":"12679:4:19","nodeType":"VariableDeclaration","scope":12852,"src":"12663:20:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12840,"name":"string","nodeType":"ElementaryTypeName","src":"12663:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12843,"mutability":"mutable","name":"delim","nameLocation":"12701:5:19","nodeType":"VariableDeclaration","scope":12852,"src":"12685:21:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12842,"name":"string","nodeType":"ElementaryTypeName","src":"12685:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12846,"mutability":"mutable","name":"defaultValue","nameLocation":"12727:12:19","nodeType":"VariableDeclaration","scope":12852,"src":"12708:31:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_calldata_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":12844,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12708:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":12845,"nodeType":"ArrayTypeName","src":"12708:9:19","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"12662:78:19"},"returnParameters":{"id":12851,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12850,"mutability":"mutable","name":"value","nameLocation":"12805:5:19","nodeType":"VariableDeclaration","scope":12852,"src":"12788:22:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":12848,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12788:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":12849,"nodeType":"ArrayTypeName","src":"12788:9:19","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"12787:24:19"},"scope":15724,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":12866,"nodeType":"FunctionDefinition","src":"13039:162:19","nodes":[],"documentation":{"id":12853,"nodeType":"StructuredDocumentation","src":"12818:216:19","text":"Gets the environment variable `name` and parses it as an array of `string`, delimited by `delim`.\n Reverts if the variable could not be parsed.\n Returns `defaultValue` if the variable was not found."},"functionSelector":"859216bc","implemented":false,"kind":"function","modifiers":[],"name":"envOr","nameLocation":"13048:5:19","parameters":{"id":12861,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12855,"mutability":"mutable","name":"name","nameLocation":"13070:4:19","nodeType":"VariableDeclaration","scope":12866,"src":"13054:20:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12854,"name":"string","nodeType":"ElementaryTypeName","src":"13054:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12857,"mutability":"mutable","name":"delim","nameLocation":"13092:5:19","nodeType":"VariableDeclaration","scope":12866,"src":"13076:21:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12856,"name":"string","nodeType":"ElementaryTypeName","src":"13076:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12860,"mutability":"mutable","name":"defaultValue","nameLocation":"13117:12:19","nodeType":"VariableDeclaration","scope":12866,"src":"13099:30:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_string_calldata_ptr_$dyn_calldata_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":12858,"name":"string","nodeType":"ElementaryTypeName","src":"13099:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":12859,"nodeType":"ArrayTypeName","src":"13099:8:19","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"13053:77:19"},"returnParameters":{"id":12865,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12864,"mutability":"mutable","name":"value","nameLocation":"13194:5:19","nodeType":"VariableDeclaration","scope":12866,"src":"13178:21:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":12862,"name":"string","nodeType":"ElementaryTypeName","src":"13178:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":12863,"nodeType":"ArrayTypeName","src":"13178:8:19","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"13177:23:19"},"scope":15724,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":12880,"nodeType":"FunctionDefinition","src":"13427:160:19","nodes":[],"documentation":{"id":12867,"nodeType":"StructuredDocumentation","src":"13207:215:19","text":"Gets the environment variable `name` and parses it as an array of `bytes`, delimited by `delim`.\n Reverts if the variable could not be parsed.\n Returns `defaultValue` if the variable was not found."},"functionSelector":"64bc3e64","implemented":false,"kind":"function","modifiers":[],"name":"envOr","nameLocation":"13436:5:19","parameters":{"id":12875,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12869,"mutability":"mutable","name":"name","nameLocation":"13458:4:19","nodeType":"VariableDeclaration","scope":12880,"src":"13442:20:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12868,"name":"string","nodeType":"ElementaryTypeName","src":"13442:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12871,"mutability":"mutable","name":"delim","nameLocation":"13480:5:19","nodeType":"VariableDeclaration","scope":12880,"src":"13464:21:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12870,"name":"string","nodeType":"ElementaryTypeName","src":"13464:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12874,"mutability":"mutable","name":"defaultValue","nameLocation":"13504:12:19","nodeType":"VariableDeclaration","scope":12880,"src":"13487:29:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":12872,"name":"bytes","nodeType":"ElementaryTypeName","src":"13487:5:19","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":12873,"nodeType":"ArrayTypeName","src":"13487:7:19","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"13441:76:19"},"returnParameters":{"id":12879,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12878,"mutability":"mutable","name":"value","nameLocation":"13580:5:19","nodeType":"VariableDeclaration","scope":12880,"src":"13565:20:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":12876,"name":"bytes","nodeType":"ElementaryTypeName","src":"13565:5:19","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":12877,"nodeType":"ArrayTypeName","src":"13565:7:19","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"13564:22:19"},"scope":15724,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":12890,"nodeType":"FunctionDefinition","src":"13780:95:19","nodes":[],"documentation":{"id":12881,"nodeType":"StructuredDocumentation","src":"13593:182:19","text":"Gets the environment variable `name` and parses it as `int256`.\n Reverts if the variable could not be parsed.\n Returns `defaultValue` if the variable was not found."},"functionSelector":"bbcb713e","implemented":false,"kind":"function","modifiers":[],"name":"envOr","nameLocation":"13789:5:19","parameters":{"id":12886,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12883,"mutability":"mutable","name":"name","nameLocation":"13811:4:19","nodeType":"VariableDeclaration","scope":12890,"src":"13795:20:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12882,"name":"string","nodeType":"ElementaryTypeName","src":"13795:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12885,"mutability":"mutable","name":"defaultValue","nameLocation":"13824:12:19","nodeType":"VariableDeclaration","scope":12890,"src":"13817:19:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":12884,"name":"int256","nodeType":"ElementaryTypeName","src":"13817:6:19","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"13794:43:19"},"returnParameters":{"id":12889,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12888,"mutability":"mutable","name":"value","nameLocation":"13868:5:19","nodeType":"VariableDeclaration","scope":12890,"src":"13861:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":12887,"name":"int256","nodeType":"ElementaryTypeName","src":"13861:6:19","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"13860:14:19"},"scope":15724,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":12900,"nodeType":"FunctionDefinition","src":"14069:97:19","nodes":[],"documentation":{"id":12891,"nodeType":"StructuredDocumentation","src":"13881:183:19","text":"Gets the environment variable `name` and parses it as `address`.\n Reverts if the variable could not be parsed.\n Returns `defaultValue` if the variable was not found."},"functionSelector":"561fe540","implemented":false,"kind":"function","modifiers":[],"name":"envOr","nameLocation":"14078:5:19","parameters":{"id":12896,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12893,"mutability":"mutable","name":"name","nameLocation":"14100:4:19","nodeType":"VariableDeclaration","scope":12900,"src":"14084:20:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12892,"name":"string","nodeType":"ElementaryTypeName","src":"14084:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12895,"mutability":"mutable","name":"defaultValue","nameLocation":"14114:12:19","nodeType":"VariableDeclaration","scope":12900,"src":"14106:20:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12894,"name":"address","nodeType":"ElementaryTypeName","src":"14106:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"14083:44:19"},"returnParameters":{"id":12899,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12898,"mutability":"mutable","name":"value","nameLocation":"14159:5:19","nodeType":"VariableDeclaration","scope":12900,"src":"14151:13:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12897,"name":"address","nodeType":"ElementaryTypeName","src":"14151:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"14150:15:19"},"scope":15724,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":12910,"nodeType":"FunctionDefinition","src":"14360:97:19","nodes":[],"documentation":{"id":12901,"nodeType":"StructuredDocumentation","src":"14172:183:19","text":"Gets the environment variable `name` and parses it as `bytes32`.\n Reverts if the variable could not be parsed.\n Returns `defaultValue` if the variable was not found."},"functionSelector":"b4a85892","implemented":false,"kind":"function","modifiers":[],"name":"envOr","nameLocation":"14369:5:19","parameters":{"id":12906,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12903,"mutability":"mutable","name":"name","nameLocation":"14391:4:19","nodeType":"VariableDeclaration","scope":12910,"src":"14375:20:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12902,"name":"string","nodeType":"ElementaryTypeName","src":"14375:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12905,"mutability":"mutable","name":"defaultValue","nameLocation":"14405:12:19","nodeType":"VariableDeclaration","scope":12910,"src":"14397:20:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12904,"name":"bytes32","nodeType":"ElementaryTypeName","src":"14397:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"14374:44:19"},"returnParameters":{"id":12909,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12908,"mutability":"mutable","name":"value","nameLocation":"14450:5:19","nodeType":"VariableDeclaration","scope":12910,"src":"14442:13:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12907,"name":"bytes32","nodeType":"ElementaryTypeName","src":"14442:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"14441:15:19"},"scope":15724,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":12920,"nodeType":"FunctionDefinition","src":"14650:111:19","nodes":[],"documentation":{"id":12911,"nodeType":"StructuredDocumentation","src":"14463:182:19","text":"Gets the environment variable `name` and parses it as `string`.\n Reverts if the variable could not be parsed.\n Returns `defaultValue` if the variable was not found."},"functionSelector":"d145736c","implemented":false,"kind":"function","modifiers":[],"name":"envOr","nameLocation":"14659:5:19","parameters":{"id":12916,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12913,"mutability":"mutable","name":"name","nameLocation":"14681:4:19","nodeType":"VariableDeclaration","scope":12920,"src":"14665:20:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12912,"name":"string","nodeType":"ElementaryTypeName","src":"14665:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12915,"mutability":"mutable","name":"defaultValue","nameLocation":"14703:12:19","nodeType":"VariableDeclaration","scope":12920,"src":"14687:28:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12914,"name":"string","nodeType":"ElementaryTypeName","src":"14687:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"14664:52:19"},"returnParameters":{"id":12919,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12918,"mutability":"mutable","name":"value","nameLocation":"14754:5:19","nodeType":"VariableDeclaration","scope":12920,"src":"14740:19:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12917,"name":"string","nodeType":"ElementaryTypeName","src":"14740:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"14739:21:19"},"scope":15724,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":12930,"nodeType":"FunctionDefinition","src":"14953:109:19","nodes":[],"documentation":{"id":12921,"nodeType":"StructuredDocumentation","src":"14767:181:19","text":"Gets the environment variable `name` and parses it as `bytes`.\n Reverts if the variable could not be parsed.\n Returns `defaultValue` if the variable was not found."},"functionSelector":"b3e47705","implemented":false,"kind":"function","modifiers":[],"name":"envOr","nameLocation":"14962:5:19","parameters":{"id":12926,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12923,"mutability":"mutable","name":"name","nameLocation":"14984:4:19","nodeType":"VariableDeclaration","scope":12930,"src":"14968:20:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12922,"name":"string","nodeType":"ElementaryTypeName","src":"14968:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12925,"mutability":"mutable","name":"defaultValue","nameLocation":"15005:12:19","nodeType":"VariableDeclaration","scope":12930,"src":"14990:27:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":12924,"name":"bytes","nodeType":"ElementaryTypeName","src":"14990:5:19","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"14967:51:19"},"returnParameters":{"id":12929,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12928,"mutability":"mutable","name":"value","nameLocation":"15055:5:19","nodeType":"VariableDeclaration","scope":12930,"src":"15042:18:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":12927,"name":"bytes","nodeType":"ElementaryTypeName","src":"15042:5:19","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"15041:20:19"},"scope":15724,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":12944,"nodeType":"FunctionDefinition","src":"15287:158:19","nodes":[],"documentation":{"id":12931,"nodeType":"StructuredDocumentation","src":"15068:214:19","text":"Gets the environment variable `name` and parses it as an array of `bool`, delimited by `delim`.\n Reverts if the variable could not be parsed.\n Returns `defaultValue` if the variable was not found."},"functionSelector":"eb85e83b","implemented":false,"kind":"function","modifiers":[],"name":"envOr","nameLocation":"15296:5:19","parameters":{"id":12939,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12933,"mutability":"mutable","name":"name","nameLocation":"15318:4:19","nodeType":"VariableDeclaration","scope":12944,"src":"15302:20:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12932,"name":"string","nodeType":"ElementaryTypeName","src":"15302:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12935,"mutability":"mutable","name":"delim","nameLocation":"15340:5:19","nodeType":"VariableDeclaration","scope":12944,"src":"15324:21:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12934,"name":"string","nodeType":"ElementaryTypeName","src":"15324:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12938,"mutability":"mutable","name":"defaultValue","nameLocation":"15363:12:19","nodeType":"VariableDeclaration","scope":12944,"src":"15347:28:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_calldata_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":12936,"name":"bool","nodeType":"ElementaryTypeName","src":"15347:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":12937,"nodeType":"ArrayTypeName","src":"15347:6:19","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"}],"src":"15301:75:19"},"returnParameters":{"id":12943,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12942,"mutability":"mutable","name":"value","nameLocation":"15438:5:19","nodeType":"VariableDeclaration","scope":12944,"src":"15424:19:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":12940,"name":"bool","nodeType":"ElementaryTypeName","src":"15424:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":12941,"nodeType":"ArrayTypeName","src":"15424:6:19","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"}],"src":"15423:21:19"},"scope":15724,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":12958,"nodeType":"FunctionDefinition","src":"15673:164:19","nodes":[],"documentation":{"id":12945,"nodeType":"StructuredDocumentation","src":"15451:217:19","text":"Gets the environment variable `name` and parses it as an array of `uint256`, delimited by `delim`.\n Reverts if the variable could not be parsed.\n Returns `defaultValue` if the variable was not found."},"functionSelector":"74318528","implemented":false,"kind":"function","modifiers":[],"name":"envOr","nameLocation":"15682:5:19","parameters":{"id":12953,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12947,"mutability":"mutable","name":"name","nameLocation":"15704:4:19","nodeType":"VariableDeclaration","scope":12958,"src":"15688:20:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12946,"name":"string","nodeType":"ElementaryTypeName","src":"15688:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12949,"mutability":"mutable","name":"delim","nameLocation":"15726:5:19","nodeType":"VariableDeclaration","scope":12958,"src":"15710:21:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12948,"name":"string","nodeType":"ElementaryTypeName","src":"15710:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12952,"mutability":"mutable","name":"defaultValue","nameLocation":"15752:12:19","nodeType":"VariableDeclaration","scope":12958,"src":"15733:31:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":12950,"name":"uint256","nodeType":"ElementaryTypeName","src":"15733:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":12951,"nodeType":"ArrayTypeName","src":"15733:9:19","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"15687:78:19"},"returnParameters":{"id":12957,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12956,"mutability":"mutable","name":"value","nameLocation":"15830:5:19","nodeType":"VariableDeclaration","scope":12958,"src":"15813:22:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":12954,"name":"uint256","nodeType":"ElementaryTypeName","src":"15813:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":12955,"nodeType":"ArrayTypeName","src":"15813:9:19","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"15812:24:19"},"scope":15724,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":12972,"nodeType":"FunctionDefinition","src":"16064:162:19","nodes":[],"documentation":{"id":12959,"nodeType":"StructuredDocumentation","src":"15843:216:19","text":"Gets the environment variable `name` and parses it as an array of `int256`, delimited by `delim`.\n Reverts if the variable could not be parsed.\n Returns `defaultValue` if the variable was not found."},"functionSelector":"4700d74b","implemented":false,"kind":"function","modifiers":[],"name":"envOr","nameLocation":"16073:5:19","parameters":{"id":12967,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12961,"mutability":"mutable","name":"name","nameLocation":"16095:4:19","nodeType":"VariableDeclaration","scope":12972,"src":"16079:20:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12960,"name":"string","nodeType":"ElementaryTypeName","src":"16079:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12963,"mutability":"mutable","name":"delim","nameLocation":"16117:5:19","nodeType":"VariableDeclaration","scope":12972,"src":"16101:21:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12962,"name":"string","nodeType":"ElementaryTypeName","src":"16101:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12966,"mutability":"mutable","name":"defaultValue","nameLocation":"16142:12:19","nodeType":"VariableDeclaration","scope":12972,"src":"16124:30:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_calldata_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":12964,"name":"int256","nodeType":"ElementaryTypeName","src":"16124:6:19","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":12965,"nodeType":"ArrayTypeName","src":"16124:8:19","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"16078:77:19"},"returnParameters":{"id":12971,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12970,"mutability":"mutable","name":"value","nameLocation":"16219:5:19","nodeType":"VariableDeclaration","scope":12972,"src":"16203:21:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":12968,"name":"int256","nodeType":"ElementaryTypeName","src":"16203:6:19","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":12969,"nodeType":"ArrayTypeName","src":"16203:8:19","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"16202:23:19"},"scope":15724,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":12980,"nodeType":"FunctionDefinition","src":"16374:85:19","nodes":[],"documentation":{"id":12973,"nodeType":"StructuredDocumentation","src":"16232:137:19","text":"Gets the environment variable `name` and parses it as `string`.\n Reverts if the variable was not found or could not be parsed."},"functionSelector":"f877cb19","implemented":false,"kind":"function","modifiers":[],"name":"envString","nameLocation":"16383:9:19","parameters":{"id":12976,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12975,"mutability":"mutable","name":"name","nameLocation":"16409:4:19","nodeType":"VariableDeclaration","scope":12980,"src":"16393:20:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12974,"name":"string","nodeType":"ElementaryTypeName","src":"16393:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"16392:22:19"},"returnParameters":{"id":12979,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12978,"mutability":"mutable","name":"value","nameLocation":"16452:5:19","nodeType":"VariableDeclaration","scope":12980,"src":"16438:19:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12977,"name":"string","nodeType":"ElementaryTypeName","src":"16438:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"16437:21:19"},"scope":15724,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":12991,"nodeType":"FunctionDefinition","src":"16641:110:19","nodes":[],"documentation":{"id":12981,"nodeType":"StructuredDocumentation","src":"16465:171:19","text":"Gets the environment variable `name` and parses it as an array of `string`, delimited by `delim`.\n Reverts if the variable was not found or could not be parsed."},"functionSelector":"14b02bc9","implemented":false,"kind":"function","modifiers":[],"name":"envString","nameLocation":"16650:9:19","parameters":{"id":12986,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12983,"mutability":"mutable","name":"name","nameLocation":"16676:4:19","nodeType":"VariableDeclaration","scope":12991,"src":"16660:20:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12982,"name":"string","nodeType":"ElementaryTypeName","src":"16660:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12985,"mutability":"mutable","name":"delim","nameLocation":"16698:5:19","nodeType":"VariableDeclaration","scope":12991,"src":"16682:21:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12984,"name":"string","nodeType":"ElementaryTypeName","src":"16682:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"16659:45:19"},"returnParameters":{"id":12990,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12989,"mutability":"mutable","name":"value","nameLocation":"16744:5:19","nodeType":"VariableDeclaration","scope":12991,"src":"16728:21:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":12987,"name":"string","nodeType":"ElementaryTypeName","src":"16728:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":12988,"nodeType":"ArrayTypeName","src":"16728:8:19","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"16727:23:19"},"scope":15724,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":12999,"nodeType":"FunctionDefinition","src":"16900:77:19","nodes":[],"documentation":{"id":12992,"nodeType":"StructuredDocumentation","src":"16757:138:19","text":"Gets the environment variable `name` and parses it as `uint256`.\n Reverts if the variable was not found or could not be parsed."},"functionSelector":"c1978d1f","implemented":false,"kind":"function","modifiers":[],"name":"envUint","nameLocation":"16909:7:19","parameters":{"id":12995,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12994,"mutability":"mutable","name":"name","nameLocation":"16933:4:19","nodeType":"VariableDeclaration","scope":12999,"src":"16917:20:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12993,"name":"string","nodeType":"ElementaryTypeName","src":"16917:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"16916:22:19"},"returnParameters":{"id":12998,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12997,"mutability":"mutable","name":"value","nameLocation":"16970:5:19","nodeType":"VariableDeclaration","scope":12999,"src":"16962:13:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12996,"name":"uint256","nodeType":"ElementaryTypeName","src":"16962:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16961:15:19"},"scope":15724,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":13010,"nodeType":"FunctionDefinition","src":"17160:109:19","nodes":[],"documentation":{"id":13000,"nodeType":"StructuredDocumentation","src":"16983:172:19","text":"Gets the environment variable `name` and parses it as an array of `uint256`, delimited by `delim`.\n Reverts if the variable was not found or could not be parsed."},"functionSelector":"f3dec099","implemented":false,"kind":"function","modifiers":[],"name":"envUint","nameLocation":"17169:7:19","parameters":{"id":13005,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13002,"mutability":"mutable","name":"name","nameLocation":"17193:4:19","nodeType":"VariableDeclaration","scope":13010,"src":"17177:20:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13001,"name":"string","nodeType":"ElementaryTypeName","src":"17177:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13004,"mutability":"mutable","name":"delim","nameLocation":"17215:5:19","nodeType":"VariableDeclaration","scope":13010,"src":"17199:21:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13003,"name":"string","nodeType":"ElementaryTypeName","src":"17199:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"17176:45:19"},"returnParameters":{"id":13009,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13008,"mutability":"mutable","name":"value","nameLocation":"17262:5:19","nodeType":"VariableDeclaration","scope":13010,"src":"17245:22:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":13006,"name":"uint256","nodeType":"ElementaryTypeName","src":"17245:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":13007,"nodeType":"ArrayTypeName","src":"17245:9:19","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"17244:24:19"},"scope":15724,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":13019,"nodeType":"FunctionDefinition","src":"17346:77:19","nodes":[],"documentation":{"id":13011,"nodeType":"StructuredDocumentation","src":"17275:66:19","text":"Returns true if `forge` command was executed in given context."},"functionSelector":"64af255d","implemented":false,"kind":"function","modifiers":[],"name":"isContext","nameLocation":"17355:9:19","parameters":{"id":13015,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13014,"mutability":"mutable","name":"context","nameLocation":"17378:7:19","nodeType":"VariableDeclaration","scope":13019,"src":"17365:20:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ForgeContext_$12566","typeString":"enum VmSafe.ForgeContext"},"typeName":{"id":13013,"nodeType":"UserDefinedTypeName","pathNode":{"id":13012,"name":"ForgeContext","nodeType":"IdentifierPath","referencedDeclaration":12566,"src":"17365:12:19"},"referencedDeclaration":12566,"src":"17365:12:19","typeDescriptions":{"typeIdentifier":"t_enum$_ForgeContext_$12566","typeString":"enum VmSafe.ForgeContext"}},"visibility":"internal"}],"src":"17364:22:19"},"returnParameters":{"id":13018,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13017,"mutability":"mutable","name":"result","nameLocation":"17415:6:19","nodeType":"VariableDeclaration","scope":13019,"src":"17410:11:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13016,"name":"bool","nodeType":"ElementaryTypeName","src":"17410:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"17409:13:19"},"scope":15724,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":13027,"nodeType":"FunctionDefinition","src":"17465:70:19","nodes":[],"documentation":{"id":13020,"nodeType":"StructuredDocumentation","src":"17429:31:19","text":"Sets environment variables."},"functionSelector":"3d5923ee","implemented":false,"kind":"function","modifiers":[],"name":"setEnv","nameLocation":"17474:6:19","parameters":{"id":13025,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13022,"mutability":"mutable","name":"name","nameLocation":"17497:4:19","nodeType":"VariableDeclaration","scope":13027,"src":"17481:20:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13021,"name":"string","nodeType":"ElementaryTypeName","src":"17481:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13024,"mutability":"mutable","name":"value","nameLocation":"17519:5:19","nodeType":"VariableDeclaration","scope":13027,"src":"17503:21:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13023,"name":"string","nodeType":"ElementaryTypeName","src":"17503:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"17480:45:19"},"returnParameters":{"id":13026,"nodeType":"ParameterList","parameters":[],"src":"17534:0:19"},"scope":15724,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13039,"nodeType":"FunctionDefinition","src":"17667:109:19","nodes":[],"documentation":{"id":13028,"nodeType":"StructuredDocumentation","src":"17571:91:19","text":"Gets all accessed reads and write slot from a `vm.record` session, for a given address."},"functionSelector":"65bc9481","implemented":false,"kind":"function","modifiers":[],"name":"accesses","nameLocation":"17676:8:19","parameters":{"id":13031,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13030,"mutability":"mutable","name":"target","nameLocation":"17693:6:19","nodeType":"VariableDeclaration","scope":13039,"src":"17685:14:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13029,"name":"address","nodeType":"ElementaryTypeName","src":"17685:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"17684:16:19"},"returnParameters":{"id":13038,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13034,"mutability":"mutable","name":"readSlots","nameLocation":"17736:9:19","nodeType":"VariableDeclaration","scope":13039,"src":"17719:26:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":13032,"name":"bytes32","nodeType":"ElementaryTypeName","src":"17719:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":13033,"nodeType":"ArrayTypeName","src":"17719:9:19","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":13037,"mutability":"mutable","name":"writeSlots","nameLocation":"17764:10:19","nodeType":"VariableDeclaration","scope":13039,"src":"17747:27:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":13035,"name":"bytes32","nodeType":"ElementaryTypeName","src":"17747:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":13036,"nodeType":"ArrayTypeName","src":"17747:9:19","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"17718:57:19"},"scope":15724,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13047,"nodeType":"FunctionDefinition","src":"17832:74:19","nodes":[],"documentation":{"id":13040,"nodeType":"StructuredDocumentation","src":"17782:45:19","text":"Gets the address for a given private key."},"functionSelector":"ffa18649","implemented":false,"kind":"function","modifiers":[],"name":"addr","nameLocation":"17841:4:19","parameters":{"id":13043,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13042,"mutability":"mutable","name":"privateKey","nameLocation":"17854:10:19","nodeType":"VariableDeclaration","scope":13047,"src":"17846:18:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13041,"name":"uint256","nodeType":"ElementaryTypeName","src":"17846:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17845:20:19"},"returnParameters":{"id":13046,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13045,"mutability":"mutable","name":"keyAddr","nameLocation":"17897:7:19","nodeType":"VariableDeclaration","scope":13047,"src":"17889:15:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13044,"name":"address","nodeType":"ElementaryTypeName","src":"17889:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"17888:17:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13064,"nodeType":"FunctionDefinition","src":"17969:160:19","nodes":[],"documentation":{"id":13048,"nodeType":"StructuredDocumentation","src":"17912:52:19","text":"Gets all the logs according to specified filter."},"functionSelector":"35e1349b","implemented":false,"kind":"function","modifiers":[],"name":"eth_getLogs","nameLocation":"17978:11:19","parameters":{"id":13058,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13050,"mutability":"mutable","name":"fromBlock","nameLocation":"17998:9:19","nodeType":"VariableDeclaration","scope":13064,"src":"17990:17:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13049,"name":"uint256","nodeType":"ElementaryTypeName","src":"17990:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13052,"mutability":"mutable","name":"toBlock","nameLocation":"18017:7:19","nodeType":"VariableDeclaration","scope":13064,"src":"18009:15:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13051,"name":"uint256","nodeType":"ElementaryTypeName","src":"18009:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13054,"mutability":"mutable","name":"target","nameLocation":"18034:6:19","nodeType":"VariableDeclaration","scope":13064,"src":"18026:14:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13053,"name":"address","nodeType":"ElementaryTypeName","src":"18026:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13057,"mutability":"mutable","name":"topics","nameLocation":"18061:6:19","nodeType":"VariableDeclaration","scope":13064,"src":"18042:25:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_calldata_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":13055,"name":"bytes32","nodeType":"ElementaryTypeName","src":"18042:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":13056,"nodeType":"ArrayTypeName","src":"18042:9:19","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"17989:79:19"},"returnParameters":{"id":13063,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13062,"mutability":"mutable","name":"logs","nameLocation":"18123:4:19","nodeType":"VariableDeclaration","scope":13064,"src":"18103:24:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_EthGetLogs_$12599_memory_ptr_$dyn_memory_ptr","typeString":"struct VmSafe.EthGetLogs[]"},"typeName":{"baseType":{"id":13060,"nodeType":"UserDefinedTypeName","pathNode":{"id":13059,"name":"EthGetLogs","nodeType":"IdentifierPath","referencedDeclaration":12599,"src":"18103:10:19"},"referencedDeclaration":12599,"src":"18103:10:19","typeDescriptions":{"typeIdentifier":"t_struct$_EthGetLogs_$12599_storage_ptr","typeString":"struct VmSafe.EthGetLogs"}},"id":13061,"nodeType":"ArrayTypeName","src":"18103:12:19","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_EthGetLogs_$12599_storage_$dyn_storage_ptr","typeString":"struct VmSafe.EthGetLogs[]"}},"visibility":"internal"}],"src":"18102:26:19"},"scope":15724,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13070,"nodeType":"FunctionDefinition","src":"18466:70:19","nodes":[],"documentation":{"id":13065,"nodeType":"StructuredDocumentation","src":"18135:326:19","text":"Gets the current `block.blobbasefee`.\n You should use this instead of `block.blobbasefee` if you use `vm.blobBaseFee`, as `block.blobbasefee` is assumed to be constant across a transaction,\n and as a result will get optimized out by the compiler.\n See https://github.com/foundry-rs/foundry/issues/6180"},"functionSelector":"1f6d6ef7","implemented":false,"kind":"function","modifiers":[],"name":"getBlobBaseFee","nameLocation":"18475:14:19","parameters":{"id":13066,"nodeType":"ParameterList","parameters":[],"src":"18489:2:19"},"returnParameters":{"id":13069,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13068,"mutability":"mutable","name":"blobBaseFee","nameLocation":"18523:11:19","nodeType":"VariableDeclaration","scope":13070,"src":"18515:19:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13067,"name":"uint256","nodeType":"ElementaryTypeName","src":"18515:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18514:21:19"},"scope":15724,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":13076,"nodeType":"FunctionDefinition","src":"18851:65:19","nodes":[],"documentation":{"id":13071,"nodeType":"StructuredDocumentation","src":"18542:304:19","text":"Gets the current `block.number`.\n You should use this instead of `block.number` if you use `vm.roll`, as `block.number` is assumed to be constant across a transaction,\n and as a result will get optimized out by the compiler.\n See https://github.com/foundry-rs/foundry/issues/6180"},"functionSelector":"42cbb15c","implemented":false,"kind":"function","modifiers":[],"name":"getBlockNumber","nameLocation":"18860:14:19","parameters":{"id":13072,"nodeType":"ParameterList","parameters":[],"src":"18874:2:19"},"returnParameters":{"id":13075,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13074,"mutability":"mutable","name":"height","nameLocation":"18908:6:19","nodeType":"VariableDeclaration","scope":13076,"src":"18900:14:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13073,"name":"uint256","nodeType":"ElementaryTypeName","src":"18900:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18899:16:19"},"scope":15724,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":13082,"nodeType":"FunctionDefinition","src":"19240:71:19","nodes":[],"documentation":{"id":13077,"nodeType":"StructuredDocumentation","src":"18922:313:19","text":"Gets the current `block.timestamp`.\n You should use this instead of `block.timestamp` if you use `vm.warp`, as `block.timestamp` is assumed to be constant across a transaction,\n and as a result will get optimized out by the compiler.\n See https://github.com/foundry-rs/foundry/issues/6180"},"functionSelector":"796b89b9","implemented":false,"kind":"function","modifiers":[],"name":"getBlockTimestamp","nameLocation":"19249:17:19","parameters":{"id":13078,"nodeType":"ParameterList","parameters":[],"src":"19266:2:19"},"returnParameters":{"id":13081,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13080,"mutability":"mutable","name":"timestamp","nameLocation":"19300:9:19","nodeType":"VariableDeclaration","scope":13082,"src":"19292:17:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13079,"name":"uint256","nodeType":"ElementaryTypeName","src":"19292:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19291:19:19"},"scope":15724,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":13096,"nodeType":"FunctionDefinition","src":"19404:146:19","nodes":[],"documentation":{"id":13083,"nodeType":"StructuredDocumentation","src":"19317:82:19","text":"Gets the map key and parent of a mapping at a given slot, for a given address."},"functionSelector":"876e24e6","implemented":false,"kind":"function","modifiers":[],"name":"getMappingKeyAndParentOf","nameLocation":"19413:24:19","parameters":{"id":13088,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13085,"mutability":"mutable","name":"target","nameLocation":"19446:6:19","nodeType":"VariableDeclaration","scope":13096,"src":"19438:14:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13084,"name":"address","nodeType":"ElementaryTypeName","src":"19438:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13087,"mutability":"mutable","name":"elementSlot","nameLocation":"19462:11:19","nodeType":"VariableDeclaration","scope":13096,"src":"19454:19:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13086,"name":"bytes32","nodeType":"ElementaryTypeName","src":"19454:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"19437:37:19"},"returnParameters":{"id":13095,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13090,"mutability":"mutable","name":"found","nameLocation":"19514:5:19","nodeType":"VariableDeclaration","scope":13096,"src":"19509:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13089,"name":"bool","nodeType":"ElementaryTypeName","src":"19509:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13092,"mutability":"mutable","name":"key","nameLocation":"19529:3:19","nodeType":"VariableDeclaration","scope":13096,"src":"19521:11:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13091,"name":"bytes32","nodeType":"ElementaryTypeName","src":"19521:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":13094,"mutability":"mutable","name":"parent","nameLocation":"19542:6:19","nodeType":"VariableDeclaration","scope":13096,"src":"19534:14:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13093,"name":"bytes32","nodeType":"ElementaryTypeName","src":"19534:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"19508:41:19"},"scope":15724,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13106,"nodeType":"FunctionDefinition","src":"19647:97:19","nodes":[],"documentation":{"id":13097,"nodeType":"StructuredDocumentation","src":"19556:86:19","text":"Gets the number of elements in the mapping at the given slot, for a given address."},"functionSelector":"2f2fd63f","implemented":false,"kind":"function","modifiers":[],"name":"getMappingLength","nameLocation":"19656:16:19","parameters":{"id":13102,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13099,"mutability":"mutable","name":"target","nameLocation":"19681:6:19","nodeType":"VariableDeclaration","scope":13106,"src":"19673:14:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13098,"name":"address","nodeType":"ElementaryTypeName","src":"19673:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13101,"mutability":"mutable","name":"mappingSlot","nameLocation":"19697:11:19","nodeType":"VariableDeclaration","scope":13106,"src":"19689:19:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13100,"name":"bytes32","nodeType":"ElementaryTypeName","src":"19689:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"19672:37:19"},"returnParameters":{"id":13105,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13104,"mutability":"mutable","name":"length","nameLocation":"19736:6:19","nodeType":"VariableDeclaration","scope":13106,"src":"19728:14:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13103,"name":"uint256","nodeType":"ElementaryTypeName","src":"19728:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19727:16:19"},"scope":15724,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13118,"nodeType":"FunctionDefinition","src":"19948:109:19","nodes":[],"documentation":{"id":13107,"nodeType":"StructuredDocumentation","src":"19750:193:19","text":"Gets the elements at index idx of the mapping at the given slot, for a given address. The\n index must be less than the length of the mapping (i.e. the number of keys in the mapping)."},"functionSelector":"ebc73ab4","implemented":false,"kind":"function","modifiers":[],"name":"getMappingSlotAt","nameLocation":"19957:16:19","parameters":{"id":13114,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13109,"mutability":"mutable","name":"target","nameLocation":"19982:6:19","nodeType":"VariableDeclaration","scope":13118,"src":"19974:14:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13108,"name":"address","nodeType":"ElementaryTypeName","src":"19974:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13111,"mutability":"mutable","name":"mappingSlot","nameLocation":"19998:11:19","nodeType":"VariableDeclaration","scope":13118,"src":"19990:19:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13110,"name":"bytes32","nodeType":"ElementaryTypeName","src":"19990:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":13113,"mutability":"mutable","name":"idx","nameLocation":"20019:3:19","nodeType":"VariableDeclaration","scope":13118,"src":"20011:11:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13112,"name":"uint256","nodeType":"ElementaryTypeName","src":"20011:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19973:50:19"},"returnParameters":{"id":13117,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13116,"mutability":"mutable","name":"value","nameLocation":"20050:5:19","nodeType":"VariableDeclaration","scope":13118,"src":"20042:13:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13115,"name":"bytes32","nodeType":"ElementaryTypeName","src":"20042:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"20041:15:19"},"scope":15724,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13126,"nodeType":"FunctionDefinition","src":"20101:72:19","nodes":[],"documentation":{"id":13119,"nodeType":"StructuredDocumentation","src":"20063:33:19","text":"Gets the nonce of an account."},"functionSelector":"2d0335ab","implemented":false,"kind":"function","modifiers":[],"name":"getNonce","nameLocation":"20110:8:19","parameters":{"id":13122,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13121,"mutability":"mutable","name":"account","nameLocation":"20127:7:19","nodeType":"VariableDeclaration","scope":13126,"src":"20119:15:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13120,"name":"address","nodeType":"ElementaryTypeName","src":"20119:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"20118:17:19"},"returnParameters":{"id":13125,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13124,"mutability":"mutable","name":"nonce","nameLocation":"20166:5:19","nodeType":"VariableDeclaration","scope":13126,"src":"20159:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":13123,"name":"uint64","nodeType":"ElementaryTypeName","src":"20159:6:19","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"20158:14:19"},"scope":15724,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":13134,"nodeType":"FunctionDefinition","src":"20215:64:19","nodes":[],"documentation":{"id":13127,"nodeType":"StructuredDocumentation","src":"20179:31:19","text":"Gets all the recorded logs."},"functionSelector":"191553a4","implemented":false,"kind":"function","modifiers":[],"name":"getRecordedLogs","nameLocation":"20224:15:19","parameters":{"id":13128,"nodeType":"ParameterList","parameters":[],"src":"20239:2:19"},"returnParameters":{"id":13133,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13132,"mutability":"mutable","name":"logs","nameLocation":"20273:4:19","nodeType":"VariableDeclaration","scope":13134,"src":"20260:17:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Log_$12574_memory_ptr_$dyn_memory_ptr","typeString":"struct VmSafe.Log[]"},"typeName":{"baseType":{"id":13130,"nodeType":"UserDefinedTypeName","pathNode":{"id":13129,"name":"Log","nodeType":"IdentifierPath","referencedDeclaration":12574,"src":"20260:3:19"},"referencedDeclaration":12574,"src":"20260:3:19","typeDescriptions":{"typeIdentifier":"t_struct$_Log_$12574_storage_ptr","typeString":"struct VmSafe.Log"}},"id":13131,"nodeType":"ArrayTypeName","src":"20260:5:19","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Log_$12574_storage_$dyn_storage_ptr","typeString":"struct VmSafe.Log[]"}},"visibility":"internal"}],"src":"20259:19:19"},"scope":15724,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13141,"nodeType":"FunctionDefinition","src":"20329:62:19","nodes":[],"documentation":{"id":13135,"nodeType":"StructuredDocumentation","src":"20285:39:19","text":"Gets the gas used in the last call."},"functionSelector":"2b589b28","implemented":false,"kind":"function","modifiers":[],"name":"lastCallGas","nameLocation":"20338:11:19","parameters":{"id":13136,"nodeType":"ParameterList","parameters":[],"src":"20349:2:19"},"returnParameters":{"id":13140,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13139,"mutability":"mutable","name":"gas","nameLocation":"20386:3:19","nodeType":"VariableDeclaration","scope":13141,"src":"20375:14:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Gas_$12701_memory_ptr","typeString":"struct VmSafe.Gas"},"typeName":{"id":13138,"nodeType":"UserDefinedTypeName","pathNode":{"id":13137,"name":"Gas","nodeType":"IdentifierPath","referencedDeclaration":12701,"src":"20375:3:19"},"referencedDeclaration":12701,"src":"20375:3:19","typeDescriptions":{"typeIdentifier":"t_struct$_Gas_$12701_storage_ptr","typeString":"struct VmSafe.Gas"}},"visibility":"internal"}],"src":"20374:16:19"},"scope":15724,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":13151,"nodeType":"FunctionDefinition","src":"20443:81:19","nodes":[],"documentation":{"id":13142,"nodeType":"StructuredDocumentation","src":"20397:41:19","text":"Loads a storage slot from an address."},"functionSelector":"667f9d70","implemented":false,"kind":"function","modifiers":[],"name":"load","nameLocation":"20452:4:19","parameters":{"id":13147,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13144,"mutability":"mutable","name":"target","nameLocation":"20465:6:19","nodeType":"VariableDeclaration","scope":13151,"src":"20457:14:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13143,"name":"address","nodeType":"ElementaryTypeName","src":"20457:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13146,"mutability":"mutable","name":"slot","nameLocation":"20481:4:19","nodeType":"VariableDeclaration","scope":13151,"src":"20473:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13145,"name":"bytes32","nodeType":"ElementaryTypeName","src":"20473:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"20456:30:19"},"returnParameters":{"id":13150,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13149,"mutability":"mutable","name":"data","nameLocation":"20518:4:19","nodeType":"VariableDeclaration","scope":13151,"src":"20510:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13148,"name":"bytes32","nodeType":"ElementaryTypeName","src":"20510:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"20509:14:19"},"scope":15724,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":13155,"nodeType":"FunctionDefinition","src":"20615:37:19","nodes":[],"documentation":{"id":13152,"nodeType":"StructuredDocumentation","src":"20530:80:19","text":"Pauses gas metering (i.e. gas usage is not counted). Noop if already paused."},"functionSelector":"d1a5b36f","implemented":false,"kind":"function","modifiers":[],"name":"pauseGasMetering","nameLocation":"20624:16:19","parameters":{"id":13153,"nodeType":"ParameterList","parameters":[],"src":"20640:2:19"},"returnParameters":{"id":13154,"nodeType":"ParameterList","parameters":[],"src":"20651:0:19"},"scope":15724,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13159,"nodeType":"FunctionDefinition","src":"20704:27:19","nodes":[],"documentation":{"id":13156,"nodeType":"StructuredDocumentation","src":"20658:41:19","text":"Records all storage reads and writes."},"functionSelector":"266cf109","implemented":false,"kind":"function","modifiers":[],"name":"record","nameLocation":"20713:6:19","parameters":{"id":13157,"nodeType":"ParameterList","parameters":[],"src":"20719:2:19"},"returnParameters":{"id":13158,"nodeType":"ParameterList","parameters":[],"src":"20730:0:19"},"scope":15724,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13163,"nodeType":"FunctionDefinition","src":"20778:31:19","nodes":[],"documentation":{"id":13160,"nodeType":"StructuredDocumentation","src":"20737:36:19","text":"Record all the transaction logs."},"functionSelector":"41af2f52","implemented":false,"kind":"function","modifiers":[],"name":"recordLogs","nameLocation":"20787:10:19","parameters":{"id":13161,"nodeType":"ParameterList","parameters":[],"src":"20797:2:19"},"returnParameters":{"id":13162,"nodeType":"ParameterList","parameters":[],"src":"20808:0:19"},"scope":15724,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13167,"nodeType":"FunctionDefinition","src":"20899:38:19","nodes":[],"documentation":{"id":13164,"nodeType":"StructuredDocumentation","src":"20815:79:19","text":"Resumes gas metering (i.e. gas usage is counted again). Noop if already on."},"functionSelector":"2bcd50e0","implemented":false,"kind":"function","modifiers":[],"name":"resumeGasMetering","nameLocation":"20908:17:19","parameters":{"id":13165,"nodeType":"ParameterList","parameters":[],"src":"20925:2:19"},"returnParameters":{"id":13166,"nodeType":"ParameterList","parameters":[],"src":"20936:0:19"},"scope":15724,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13177,"nodeType":"FunctionDefinition","src":"21014:98:19","nodes":[],"documentation":{"id":13168,"nodeType":"StructuredDocumentation","src":"20943:66:19","text":"Performs an Ethereum JSON-RPC request to the current fork URL."},"functionSelector":"1206c8a8","implemented":false,"kind":"function","modifiers":[],"name":"rpc","nameLocation":"21023:3:19","parameters":{"id":13173,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13170,"mutability":"mutable","name":"method","nameLocation":"21043:6:19","nodeType":"VariableDeclaration","scope":13177,"src":"21027:22:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13169,"name":"string","nodeType":"ElementaryTypeName","src":"21027:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13172,"mutability":"mutable","name":"params","nameLocation":"21067:6:19","nodeType":"VariableDeclaration","scope":13177,"src":"21051:22:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13171,"name":"string","nodeType":"ElementaryTypeName","src":"21051:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"21026:48:19"},"returnParameters":{"id":13176,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13175,"mutability":"mutable","name":"data","nameLocation":"21106:4:19","nodeType":"VariableDeclaration","scope":13177,"src":"21093:17:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":13174,"name":"bytes","nodeType":"ElementaryTypeName","src":"21093:5:19","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"21092:19:19"},"scope":15724,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13189,"nodeType":"FunctionDefinition","src":"21186:99:19","nodes":[],"documentation":{"id":13178,"nodeType":"StructuredDocumentation","src":"21118:63:19","text":"Signs `digest` with `privateKey` using the secp256r1 curve."},"functionSelector":"83211b40","implemented":false,"kind":"function","modifiers":[],"name":"signP256","nameLocation":"21195:8:19","parameters":{"id":13183,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13180,"mutability":"mutable","name":"privateKey","nameLocation":"21212:10:19","nodeType":"VariableDeclaration","scope":13189,"src":"21204:18:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13179,"name":"uint256","nodeType":"ElementaryTypeName","src":"21204:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13182,"mutability":"mutable","name":"digest","nameLocation":"21232:6:19","nodeType":"VariableDeclaration","scope":13189,"src":"21224:14:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13181,"name":"bytes32","nodeType":"ElementaryTypeName","src":"21224:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"21203:36:19"},"returnParameters":{"id":13188,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13185,"mutability":"mutable","name":"r","nameLocation":"21271:1:19","nodeType":"VariableDeclaration","scope":13189,"src":"21263:9:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13184,"name":"bytes32","nodeType":"ElementaryTypeName","src":"21263:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":13187,"mutability":"mutable","name":"s","nameLocation":"21282:1:19","nodeType":"VariableDeclaration","scope":13189,"src":"21274:9:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13186,"name":"bytes32","nodeType":"ElementaryTypeName","src":"21274:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"21262:22:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13203,"nodeType":"FunctionDefinition","src":"21359:104:19","nodes":[],"documentation":{"id":13190,"nodeType":"StructuredDocumentation","src":"21291:63:19","text":"Signs `digest` with `privateKey` using the secp256k1 curve."},"functionSelector":"e341eaa4","implemented":false,"kind":"function","modifiers":[],"name":"sign","nameLocation":"21368:4:19","parameters":{"id":13195,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13192,"mutability":"mutable","name":"privateKey","nameLocation":"21381:10:19","nodeType":"VariableDeclaration","scope":13203,"src":"21373:18:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13191,"name":"uint256","nodeType":"ElementaryTypeName","src":"21373:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13194,"mutability":"mutable","name":"digest","nameLocation":"21401:6:19","nodeType":"VariableDeclaration","scope":13203,"src":"21393:14:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13193,"name":"bytes32","nodeType":"ElementaryTypeName","src":"21393:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"21372:36:19"},"returnParameters":{"id":13202,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13197,"mutability":"mutable","name":"v","nameLocation":"21438:1:19","nodeType":"VariableDeclaration","scope":13203,"src":"21432:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":13196,"name":"uint8","nodeType":"ElementaryTypeName","src":"21432:5:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":13199,"mutability":"mutable","name":"r","nameLocation":"21449:1:19","nodeType":"VariableDeclaration","scope":13203,"src":"21441:9:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13198,"name":"bytes32","nodeType":"ElementaryTypeName","src":"21441:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":13201,"mutability":"mutable","name":"s","nameLocation":"21460:1:19","nodeType":"VariableDeclaration","scope":13203,"src":"21452:9:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13200,"name":"bytes32","nodeType":"ElementaryTypeName","src":"21452:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"21431:31:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13215,"nodeType":"FunctionDefinition","src":"21902:84:19","nodes":[],"documentation":{"id":13204,"nodeType":"StructuredDocumentation","src":"21469:428:19","text":"Signs `digest` with signer provided to script using the secp256k1 curve.\n If `--sender` is provided, the signer with provided address is used, otherwise,\n if exactly one signer is provided to the script, that signer is used.\n Raises error if signer passed through `--sender` does not match any unlocked signers or\n if `--sender` is not provided and not exactly one signer is passed to the script."},"functionSelector":"799cd333","implemented":false,"kind":"function","modifiers":[],"name":"sign","nameLocation":"21911:4:19","parameters":{"id":13207,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13206,"mutability":"mutable","name":"digest","nameLocation":"21924:6:19","nodeType":"VariableDeclaration","scope":13215,"src":"21916:14:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13205,"name":"bytes32","nodeType":"ElementaryTypeName","src":"21916:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"21915:16:19"},"returnParameters":{"id":13214,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13209,"mutability":"mutable","name":"v","nameLocation":"21961:1:19","nodeType":"VariableDeclaration","scope":13215,"src":"21955:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":13208,"name":"uint8","nodeType":"ElementaryTypeName","src":"21955:5:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":13211,"mutability":"mutable","name":"r","nameLocation":"21972:1:19","nodeType":"VariableDeclaration","scope":13215,"src":"21964:9:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13210,"name":"bytes32","nodeType":"ElementaryTypeName","src":"21964:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":13213,"mutability":"mutable","name":"s","nameLocation":"21983:1:19","nodeType":"VariableDeclaration","scope":13215,"src":"21975:9:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13212,"name":"bytes32","nodeType":"ElementaryTypeName","src":"21975:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"21954:31:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13229,"nodeType":"FunctionDefinition","src":"22163:100:19","nodes":[],"documentation":{"id":13216,"nodeType":"StructuredDocumentation","src":"21992:166:19","text":"Signs `digest` with signer provided to script using the secp256k1 curve.\n Raises error if none of the signers passed into the script have provided address."},"functionSelector":"8c1aa205","implemented":false,"kind":"function","modifiers":[],"name":"sign","nameLocation":"22172:4:19","parameters":{"id":13221,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13218,"mutability":"mutable","name":"signer","nameLocation":"22185:6:19","nodeType":"VariableDeclaration","scope":13229,"src":"22177:14:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13217,"name":"address","nodeType":"ElementaryTypeName","src":"22177:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":13220,"mutability":"mutable","name":"digest","nameLocation":"22201:6:19","nodeType":"VariableDeclaration","scope":13229,"src":"22193:14:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13219,"name":"bytes32","nodeType":"ElementaryTypeName","src":"22193:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"22176:32:19"},"returnParameters":{"id":13228,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13223,"mutability":"mutable","name":"v","nameLocation":"22238:1:19","nodeType":"VariableDeclaration","scope":13229,"src":"22232:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":13222,"name":"uint8","nodeType":"ElementaryTypeName","src":"22232:5:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":13225,"mutability":"mutable","name":"r","nameLocation":"22249:1:19","nodeType":"VariableDeclaration","scope":13229,"src":"22241:9:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13224,"name":"bytes32","nodeType":"ElementaryTypeName","src":"22241:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":13227,"mutability":"mutable","name":"s","nameLocation":"22260:1:19","nodeType":"VariableDeclaration","scope":13229,"src":"22252:9:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13226,"name":"bytes32","nodeType":"ElementaryTypeName","src":"22252:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"22231:31:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13233,"nodeType":"FunctionDefinition","src":"22331:42:19","nodes":[],"documentation":{"id":13230,"nodeType":"StructuredDocumentation","src":"22269:57:19","text":"Starts recording all map SSTOREs for later retrieval."},"functionSelector":"3e9705c0","implemented":false,"kind":"function","modifiers":[],"name":"startMappingRecording","nameLocation":"22340:21:19","parameters":{"id":13231,"nodeType":"ParameterList","parameters":[],"src":"22361:2:19"},"returnParameters":{"id":13232,"nodeType":"ParameterList","parameters":[],"src":"22372:0:19"},"scope":15724,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13237,"nodeType":"FunctionDefinition","src":"22517:44:19","nodes":[],"documentation":{"id":13234,"nodeType":"StructuredDocumentation","src":"22379:133:19","text":"Record all account accesses as part of CREATE, CALL or SELFDESTRUCT opcodes in order,\n along with the context of the calls"},"functionSelector":"cf22e3c9","implemented":false,"kind":"function","modifiers":[],"name":"startStateDiffRecording","nameLocation":"22526:23:19","parameters":{"id":13235,"nodeType":"ParameterList","parameters":[],"src":"22549:2:19"},"returnParameters":{"id":13236,"nodeType":"ParameterList","parameters":[],"src":"22560:0:19"},"scope":15724,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13245,"nodeType":"FunctionDefinition","src":"22669:92:19","nodes":[],"documentation":{"id":13238,"nodeType":"StructuredDocumentation","src":"22567:97:19","text":"Returns an ordered array of all account accesses from a `vm.startStateDiffRecording` session."},"functionSelector":"aa5cf90e","implemented":false,"kind":"function","modifiers":[],"name":"stopAndReturnStateDiff","nameLocation":"22678:22:19","parameters":{"id":13239,"nodeType":"ParameterList","parameters":[],"src":"22700:2:19"},"returnParameters":{"id":13244,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13243,"mutability":"mutable","name":"accountAccesses","nameLocation":"22744:15:19","nodeType":"VariableDeclaration","scope":13245,"src":"22721:38:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AccountAccess_$12677_memory_ptr_$dyn_memory_ptr","typeString":"struct VmSafe.AccountAccess[]"},"typeName":{"baseType":{"id":13241,"nodeType":"UserDefinedTypeName","pathNode":{"id":13240,"name":"AccountAccess","nodeType":"IdentifierPath","referencedDeclaration":12677,"src":"22721:13:19"},"referencedDeclaration":12677,"src":"22721:13:19","typeDescriptions":{"typeIdentifier":"t_struct$_AccountAccess_$12677_storage_ptr","typeString":"struct VmSafe.AccountAccess"}},"id":13242,"nodeType":"ArrayTypeName","src":"22721:15:19","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AccountAccess_$12677_storage_$dyn_storage_ptr","typeString":"struct VmSafe.AccountAccess[]"}},"visibility":"internal"}],"src":"22720:40:19"},"scope":15724,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13249,"nodeType":"FunctionDefinition","src":"22857:41:19","nodes":[],"documentation":{"id":13246,"nodeType":"StructuredDocumentation","src":"22767:85:19","text":"Stops recording all map SSTOREs for later retrieval and clears the recorded data."},"functionSelector":"0d4aae9b","implemented":false,"kind":"function","modifiers":[],"name":"stopMappingRecording","nameLocation":"22866:20:19","parameters":{"id":13247,"nodeType":"ParameterList","parameters":[],"src":"22886:2:19"},"returnParameters":{"id":13248,"nodeType":"ParameterList","parameters":[],"src":"22897:0:19"},"scope":15724,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13255,"nodeType":"FunctionDefinition","src":"23097:50:19","nodes":[],"documentation":{"id":13250,"nodeType":"StructuredDocumentation","src":"22941:151:19","text":"Closes file for reading, resetting the offset and allowing to read it from beginning with readLine.\n `path` is relative to the project root."},"functionSelector":"48c3241f","implemented":false,"kind":"function","modifiers":[],"name":"closeFile","nameLocation":"23106:9:19","parameters":{"id":13253,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13252,"mutability":"mutable","name":"path","nameLocation":"23132:4:19","nodeType":"VariableDeclaration","scope":13255,"src":"23116:20:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13251,"name":"string","nodeType":"ElementaryTypeName","src":"23116:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"23115:22:19"},"returnParameters":{"id":13254,"nodeType":"ParameterList","parameters":[],"src":"23146:0:19"},"scope":15724,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13265,"nodeType":"FunctionDefinition","src":"23462:93:19","nodes":[],"documentation":{"id":13256,"nodeType":"StructuredDocumentation","src":"23153:304:19","text":"Copies the contents of one file to another. This function will **overwrite** the contents of `to`.\n On success, the total number of bytes copied is returned and it is equal to the length of the `to` file as reported by `metadata`.\n Both `from` and `to` are relative to the project root."},"functionSelector":"a54a87d8","implemented":false,"kind":"function","modifiers":[],"name":"copyFile","nameLocation":"23471:8:19","parameters":{"id":13261,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13258,"mutability":"mutable","name":"from","nameLocation":"23496:4:19","nodeType":"VariableDeclaration","scope":13265,"src":"23480:20:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13257,"name":"string","nodeType":"ElementaryTypeName","src":"23480:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13260,"mutability":"mutable","name":"to","nameLocation":"23518:2:19","nodeType":"VariableDeclaration","scope":13265,"src":"23502:18:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13259,"name":"string","nodeType":"ElementaryTypeName","src":"23502:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"23479:42:19"},"returnParameters":{"id":13264,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13263,"mutability":"mutable","name":"copied","nameLocation":"23547:6:19","nodeType":"VariableDeclaration","scope":13265,"src":"23540:13:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":13262,"name":"uint64","nodeType":"ElementaryTypeName","src":"23540:6:19","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"23539:15:19"},"scope":15724,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13273,"nodeType":"FunctionDefinition","src":"23960:66:19","nodes":[],"documentation":{"id":13266,"nodeType":"StructuredDocumentation","src":"23561:394:19","text":"Creates a new, empty directory at the provided path.\n This cheatcode will revert in the following situations, but is not limited to just these cases:\n - User lacks permissions to modify `path`.\n - A parent of the given path doesn't exist and `recursive` is false.\n - `path` already exists and `recursive` is false.\n `path` is relative to the project root."},"functionSelector":"168b64d3","implemented":false,"kind":"function","modifiers":[],"name":"createDir","nameLocation":"23969:9:19","parameters":{"id":13271,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13268,"mutability":"mutable","name":"path","nameLocation":"23995:4:19","nodeType":"VariableDeclaration","scope":13273,"src":"23979:20:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13267,"name":"string","nodeType":"ElementaryTypeName","src":"23979:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13270,"mutability":"mutable","name":"recursive","nameLocation":"24006:9:19","nodeType":"VariableDeclaration","scope":13273,"src":"24001:14:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13269,"name":"bool","nodeType":"ElementaryTypeName","src":"24001:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"23978:38:19"},"returnParameters":{"id":13272,"nodeType":"ParameterList","parameters":[],"src":"24025:0:19"},"scope":15724,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13281,"nodeType":"FunctionDefinition","src":"24121:69:19","nodes":[],"documentation":{"id":13274,"nodeType":"StructuredDocumentation","src":"24032:84:19","text":"Returns true if the given path points to an existing entity, else returns false."},"functionSelector":"261a323e","implemented":false,"kind":"function","modifiers":[],"name":"exists","nameLocation":"24130:6:19","parameters":{"id":13277,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13276,"mutability":"mutable","name":"path","nameLocation":"24153:4:19","nodeType":"VariableDeclaration","scope":13281,"src":"24137:20:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13275,"name":"string","nodeType":"ElementaryTypeName","src":"24137:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"24136:22:19"},"returnParameters":{"id":13280,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13279,"mutability":"mutable","name":"result","nameLocation":"24182:6:19","nodeType":"VariableDeclaration","scope":13281,"src":"24177:11:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13278,"name":"bool","nodeType":"ElementaryTypeName","src":"24177:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"24176:13:19"},"scope":15724,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13290,"nodeType":"FunctionDefinition","src":"24255:84:19","nodes":[],"documentation":{"id":13282,"nodeType":"StructuredDocumentation","src":"24196:54:19","text":"Performs a foreign function call via the terminal."},"functionSelector":"89160467","implemented":false,"kind":"function","modifiers":[],"name":"ffi","nameLocation":"24264:3:19","parameters":{"id":13286,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13285,"mutability":"mutable","name":"commandInput","nameLocation":"24286:12:19","nodeType":"VariableDeclaration","scope":13290,"src":"24268:30:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_string_calldata_ptr_$dyn_calldata_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":13283,"name":"string","nodeType":"ElementaryTypeName","src":"24268:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":13284,"nodeType":"ArrayTypeName","src":"24268:8:19","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"24267:32:19"},"returnParameters":{"id":13289,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13288,"mutability":"mutable","name":"result","nameLocation":"24331:6:19","nodeType":"VariableDeclaration","scope":13290,"src":"24318:19:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":13287,"name":"bytes","nodeType":"ElementaryTypeName","src":"24318:5:19","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"24317:21:19"},"scope":15724,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13299,"nodeType":"FunctionDefinition","src":"24438:93:19","nodes":[],"documentation":{"id":13291,"nodeType":"StructuredDocumentation","src":"24345:88:19","text":"Given a path, query the file system to get information about a file, directory, etc."},"functionSelector":"af368a08","implemented":false,"kind":"function","modifiers":[],"name":"fsMetadata","nameLocation":"24447:10:19","parameters":{"id":13294,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13293,"mutability":"mutable","name":"path","nameLocation":"24474:4:19","nodeType":"VariableDeclaration","scope":13299,"src":"24458:20:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13292,"name":"string","nodeType":"ElementaryTypeName","src":"24458:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"24457:22:19"},"returnParameters":{"id":13298,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13297,"mutability":"mutable","name":"metadata","nameLocation":"24521:8:19","nodeType":"VariableDeclaration","scope":13299,"src":"24503:26:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_FsMetadata_$12625_memory_ptr","typeString":"struct VmSafe.FsMetadata"},"typeName":{"id":13296,"nodeType":"UserDefinedTypeName","pathNode":{"id":13295,"name":"FsMetadata","nodeType":"IdentifierPath","referencedDeclaration":12625,"src":"24503:10:19"},"referencedDeclaration":12625,"src":"24503:10:19","typeDescriptions":{"typeIdentifier":"t_struct$_FsMetadata_$12625_storage_ptr","typeString":"struct VmSafe.FsMetadata"}},"visibility":"internal"}],"src":"24502:28:19"},"scope":15724,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":13307,"nodeType":"FunctionDefinition","src":"24769:101:19","nodes":[],"documentation":{"id":13300,"nodeType":"StructuredDocumentation","src":"24537:227:19","text":"Gets the creation bytecode from an artifact file. Takes in the relative path to the json file or the path to the\n artifact in the form of <path>:<contract>:<version> where <contract> and <version> parts are optional."},"functionSelector":"8d1cc925","implemented":false,"kind":"function","modifiers":[],"name":"getCode","nameLocation":"24778:7:19","parameters":{"id":13303,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13302,"mutability":"mutable","name":"artifactPath","nameLocation":"24802:12:19","nodeType":"VariableDeclaration","scope":13307,"src":"24786:28:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13301,"name":"string","nodeType":"ElementaryTypeName","src":"24786:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"24785:30:19"},"returnParameters":{"id":13306,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13305,"mutability":"mutable","name":"creationBytecode","nameLocation":"24852:16:19","nodeType":"VariableDeclaration","scope":13307,"src":"24839:29:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":13304,"name":"bytes","nodeType":"ElementaryTypeName","src":"24839:5:19","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"24838:31:19"},"scope":15724,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":13315,"nodeType":"FunctionDefinition","src":"25108:108:19","nodes":[],"documentation":{"id":13308,"nodeType":"StructuredDocumentation","src":"24876:227:19","text":"Gets the deployed bytecode from an artifact file. Takes in the relative path to the json file or the path to the\n artifact in the form of <path>:<contract>:<version> where <contract> and <version> parts are optional."},"functionSelector":"3ebf73b4","implemented":false,"kind":"function","modifiers":[],"name":"getDeployedCode","nameLocation":"25117:15:19","parameters":{"id":13311,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13310,"mutability":"mutable","name":"artifactPath","nameLocation":"25149:12:19","nodeType":"VariableDeclaration","scope":13315,"src":"25133:28:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13309,"name":"string","nodeType":"ElementaryTypeName","src":"25133:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"25132:30:19"},"returnParameters":{"id":13314,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13313,"mutability":"mutable","name":"runtimeBytecode","nameLocation":"25199:15:19","nodeType":"VariableDeclaration","scope":13315,"src":"25186:28:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":13312,"name":"bytes","nodeType":"ElementaryTypeName","src":"25186:5:19","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"25185:30:19"},"scope":15724,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":13323,"nodeType":"FunctionDefinition","src":"25322:68:19","nodes":[],"documentation":{"id":13316,"nodeType":"StructuredDocumentation","src":"25222:95:19","text":"Returns true if the path exists on disk and is pointing at a directory, else returns false."},"functionSelector":"7d15d019","implemented":false,"kind":"function","modifiers":[],"name":"isDir","nameLocation":"25331:5:19","parameters":{"id":13319,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13318,"mutability":"mutable","name":"path","nameLocation":"25353:4:19","nodeType":"VariableDeclaration","scope":13323,"src":"25337:20:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13317,"name":"string","nodeType":"ElementaryTypeName","src":"25337:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"25336:22:19"},"returnParameters":{"id":13322,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13321,"mutability":"mutable","name":"result","nameLocation":"25382:6:19","nodeType":"VariableDeclaration","scope":13323,"src":"25377:11:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13320,"name":"bool","nodeType":"ElementaryTypeName","src":"25377:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"25376:13:19"},"scope":15724,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13331,"nodeType":"FunctionDefinition","src":"25499:69:19","nodes":[],"documentation":{"id":13324,"nodeType":"StructuredDocumentation","src":"25396:98:19","text":"Returns true if the path exists on disk and is pointing at a regular file, else returns false."},"functionSelector":"e0eb04d4","implemented":false,"kind":"function","modifiers":[],"name":"isFile","nameLocation":"25508:6:19","parameters":{"id":13327,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13326,"mutability":"mutable","name":"path","nameLocation":"25531:4:19","nodeType":"VariableDeclaration","scope":13331,"src":"25515:20:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13325,"name":"string","nodeType":"ElementaryTypeName","src":"25515:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"25514:22:19"},"returnParameters":{"id":13330,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13329,"mutability":"mutable","name":"result","nameLocation":"25560:6:19","nodeType":"VariableDeclaration","scope":13331,"src":"25555:11:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13328,"name":"bool","nodeType":"ElementaryTypeName","src":"25555:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"25554:13:19"},"scope":15724,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13337,"nodeType":"FunctionDefinition","src":"25624:66:19","nodes":[],"documentation":{"id":13332,"nodeType":"StructuredDocumentation","src":"25574:45:19","text":"Get the path of the current project root."},"functionSelector":"d930a0e6","implemented":false,"kind":"function","modifiers":[],"name":"projectRoot","nameLocation":"25633:11:19","parameters":{"id":13333,"nodeType":"ParameterList","parameters":[],"src":"25644:2:19"},"returnParameters":{"id":13336,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13335,"mutability":"mutable","name":"path","nameLocation":"25684:4:19","nodeType":"VariableDeclaration","scope":13337,"src":"25670:18:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13334,"name":"string","nodeType":"ElementaryTypeName","src":"25670:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"25669:20:19"},"scope":15724,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":13345,"nodeType":"FunctionDefinition","src":"25757:83:19","nodes":[],"documentation":{"id":13338,"nodeType":"StructuredDocumentation","src":"25696:56:19","text":"Prompts the user for a string value in the terminal."},"functionSelector":"47eaf474","implemented":false,"kind":"function","modifiers":[],"name":"prompt","nameLocation":"25766:6:19","parameters":{"id":13341,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13340,"mutability":"mutable","name":"promptText","nameLocation":"25789:10:19","nodeType":"VariableDeclaration","scope":13345,"src":"25773:26:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13339,"name":"string","nodeType":"ElementaryTypeName","src":"25773:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"25772:28:19"},"returnParameters":{"id":13344,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13343,"mutability":"mutable","name":"input","nameLocation":"25833:5:19","nodeType":"VariableDeclaration","scope":13345,"src":"25819:19:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13342,"name":"string","nodeType":"ElementaryTypeName","src":"25819:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"25818:21:19"},"scope":15724,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13353,"nodeType":"FunctionDefinition","src":"25903:78:19","nodes":[],"documentation":{"id":13346,"nodeType":"StructuredDocumentation","src":"25846:52:19","text":"Prompts the user for an address in the terminal."},"functionSelector":"62ee05f4","implemented":false,"kind":"function","modifiers":[],"name":"promptAddress","nameLocation":"25912:13:19","parameters":{"id":13349,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13348,"mutability":"mutable","name":"promptText","nameLocation":"25942:10:19","nodeType":"VariableDeclaration","scope":13353,"src":"25926:26:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13347,"name":"string","nodeType":"ElementaryTypeName","src":"25926:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"25925:28:19"},"returnParameters":{"id":13352,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13351,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13353,"src":"25972:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13350,"name":"address","nodeType":"ElementaryTypeName","src":"25972:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"25971:9:19"},"scope":15724,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13361,"nodeType":"FunctionDefinition","src":"26055:89:19","nodes":[],"documentation":{"id":13354,"nodeType":"StructuredDocumentation","src":"25987:63:19","text":"Prompts the user for a hidden string value in the terminal."},"functionSelector":"1e279d41","implemented":false,"kind":"function","modifiers":[],"name":"promptSecret","nameLocation":"26064:12:19","parameters":{"id":13357,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13356,"mutability":"mutable","name":"promptText","nameLocation":"26093:10:19","nodeType":"VariableDeclaration","scope":13361,"src":"26077:26:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13355,"name":"string","nodeType":"ElementaryTypeName","src":"26077:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"26076:28:19"},"returnParameters":{"id":13360,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13359,"mutability":"mutable","name":"input","nameLocation":"26137:5:19","nodeType":"VariableDeclaration","scope":13361,"src":"26123:19:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13358,"name":"string","nodeType":"ElementaryTypeName","src":"26123:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"26122:21:19"},"scope":15724,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13369,"nodeType":"FunctionDefinition","src":"26204:75:19","nodes":[],"documentation":{"id":13362,"nodeType":"StructuredDocumentation","src":"26150:49:19","text":"Prompts the user for uint256 in the terminal."},"functionSelector":"652fd489","implemented":false,"kind":"function","modifiers":[],"name":"promptUint","nameLocation":"26213:10:19","parameters":{"id":13365,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13364,"mutability":"mutable","name":"promptText","nameLocation":"26240:10:19","nodeType":"VariableDeclaration","scope":13369,"src":"26224:26:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13363,"name":"string","nodeType":"ElementaryTypeName","src":"26224:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"26223:28:19"},"returnParameters":{"id":13368,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13367,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13369,"src":"26270:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13366,"name":"uint256","nodeType":"ElementaryTypeName","src":"26270:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"26269:9:19"},"scope":15724,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13379,"nodeType":"FunctionDefinition","src":"26527:89:19","nodes":[],"documentation":{"id":13370,"nodeType":"StructuredDocumentation","src":"26285:237:19","text":"Reads the directory at the given path recursively, up to `maxDepth`.\n `maxDepth` defaults to 1, meaning only the direct children of the given directory will be returned.\n Follows symbolic links if `followLinks` is true."},"functionSelector":"c4bc59e0","implemented":false,"kind":"function","modifiers":[],"name":"readDir","nameLocation":"26536:7:19","parameters":{"id":13373,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13372,"mutability":"mutable","name":"path","nameLocation":"26560:4:19","nodeType":"VariableDeclaration","scope":13379,"src":"26544:20:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13371,"name":"string","nodeType":"ElementaryTypeName","src":"26544:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"26543:22:19"},"returnParameters":{"id":13378,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13377,"mutability":"mutable","name":"entries","nameLocation":"26607:7:19","nodeType":"VariableDeclaration","scope":13379,"src":"26589:25:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_DirEntry_$12610_memory_ptr_$dyn_memory_ptr","typeString":"struct VmSafe.DirEntry[]"},"typeName":{"baseType":{"id":13375,"nodeType":"UserDefinedTypeName","pathNode":{"id":13374,"name":"DirEntry","nodeType":"IdentifierPath","referencedDeclaration":12610,"src":"26589:8:19"},"referencedDeclaration":12610,"src":"26589:8:19","typeDescriptions":{"typeIdentifier":"t_struct$_DirEntry_$12610_storage_ptr","typeString":"struct VmSafe.DirEntry"}},"id":13376,"nodeType":"ArrayTypeName","src":"26589:10:19","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_DirEntry_$12610_storage_$dyn_storage_ptr","typeString":"struct VmSafe.DirEntry[]"}},"visibility":"internal"}],"src":"26588:27:19"},"scope":15724,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":13391,"nodeType":"FunctionDefinition","src":"26653:106:19","nodes":[],"documentation":{"id":13380,"nodeType":"StructuredDocumentation","src":"26622:26:19","text":"See `readDir(string)`."},"functionSelector":"1497876c","implemented":false,"kind":"function","modifiers":[],"name":"readDir","nameLocation":"26662:7:19","parameters":{"id":13385,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13382,"mutability":"mutable","name":"path","nameLocation":"26686:4:19","nodeType":"VariableDeclaration","scope":13391,"src":"26670:20:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13381,"name":"string","nodeType":"ElementaryTypeName","src":"26670:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13384,"mutability":"mutable","name":"maxDepth","nameLocation":"26699:8:19","nodeType":"VariableDeclaration","scope":13391,"src":"26692:15:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":13383,"name":"uint64","nodeType":"ElementaryTypeName","src":"26692:6:19","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"26669:39:19"},"returnParameters":{"id":13390,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13389,"mutability":"mutable","name":"entries","nameLocation":"26750:7:19","nodeType":"VariableDeclaration","scope":13391,"src":"26732:25:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_DirEntry_$12610_memory_ptr_$dyn_memory_ptr","typeString":"struct VmSafe.DirEntry[]"},"typeName":{"baseType":{"id":13387,"nodeType":"UserDefinedTypeName","pathNode":{"id":13386,"name":"DirEntry","nodeType":"IdentifierPath","referencedDeclaration":12610,"src":"26732:8:19"},"referencedDeclaration":12610,"src":"26732:8:19","typeDescriptions":{"typeIdentifier":"t_struct$_DirEntry_$12610_storage_ptr","typeString":"struct VmSafe.DirEntry"}},"id":13388,"nodeType":"ArrayTypeName","src":"26732:10:19","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_DirEntry_$12610_storage_$dyn_storage_ptr","typeString":"struct VmSafe.DirEntry[]"}},"visibility":"internal"}],"src":"26731:27:19"},"scope":15724,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":13405,"nodeType":"FunctionDefinition","src":"26796:148:19","nodes":[],"documentation":{"id":13392,"nodeType":"StructuredDocumentation","src":"26765:26:19","text":"See `readDir(string)`."},"functionSelector":"8102d70d","implemented":false,"kind":"function","modifiers":[],"name":"readDir","nameLocation":"26805:7:19","parameters":{"id":13399,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13394,"mutability":"mutable","name":"path","nameLocation":"26829:4:19","nodeType":"VariableDeclaration","scope":13405,"src":"26813:20:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13393,"name":"string","nodeType":"ElementaryTypeName","src":"26813:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13396,"mutability":"mutable","name":"maxDepth","nameLocation":"26842:8:19","nodeType":"VariableDeclaration","scope":13405,"src":"26835:15:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":13395,"name":"uint64","nodeType":"ElementaryTypeName","src":"26835:6:19","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":13398,"mutability":"mutable","name":"followLinks","nameLocation":"26857:11:19","nodeType":"VariableDeclaration","scope":13405,"src":"26852:16:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13397,"name":"bool","nodeType":"ElementaryTypeName","src":"26852:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"26812:57:19"},"returnParameters":{"id":13404,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13403,"mutability":"mutable","name":"entries","nameLocation":"26935:7:19","nodeType":"VariableDeclaration","scope":13405,"src":"26917:25:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_DirEntry_$12610_memory_ptr_$dyn_memory_ptr","typeString":"struct VmSafe.DirEntry[]"},"typeName":{"baseType":{"id":13401,"nodeType":"UserDefinedTypeName","pathNode":{"id":13400,"name":"DirEntry","nodeType":"IdentifierPath","referencedDeclaration":12610,"src":"26917:8:19"},"referencedDeclaration":12610,"src":"26917:8:19","typeDescriptions":{"typeIdentifier":"t_struct$_DirEntry_$12610_storage_ptr","typeString":"struct VmSafe.DirEntry"}},"id":13402,"nodeType":"ArrayTypeName","src":"26917:10:19","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_DirEntry_$12610_storage_$dyn_storage_ptr","typeString":"struct VmSafe.DirEntry[]"}},"visibility":"internal"}],"src":"26916:27:19"},"scope":15724,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":13413,"nodeType":"FunctionDefinition","src":"27042:83:19","nodes":[],"documentation":{"id":13406,"nodeType":"StructuredDocumentation","src":"26950:87:19","text":"Reads the entire content of file to string. `path` is relative to the project root."},"functionSelector":"60f9bb11","implemented":false,"kind":"function","modifiers":[],"name":"readFile","nameLocation":"27051:8:19","parameters":{"id":13409,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13408,"mutability":"mutable","name":"path","nameLocation":"27076:4:19","nodeType":"VariableDeclaration","scope":13413,"src":"27060:20:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13407,"name":"string","nodeType":"ElementaryTypeName","src":"27060:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"27059:22:19"},"returnParameters":{"id":13412,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13411,"mutability":"mutable","name":"data","nameLocation":"27119:4:19","nodeType":"VariableDeclaration","scope":13413,"src":"27105:18:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13410,"name":"string","nodeType":"ElementaryTypeName","src":"27105:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"27104:20:19"},"scope":15724,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":13421,"nodeType":"FunctionDefinition","src":"27223:88:19","nodes":[],"documentation":{"id":13414,"nodeType":"StructuredDocumentation","src":"27131:87:19","text":"Reads the entire content of file as binary. `path` is relative to the project root."},"functionSelector":"16ed7bc4","implemented":false,"kind":"function","modifiers":[],"name":"readFileBinary","nameLocation":"27232:14:19","parameters":{"id":13417,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13416,"mutability":"mutable","name":"path","nameLocation":"27263:4:19","nodeType":"VariableDeclaration","scope":13421,"src":"27247:20:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13415,"name":"string","nodeType":"ElementaryTypeName","src":"27247:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"27246:22:19"},"returnParameters":{"id":13420,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13419,"mutability":"mutable","name":"data","nameLocation":"27305:4:19","nodeType":"VariableDeclaration","scope":13421,"src":"27292:17:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":13418,"name":"bytes","nodeType":"ElementaryTypeName","src":"27292:5:19","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"27291:19:19"},"scope":15724,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":13429,"nodeType":"FunctionDefinition","src":"27360:83:19","nodes":[],"documentation":{"id":13422,"nodeType":"StructuredDocumentation","src":"27317:38:19","text":"Reads next line of file to string."},"functionSelector":"70f55728","implemented":false,"kind":"function","modifiers":[],"name":"readLine","nameLocation":"27369:8:19","parameters":{"id":13425,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13424,"mutability":"mutable","name":"path","nameLocation":"27394:4:19","nodeType":"VariableDeclaration","scope":13429,"src":"27378:20:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13423,"name":"string","nodeType":"ElementaryTypeName","src":"27378:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"27377:22:19"},"returnParameters":{"id":13428,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13427,"mutability":"mutable","name":"line","nameLocation":"27437:4:19","nodeType":"VariableDeclaration","scope":13429,"src":"27423:18:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13426,"name":"string","nodeType":"ElementaryTypeName","src":"27423:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"27422:20:19"},"scope":15724,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":13437,"nodeType":"FunctionDefinition","src":"27702:93:19","nodes":[],"documentation":{"id":13430,"nodeType":"StructuredDocumentation","src":"27449:248:19","text":"Reads a symbolic link, returning the path that the link points to.\n This cheatcode will revert in the following situations, but is not limited to just these cases:\n - `path` is not a symbolic link.\n - `path` does not exist."},"functionSelector":"9f5684a2","implemented":false,"kind":"function","modifiers":[],"name":"readLink","nameLocation":"27711:8:19","parameters":{"id":13433,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13432,"mutability":"mutable","name":"linkPath","nameLocation":"27736:8:19","nodeType":"VariableDeclaration","scope":13437,"src":"27720:24:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13431,"name":"string","nodeType":"ElementaryTypeName","src":"27720:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"27719:26:19"},"returnParameters":{"id":13436,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13435,"mutability":"mutable","name":"targetPath","nameLocation":"27783:10:19","nodeType":"VariableDeclaration","scope":13437,"src":"27769:24:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13434,"name":"string","nodeType":"ElementaryTypeName","src":"27769:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"27768:26:19"},"scope":15724,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":13445,"nodeType":"FunctionDefinition","src":"28185:66:19","nodes":[],"documentation":{"id":13438,"nodeType":"StructuredDocumentation","src":"27801:379:19","text":"Removes a directory at the provided path.\n This cheatcode will revert in the following situations, but is not limited to just these cases:\n - `path` doesn't exist.\n - `path` isn't a directory.\n - User lacks permissions to modify `path`.\n - The directory is not empty and `recursive` is false.\n `path` is relative to the project root."},"functionSelector":"45c62011","implemented":false,"kind":"function","modifiers":[],"name":"removeDir","nameLocation":"28194:9:19","parameters":{"id":13443,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13440,"mutability":"mutable","name":"path","nameLocation":"28220:4:19","nodeType":"VariableDeclaration","scope":13445,"src":"28204:20:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13439,"name":"string","nodeType":"ElementaryTypeName","src":"28204:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13442,"mutability":"mutable","name":"recursive","nameLocation":"28231:9:19","nodeType":"VariableDeclaration","scope":13445,"src":"28226:14:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13441,"name":"bool","nodeType":"ElementaryTypeName","src":"28226:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"28203:38:19"},"returnParameters":{"id":13444,"nodeType":"ParameterList","parameters":[],"src":"28250:0:19"},"scope":15724,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13451,"nodeType":"FunctionDefinition","src":"28584:51:19","nodes":[],"documentation":{"id":13446,"nodeType":"StructuredDocumentation","src":"28257:322:19","text":"Removes a file from the filesystem.\n This cheatcode will revert in the following situations, but is not limited to just these cases:\n - `path` points to a directory.\n - The file doesn't exist.\n - The user lacks permissions to remove the file.\n `path` is relative to the project root."},"functionSelector":"f1afe04d","implemented":false,"kind":"function","modifiers":[],"name":"removeFile","nameLocation":"28593:10:19","parameters":{"id":13449,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13448,"mutability":"mutable","name":"path","nameLocation":"28620:4:19","nodeType":"VariableDeclaration","scope":13451,"src":"28604:20:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13447,"name":"string","nodeType":"ElementaryTypeName","src":"28604:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"28603:22:19"},"returnParameters":{"id":13450,"nodeType":"ParameterList","parameters":[],"src":"28634:0:19"},"scope":15724,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13461,"nodeType":"FunctionDefinition","src":"28742:91:19","nodes":[],"documentation":{"id":13452,"nodeType":"StructuredDocumentation","src":"28641:96:19","text":"Performs a foreign function call via terminal and returns the exit code, stdout, and stderr."},"functionSelector":"f45c1ce7","implemented":false,"kind":"function","modifiers":[],"name":"tryFfi","nameLocation":"28751:6:19","parameters":{"id":13456,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13455,"mutability":"mutable","name":"commandInput","nameLocation":"28776:12:19","nodeType":"VariableDeclaration","scope":13461,"src":"28758:30:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_string_calldata_ptr_$dyn_calldata_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":13453,"name":"string","nodeType":"ElementaryTypeName","src":"28758:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":13454,"nodeType":"ArrayTypeName","src":"28758:8:19","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"28757:32:19"},"returnParameters":{"id":13460,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13459,"mutability":"mutable","name":"result","nameLocation":"28825:6:19","nodeType":"VariableDeclaration","scope":13461,"src":"28808:23:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_FfiResult_$12641_memory_ptr","typeString":"struct VmSafe.FfiResult"},"typeName":{"id":13458,"nodeType":"UserDefinedTypeName","pathNode":{"id":13457,"name":"FfiResult","nodeType":"IdentifierPath","referencedDeclaration":12641,"src":"28808:9:19"},"referencedDeclaration":12641,"src":"28808:9:19","typeDescriptions":{"typeIdentifier":"t_struct$_FfiResult_$12641_storage_ptr","typeString":"struct VmSafe.FfiResult"}},"visibility":"internal"}],"src":"28807:25:19"},"scope":15724,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13467,"nodeType":"FunctionDefinition","src":"28898:60:19","nodes":[],"documentation":{"id":13462,"nodeType":"StructuredDocumentation","src":"28839:54:19","text":"Returns the time since unix epoch in milliseconds."},"functionSelector":"625387dc","implemented":false,"kind":"function","modifiers":[],"name":"unixTime","nameLocation":"28907:8:19","parameters":{"id":13463,"nodeType":"ParameterList","parameters":[],"src":"28915:2:19"},"returnParameters":{"id":13466,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13465,"mutability":"mutable","name":"milliseconds","nameLocation":"28944:12:19","nodeType":"VariableDeclaration","scope":13467,"src":"28936:20:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13464,"name":"uint256","nodeType":"ElementaryTypeName","src":"28936:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"28935:22:19"},"scope":15724,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13475,"nodeType":"FunctionDefinition","src":"29127:72:19","nodes":[],"documentation":{"id":13468,"nodeType":"StructuredDocumentation","src":"28964:158:19","text":"Writes data to file, creating a file if it does not exist, and entirely replacing its contents if it does.\n `path` is relative to the project root."},"functionSelector":"897e0a97","implemented":false,"kind":"function","modifiers":[],"name":"writeFile","nameLocation":"29136:9:19","parameters":{"id":13473,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13470,"mutability":"mutable","name":"path","nameLocation":"29162:4:19","nodeType":"VariableDeclaration","scope":13475,"src":"29146:20:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13469,"name":"string","nodeType":"ElementaryTypeName","src":"29146:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13472,"mutability":"mutable","name":"data","nameLocation":"29184:4:19","nodeType":"VariableDeclaration","scope":13475,"src":"29168:20:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13471,"name":"string","nodeType":"ElementaryTypeName","src":"29168:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"29145:44:19"},"returnParameters":{"id":13474,"nodeType":"ParameterList","parameters":[],"src":"29198:0:19"},"scope":15724,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13483,"nodeType":"FunctionDefinition","src":"29377:77:19","nodes":[],"documentation":{"id":13476,"nodeType":"StructuredDocumentation","src":"29205:167:19","text":"Writes binary data to a file, creating a file if it does not exist, and entirely replacing its contents if it does.\n `path` is relative to the project root."},"functionSelector":"1f21fc80","implemented":false,"kind":"function","modifiers":[],"name":"writeFileBinary","nameLocation":"29386:15:19","parameters":{"id":13481,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13478,"mutability":"mutable","name":"path","nameLocation":"29418:4:19","nodeType":"VariableDeclaration","scope":13483,"src":"29402:20:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13477,"name":"string","nodeType":"ElementaryTypeName","src":"29402:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13480,"mutability":"mutable","name":"data","nameLocation":"29439:4:19","nodeType":"VariableDeclaration","scope":13483,"src":"29424:19:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":13479,"name":"bytes","nodeType":"ElementaryTypeName","src":"29424:5:19","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"29401:43:19"},"returnParameters":{"id":13482,"nodeType":"ParameterList","parameters":[],"src":"29453:0:19"},"scope":15724,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13491,"nodeType":"FunctionDefinition","src":"29575:72:19","nodes":[],"documentation":{"id":13484,"nodeType":"StructuredDocumentation","src":"29460:110:19","text":"Writes line to file, creating a file if it does not exist.\n `path` is relative to the project root."},"functionSelector":"619d897f","implemented":false,"kind":"function","modifiers":[],"name":"writeLine","nameLocation":"29584:9:19","parameters":{"id":13489,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13486,"mutability":"mutable","name":"path","nameLocation":"29610:4:19","nodeType":"VariableDeclaration","scope":13491,"src":"29594:20:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13485,"name":"string","nodeType":"ElementaryTypeName","src":"29594:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13488,"mutability":"mutable","name":"data","nameLocation":"29632:4:19","nodeType":"VariableDeclaration","scope":13491,"src":"29616:20:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13487,"name":"string","nodeType":"ElementaryTypeName","src":"29616:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"29593:44:19"},"returnParameters":{"id":13490,"nodeType":"ParameterList","parameters":[],"src":"29646:0:19"},"scope":15724,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13501,"nodeType":"FunctionDefinition","src":"29840:91:19","nodes":[],"documentation":{"id":13492,"nodeType":"StructuredDocumentation","src":"29684:151:19","text":"Checks if `key` exists in a JSON object\n `keyExists` is being deprecated in favor of `keyExistsJson`. It will be removed in future versions."},"functionSelector":"528a683c","implemented":false,"kind":"function","modifiers":[],"name":"keyExists","nameLocation":"29849:9:19","parameters":{"id":13497,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13494,"mutability":"mutable","name":"json","nameLocation":"29875:4:19","nodeType":"VariableDeclaration","scope":13501,"src":"29859:20:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13493,"name":"string","nodeType":"ElementaryTypeName","src":"29859:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13496,"mutability":"mutable","name":"key","nameLocation":"29897:3:19","nodeType":"VariableDeclaration","scope":13501,"src":"29881:19:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13495,"name":"string","nodeType":"ElementaryTypeName","src":"29881:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"29858:43:19"},"returnParameters":{"id":13500,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13499,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13501,"src":"29925:4:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13498,"name":"bool","nodeType":"ElementaryTypeName","src":"29925:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"29924:6:19"},"scope":15724,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":13511,"nodeType":"FunctionDefinition","src":"29986:95:19","nodes":[],"documentation":{"id":13502,"nodeType":"StructuredDocumentation","src":"29937:44:19","text":"Checks if `key` exists in a JSON object."},"functionSelector":"db4235f6","implemented":false,"kind":"function","modifiers":[],"name":"keyExistsJson","nameLocation":"29995:13:19","parameters":{"id":13507,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13504,"mutability":"mutable","name":"json","nameLocation":"30025:4:19","nodeType":"VariableDeclaration","scope":13511,"src":"30009:20:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13503,"name":"string","nodeType":"ElementaryTypeName","src":"30009:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13506,"mutability":"mutable","name":"key","nameLocation":"30047:3:19","nodeType":"VariableDeclaration","scope":13511,"src":"30031:19:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13505,"name":"string","nodeType":"ElementaryTypeName","src":"30031:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"30008:43:19"},"returnParameters":{"id":13510,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13509,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13511,"src":"30075:4:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13508,"name":"bool","nodeType":"ElementaryTypeName","src":"30075:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"30074:6:19"},"scope":15724,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":13521,"nodeType":"FunctionDefinition","src":"30162:101:19","nodes":[],"documentation":{"id":13512,"nodeType":"StructuredDocumentation","src":"30087:70:19","text":"Parses a string of JSON data at `key` and coerces it to `address`."},"functionSelector":"1e19e657","implemented":false,"kind":"function","modifiers":[],"name":"parseJsonAddress","nameLocation":"30171:16:19","parameters":{"id":13517,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13514,"mutability":"mutable","name":"json","nameLocation":"30204:4:19","nodeType":"VariableDeclaration","scope":13521,"src":"30188:20:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13513,"name":"string","nodeType":"ElementaryTypeName","src":"30188:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13516,"mutability":"mutable","name":"key","nameLocation":"30226:3:19","nodeType":"VariableDeclaration","scope":13521,"src":"30210:19:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13515,"name":"string","nodeType":"ElementaryTypeName","src":"30210:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"30187:43:19"},"returnParameters":{"id":13520,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13519,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13521,"src":"30254:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13518,"name":"address","nodeType":"ElementaryTypeName","src":"30254:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"30253:9:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13532,"nodeType":"FunctionDefinition","src":"30346:139:19","nodes":[],"documentation":{"id":13522,"nodeType":"StructuredDocumentation","src":"30269:72:19","text":"Parses a string of JSON data at `key` and coerces it to `address[]`."},"functionSelector":"2fce7883","implemented":false,"kind":"function","modifiers":[],"name":"parseJsonAddressArray","nameLocation":"30355:21:19","parameters":{"id":13527,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13524,"mutability":"mutable","name":"json","nameLocation":"30393:4:19","nodeType":"VariableDeclaration","scope":13532,"src":"30377:20:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13523,"name":"string","nodeType":"ElementaryTypeName","src":"30377:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13526,"mutability":"mutable","name":"key","nameLocation":"30415:3:19","nodeType":"VariableDeclaration","scope":13532,"src":"30399:19:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13525,"name":"string","nodeType":"ElementaryTypeName","src":"30399:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"30376:43:19"},"returnParameters":{"id":13531,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13530,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13532,"src":"30467:16:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":13528,"name":"address","nodeType":"ElementaryTypeName","src":"30467:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":13529,"nodeType":"ArrayTypeName","src":"30467:9:19","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"30466:18:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13542,"nodeType":"FunctionDefinition","src":"30563:95:19","nodes":[],"documentation":{"id":13533,"nodeType":"StructuredDocumentation","src":"30491:67:19","text":"Parses a string of JSON data at `key` and coerces it to `bool`."},"functionSelector":"9f86dc91","implemented":false,"kind":"function","modifiers":[],"name":"parseJsonBool","nameLocation":"30572:13:19","parameters":{"id":13538,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13535,"mutability":"mutable","name":"json","nameLocation":"30602:4:19","nodeType":"VariableDeclaration","scope":13542,"src":"30586:20:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13534,"name":"string","nodeType":"ElementaryTypeName","src":"30586:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13537,"mutability":"mutable","name":"key","nameLocation":"30624:3:19","nodeType":"VariableDeclaration","scope":13542,"src":"30608:19:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13536,"name":"string","nodeType":"ElementaryTypeName","src":"30608:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"30585:43:19"},"returnParameters":{"id":13541,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13540,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13542,"src":"30652:4:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13539,"name":"bool","nodeType":"ElementaryTypeName","src":"30652:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"30651:6:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13553,"nodeType":"FunctionDefinition","src":"30738:109:19","nodes":[],"documentation":{"id":13543,"nodeType":"StructuredDocumentation","src":"30664:69:19","text":"Parses a string of JSON data at `key` and coerces it to `bool[]`."},"functionSelector":"91f3b94f","implemented":false,"kind":"function","modifiers":[],"name":"parseJsonBoolArray","nameLocation":"30747:18:19","parameters":{"id":13548,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13545,"mutability":"mutable","name":"json","nameLocation":"30782:4:19","nodeType":"VariableDeclaration","scope":13553,"src":"30766:20:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13544,"name":"string","nodeType":"ElementaryTypeName","src":"30766:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13547,"mutability":"mutable","name":"key","nameLocation":"30804:3:19","nodeType":"VariableDeclaration","scope":13553,"src":"30788:19:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13546,"name":"string","nodeType":"ElementaryTypeName","src":"30788:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"30765:43:19"},"returnParameters":{"id":13552,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13551,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13553,"src":"30832:13:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":13549,"name":"bool","nodeType":"ElementaryTypeName","src":"30832:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":13550,"nodeType":"ArrayTypeName","src":"30832:6:19","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"}],"src":"30831:15:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13563,"nodeType":"FunctionDefinition","src":"30926:104:19","nodes":[],"documentation":{"id":13554,"nodeType":"StructuredDocumentation","src":"30853:68:19","text":"Parses a string of JSON data at `key` and coerces it to `bytes`."},"functionSelector":"fd921be8","implemented":false,"kind":"function","modifiers":[],"name":"parseJsonBytes","nameLocation":"30935:14:19","parameters":{"id":13559,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13556,"mutability":"mutable","name":"json","nameLocation":"30966:4:19","nodeType":"VariableDeclaration","scope":13563,"src":"30950:20:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13555,"name":"string","nodeType":"ElementaryTypeName","src":"30950:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13558,"mutability":"mutable","name":"key","nameLocation":"30988:3:19","nodeType":"VariableDeclaration","scope":13563,"src":"30972:19:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13557,"name":"string","nodeType":"ElementaryTypeName","src":"30972:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"30949:43:19"},"returnParameters":{"id":13562,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13561,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13563,"src":"31016:12:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":13560,"name":"bytes","nodeType":"ElementaryTypeName","src":"31016:5:19","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"31015:14:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13573,"nodeType":"FunctionDefinition","src":"31111:101:19","nodes":[],"documentation":{"id":13564,"nodeType":"StructuredDocumentation","src":"31036:70:19","text":"Parses a string of JSON data at `key` and coerces it to `bytes32`."},"functionSelector":"1777e59d","implemented":false,"kind":"function","modifiers":[],"name":"parseJsonBytes32","nameLocation":"31120:16:19","parameters":{"id":13569,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13566,"mutability":"mutable","name":"json","nameLocation":"31153:4:19","nodeType":"VariableDeclaration","scope":13573,"src":"31137:20:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13565,"name":"string","nodeType":"ElementaryTypeName","src":"31137:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13568,"mutability":"mutable","name":"key","nameLocation":"31175:3:19","nodeType":"VariableDeclaration","scope":13573,"src":"31159:19:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13567,"name":"string","nodeType":"ElementaryTypeName","src":"31159:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"31136:43:19"},"returnParameters":{"id":13572,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13571,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13573,"src":"31203:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13570,"name":"bytes32","nodeType":"ElementaryTypeName","src":"31203:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"31202:9:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13584,"nodeType":"FunctionDefinition","src":"31295:139:19","nodes":[],"documentation":{"id":13574,"nodeType":"StructuredDocumentation","src":"31218:72:19","text":"Parses a string of JSON data at `key` and coerces it to `bytes32[]`."},"functionSelector":"91c75bc3","implemented":false,"kind":"function","modifiers":[],"name":"parseJsonBytes32Array","nameLocation":"31304:21:19","parameters":{"id":13579,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13576,"mutability":"mutable","name":"json","nameLocation":"31342:4:19","nodeType":"VariableDeclaration","scope":13584,"src":"31326:20:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13575,"name":"string","nodeType":"ElementaryTypeName","src":"31326:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13578,"mutability":"mutable","name":"key","nameLocation":"31364:3:19","nodeType":"VariableDeclaration","scope":13584,"src":"31348:19:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13577,"name":"string","nodeType":"ElementaryTypeName","src":"31348:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"31325:43:19"},"returnParameters":{"id":13583,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13582,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13584,"src":"31416:16:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":13580,"name":"bytes32","nodeType":"ElementaryTypeName","src":"31416:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":13581,"nodeType":"ArrayTypeName","src":"31416:9:19","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"31415:18:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13595,"nodeType":"FunctionDefinition","src":"31515:111:19","nodes":[],"documentation":{"id":13585,"nodeType":"StructuredDocumentation","src":"31440:70:19","text":"Parses a string of JSON data at `key` and coerces it to `bytes[]`."},"functionSelector":"6631aa99","implemented":false,"kind":"function","modifiers":[],"name":"parseJsonBytesArray","nameLocation":"31524:19:19","parameters":{"id":13590,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13587,"mutability":"mutable","name":"json","nameLocation":"31560:4:19","nodeType":"VariableDeclaration","scope":13595,"src":"31544:20:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13586,"name":"string","nodeType":"ElementaryTypeName","src":"31544:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13589,"mutability":"mutable","name":"key","nameLocation":"31582:3:19","nodeType":"VariableDeclaration","scope":13595,"src":"31566:19:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13588,"name":"string","nodeType":"ElementaryTypeName","src":"31566:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"31543:43:19"},"returnParameters":{"id":13594,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13593,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13595,"src":"31610:14:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":13591,"name":"bytes","nodeType":"ElementaryTypeName","src":"31610:5:19","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":13592,"nodeType":"ArrayTypeName","src":"31610:7:19","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"31609:16:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13605,"nodeType":"FunctionDefinition","src":"31706:96:19","nodes":[],"documentation":{"id":13596,"nodeType":"StructuredDocumentation","src":"31632:69:19","text":"Parses a string of JSON data at `key` and coerces it to `int256`."},"functionSelector":"7b048ccd","implemented":false,"kind":"function","modifiers":[],"name":"parseJsonInt","nameLocation":"31715:12:19","parameters":{"id":13601,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13598,"mutability":"mutable","name":"json","nameLocation":"31744:4:19","nodeType":"VariableDeclaration","scope":13605,"src":"31728:20:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13597,"name":"string","nodeType":"ElementaryTypeName","src":"31728:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13600,"mutability":"mutable","name":"key","nameLocation":"31766:3:19","nodeType":"VariableDeclaration","scope":13605,"src":"31750:19:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13599,"name":"string","nodeType":"ElementaryTypeName","src":"31750:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"31727:43:19"},"returnParameters":{"id":13604,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13603,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13605,"src":"31794:6:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":13602,"name":"int256","nodeType":"ElementaryTypeName","src":"31794:6:19","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"31793:8:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13616,"nodeType":"FunctionDefinition","src":"31884:110:19","nodes":[],"documentation":{"id":13606,"nodeType":"StructuredDocumentation","src":"31808:71:19","text":"Parses a string of JSON data at `key` and coerces it to `int256[]`."},"functionSelector":"9983c28a","implemented":false,"kind":"function","modifiers":[],"name":"parseJsonIntArray","nameLocation":"31893:17:19","parameters":{"id":13611,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13608,"mutability":"mutable","name":"json","nameLocation":"31927:4:19","nodeType":"VariableDeclaration","scope":13616,"src":"31911:20:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13607,"name":"string","nodeType":"ElementaryTypeName","src":"31911:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13610,"mutability":"mutable","name":"key","nameLocation":"31949:3:19","nodeType":"VariableDeclaration","scope":13616,"src":"31933:19:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13609,"name":"string","nodeType":"ElementaryTypeName","src":"31933:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"31910:43:19"},"returnParameters":{"id":13615,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13614,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13616,"src":"31977:15:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":13612,"name":"int256","nodeType":"ElementaryTypeName","src":"31977:6:19","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":13613,"nodeType":"ArrayTypeName","src":"31977:8:19","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"31976:17:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13627,"nodeType":"FunctionDefinition","src":"32059:111:19","nodes":[],"documentation":{"id":13617,"nodeType":"StructuredDocumentation","src":"32000:54:19","text":"Returns an array of all the keys in a JSON object."},"functionSelector":"213e4198","implemented":false,"kind":"function","modifiers":[],"name":"parseJsonKeys","nameLocation":"32068:13:19","parameters":{"id":13622,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13619,"mutability":"mutable","name":"json","nameLocation":"32098:4:19","nodeType":"VariableDeclaration","scope":13627,"src":"32082:20:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13618,"name":"string","nodeType":"ElementaryTypeName","src":"32082:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13621,"mutability":"mutable","name":"key","nameLocation":"32120:3:19","nodeType":"VariableDeclaration","scope":13627,"src":"32104:19:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13620,"name":"string","nodeType":"ElementaryTypeName","src":"32104:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"32081:43:19"},"returnParameters":{"id":13626,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13625,"mutability":"mutable","name":"keys","nameLocation":"32164:4:19","nodeType":"VariableDeclaration","scope":13627,"src":"32148:20:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":13623,"name":"string","nodeType":"ElementaryTypeName","src":"32148:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":13624,"nodeType":"ArrayTypeName","src":"32148:8:19","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"32147:22:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13637,"nodeType":"FunctionDefinition","src":"32250:106:19","nodes":[],"documentation":{"id":13628,"nodeType":"StructuredDocumentation","src":"32176:69:19","text":"Parses a string of JSON data at `key` and coerces it to `string`."},"functionSelector":"49c4fac8","implemented":false,"kind":"function","modifiers":[],"name":"parseJsonString","nameLocation":"32259:15:19","parameters":{"id":13633,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13630,"mutability":"mutable","name":"json","nameLocation":"32291:4:19","nodeType":"VariableDeclaration","scope":13637,"src":"32275:20:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13629,"name":"string","nodeType":"ElementaryTypeName","src":"32275:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13632,"mutability":"mutable","name":"key","nameLocation":"32313:3:19","nodeType":"VariableDeclaration","scope":13637,"src":"32297:19:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13631,"name":"string","nodeType":"ElementaryTypeName","src":"32297:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"32274:43:19"},"returnParameters":{"id":13636,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13635,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13637,"src":"32341:13:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13634,"name":"string","nodeType":"ElementaryTypeName","src":"32341:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"32340:15:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13648,"nodeType":"FunctionDefinition","src":"32438:113:19","nodes":[],"documentation":{"id":13638,"nodeType":"StructuredDocumentation","src":"32362:71:19","text":"Parses a string of JSON data at `key` and coerces it to `string[]`."},"functionSelector":"498fdcf4","implemented":false,"kind":"function","modifiers":[],"name":"parseJsonStringArray","nameLocation":"32447:20:19","parameters":{"id":13643,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13640,"mutability":"mutable","name":"json","nameLocation":"32484:4:19","nodeType":"VariableDeclaration","scope":13648,"src":"32468:20:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13639,"name":"string","nodeType":"ElementaryTypeName","src":"32468:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13642,"mutability":"mutable","name":"key","nameLocation":"32506:3:19","nodeType":"VariableDeclaration","scope":13648,"src":"32490:19:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13641,"name":"string","nodeType":"ElementaryTypeName","src":"32490:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"32467:43:19"},"returnParameters":{"id":13647,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13646,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13648,"src":"32534:15:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":13644,"name":"string","nodeType":"ElementaryTypeName","src":"32534:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":13645,"nodeType":"ArrayTypeName","src":"32534:8:19","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"32533:17:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13658,"nodeType":"FunctionDefinition","src":"32632:98:19","nodes":[],"documentation":{"id":13649,"nodeType":"StructuredDocumentation","src":"32557:70:19","text":"Parses a string of JSON data at `key` and coerces it to `uint256`."},"functionSelector":"addde2b6","implemented":false,"kind":"function","modifiers":[],"name":"parseJsonUint","nameLocation":"32641:13:19","parameters":{"id":13654,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13651,"mutability":"mutable","name":"json","nameLocation":"32671:4:19","nodeType":"VariableDeclaration","scope":13658,"src":"32655:20:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13650,"name":"string","nodeType":"ElementaryTypeName","src":"32655:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13653,"mutability":"mutable","name":"key","nameLocation":"32693:3:19","nodeType":"VariableDeclaration","scope":13658,"src":"32677:19:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13652,"name":"string","nodeType":"ElementaryTypeName","src":"32677:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"32654:43:19"},"returnParameters":{"id":13657,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13656,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13658,"src":"32721:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13655,"name":"uint256","nodeType":"ElementaryTypeName","src":"32721:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"32720:9:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13669,"nodeType":"FunctionDefinition","src":"32813:112:19","nodes":[],"documentation":{"id":13659,"nodeType":"StructuredDocumentation","src":"32736:72:19","text":"Parses a string of JSON data at `key` and coerces it to `uint256[]`."},"functionSelector":"522074ab","implemented":false,"kind":"function","modifiers":[],"name":"parseJsonUintArray","nameLocation":"32822:18:19","parameters":{"id":13664,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13661,"mutability":"mutable","name":"json","nameLocation":"32857:4:19","nodeType":"VariableDeclaration","scope":13669,"src":"32841:20:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13660,"name":"string","nodeType":"ElementaryTypeName","src":"32841:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13663,"mutability":"mutable","name":"key","nameLocation":"32879:3:19","nodeType":"VariableDeclaration","scope":13669,"src":"32863:19:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13662,"name":"string","nodeType":"ElementaryTypeName","src":"32863:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"32840:43:19"},"returnParameters":{"id":13668,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13667,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13669,"src":"32907:16:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":13665,"name":"uint256","nodeType":"ElementaryTypeName","src":"32907:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":13666,"nodeType":"ArrayTypeName","src":"32907:9:19","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"32906:18:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13677,"nodeType":"FunctionDefinition","src":"32966:93:19","nodes":[],"documentation":{"id":13670,"nodeType":"StructuredDocumentation","src":"32931:30:19","text":"ABI-encodes a JSON object."},"functionSelector":"6a82600a","implemented":false,"kind":"function","modifiers":[],"name":"parseJson","nameLocation":"32975:9:19","parameters":{"id":13673,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13672,"mutability":"mutable","name":"json","nameLocation":"33001:4:19","nodeType":"VariableDeclaration","scope":13677,"src":"32985:20:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13671,"name":"string","nodeType":"ElementaryTypeName","src":"32985:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"32984:22:19"},"returnParameters":{"id":13676,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13675,"mutability":"mutable","name":"abiEncodedData","nameLocation":"33043:14:19","nodeType":"VariableDeclaration","scope":13677,"src":"33030:27:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":13674,"name":"bytes","nodeType":"ElementaryTypeName","src":"33030:5:19","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"33029:29:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13687,"nodeType":"FunctionDefinition","src":"33109:114:19","nodes":[],"documentation":{"id":13678,"nodeType":"StructuredDocumentation","src":"33065:39:19","text":"ABI-encodes a JSON object at `key`."},"functionSelector":"85940ef1","implemented":false,"kind":"function","modifiers":[],"name":"parseJson","nameLocation":"33118:9:19","parameters":{"id":13683,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13680,"mutability":"mutable","name":"json","nameLocation":"33144:4:19","nodeType":"VariableDeclaration","scope":13687,"src":"33128:20:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13679,"name":"string","nodeType":"ElementaryTypeName","src":"33128:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13682,"mutability":"mutable","name":"key","nameLocation":"33166:3:19","nodeType":"VariableDeclaration","scope":13687,"src":"33150:19:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13681,"name":"string","nodeType":"ElementaryTypeName","src":"33150:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"33127:43:19"},"returnParameters":{"id":13686,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13685,"mutability":"mutable","name":"abiEncodedData","nameLocation":"33207:14:19","nodeType":"VariableDeclaration","scope":13687,"src":"33194:27:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":13684,"name":"bytes","nodeType":"ElementaryTypeName","src":"33194:5:19","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"33193:29:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13699,"nodeType":"FunctionDefinition","src":"33258:148:19","nodes":[],"documentation":{"id":13688,"nodeType":"StructuredDocumentation","src":"33229:24:19","text":"See `serializeJson`."},"functionSelector":"972c6062","implemented":false,"kind":"function","modifiers":[],"name":"serializeAddress","nameLocation":"33267:16:19","parameters":{"id":13695,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13690,"mutability":"mutable","name":"objectKey","nameLocation":"33300:9:19","nodeType":"VariableDeclaration","scope":13699,"src":"33284:25:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13689,"name":"string","nodeType":"ElementaryTypeName","src":"33284:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13692,"mutability":"mutable","name":"valueKey","nameLocation":"33327:8:19","nodeType":"VariableDeclaration","scope":13699,"src":"33311:24:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13691,"name":"string","nodeType":"ElementaryTypeName","src":"33311:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13694,"mutability":"mutable","name":"value","nameLocation":"33345:5:19","nodeType":"VariableDeclaration","scope":13699,"src":"33337:13:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13693,"name":"address","nodeType":"ElementaryTypeName","src":"33337:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"33283:68:19"},"returnParameters":{"id":13698,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13697,"mutability":"mutable","name":"json","nameLocation":"33400:4:19","nodeType":"VariableDeclaration","scope":13699,"src":"33386:18:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13696,"name":"string","nodeType":"ElementaryTypeName","src":"33386:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"33385:20:19"},"scope":15724,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13712,"nodeType":"FunctionDefinition","src":"33441:160:19","nodes":[],"documentation":{"id":13700,"nodeType":"StructuredDocumentation","src":"33412:24:19","text":"See `serializeJson`."},"functionSelector":"1e356e1a","implemented":false,"kind":"function","modifiers":[],"name":"serializeAddress","nameLocation":"33450:16:19","parameters":{"id":13708,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13702,"mutability":"mutable","name":"objectKey","nameLocation":"33483:9:19","nodeType":"VariableDeclaration","scope":13712,"src":"33467:25:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13701,"name":"string","nodeType":"ElementaryTypeName","src":"33467:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13704,"mutability":"mutable","name":"valueKey","nameLocation":"33510:8:19","nodeType":"VariableDeclaration","scope":13712,"src":"33494:24:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13703,"name":"string","nodeType":"ElementaryTypeName","src":"33494:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13707,"mutability":"mutable","name":"values","nameLocation":"33539:6:19","nodeType":"VariableDeclaration","scope":13712,"src":"33520:25:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":13705,"name":"address","nodeType":"ElementaryTypeName","src":"33520:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":13706,"nodeType":"ArrayTypeName","src":"33520:9:19","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"33466:80:19"},"returnParameters":{"id":13711,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13710,"mutability":"mutable","name":"json","nameLocation":"33595:4:19","nodeType":"VariableDeclaration","scope":13712,"src":"33581:18:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13709,"name":"string","nodeType":"ElementaryTypeName","src":"33581:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"33580:20:19"},"scope":15724,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13724,"nodeType":"FunctionDefinition","src":"33636:142:19","nodes":[],"documentation":{"id":13713,"nodeType":"StructuredDocumentation","src":"33607:24:19","text":"See `serializeJson`."},"functionSelector":"ac22e971","implemented":false,"kind":"function","modifiers":[],"name":"serializeBool","nameLocation":"33645:13:19","parameters":{"id":13720,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13715,"mutability":"mutable","name":"objectKey","nameLocation":"33675:9:19","nodeType":"VariableDeclaration","scope":13724,"src":"33659:25:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13714,"name":"string","nodeType":"ElementaryTypeName","src":"33659:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13717,"mutability":"mutable","name":"valueKey","nameLocation":"33702:8:19","nodeType":"VariableDeclaration","scope":13724,"src":"33686:24:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13716,"name":"string","nodeType":"ElementaryTypeName","src":"33686:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13719,"mutability":"mutable","name":"value","nameLocation":"33717:5:19","nodeType":"VariableDeclaration","scope":13724,"src":"33712:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13718,"name":"bool","nodeType":"ElementaryTypeName","src":"33712:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"33658:65:19"},"returnParameters":{"id":13723,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13722,"mutability":"mutable","name":"json","nameLocation":"33772:4:19","nodeType":"VariableDeclaration","scope":13724,"src":"33758:18:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13721,"name":"string","nodeType":"ElementaryTypeName","src":"33758:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"33757:20:19"},"scope":15724,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13737,"nodeType":"FunctionDefinition","src":"33813:154:19","nodes":[],"documentation":{"id":13725,"nodeType":"StructuredDocumentation","src":"33784:24:19","text":"See `serializeJson`."},"functionSelector":"92925aa1","implemented":false,"kind":"function","modifiers":[],"name":"serializeBool","nameLocation":"33822:13:19","parameters":{"id":13733,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13727,"mutability":"mutable","name":"objectKey","nameLocation":"33852:9:19","nodeType":"VariableDeclaration","scope":13737,"src":"33836:25:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13726,"name":"string","nodeType":"ElementaryTypeName","src":"33836:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13729,"mutability":"mutable","name":"valueKey","nameLocation":"33879:8:19","nodeType":"VariableDeclaration","scope":13737,"src":"33863:24:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13728,"name":"string","nodeType":"ElementaryTypeName","src":"33863:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13732,"mutability":"mutable","name":"values","nameLocation":"33905:6:19","nodeType":"VariableDeclaration","scope":13737,"src":"33889:22:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_calldata_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":13730,"name":"bool","nodeType":"ElementaryTypeName","src":"33889:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":13731,"nodeType":"ArrayTypeName","src":"33889:6:19","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"}],"src":"33835:77:19"},"returnParameters":{"id":13736,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13735,"mutability":"mutable","name":"json","nameLocation":"33961:4:19","nodeType":"VariableDeclaration","scope":13737,"src":"33947:18:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13734,"name":"string","nodeType":"ElementaryTypeName","src":"33947:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"33946:20:19"},"scope":15724,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13749,"nodeType":"FunctionDefinition","src":"34002:148:19","nodes":[],"documentation":{"id":13738,"nodeType":"StructuredDocumentation","src":"33973:24:19","text":"See `serializeJson`."},"functionSelector":"2d812b44","implemented":false,"kind":"function","modifiers":[],"name":"serializeBytes32","nameLocation":"34011:16:19","parameters":{"id":13745,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13740,"mutability":"mutable","name":"objectKey","nameLocation":"34044:9:19","nodeType":"VariableDeclaration","scope":13749,"src":"34028:25:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13739,"name":"string","nodeType":"ElementaryTypeName","src":"34028:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13742,"mutability":"mutable","name":"valueKey","nameLocation":"34071:8:19","nodeType":"VariableDeclaration","scope":13749,"src":"34055:24:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13741,"name":"string","nodeType":"ElementaryTypeName","src":"34055:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13744,"mutability":"mutable","name":"value","nameLocation":"34089:5:19","nodeType":"VariableDeclaration","scope":13749,"src":"34081:13:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13743,"name":"bytes32","nodeType":"ElementaryTypeName","src":"34081:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"34027:68:19"},"returnParameters":{"id":13748,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13747,"mutability":"mutable","name":"json","nameLocation":"34144:4:19","nodeType":"VariableDeclaration","scope":13749,"src":"34130:18:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13746,"name":"string","nodeType":"ElementaryTypeName","src":"34130:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"34129:20:19"},"scope":15724,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13762,"nodeType":"FunctionDefinition","src":"34185:160:19","nodes":[],"documentation":{"id":13750,"nodeType":"StructuredDocumentation","src":"34156:24:19","text":"See `serializeJson`."},"functionSelector":"201e43e2","implemented":false,"kind":"function","modifiers":[],"name":"serializeBytes32","nameLocation":"34194:16:19","parameters":{"id":13758,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13752,"mutability":"mutable","name":"objectKey","nameLocation":"34227:9:19","nodeType":"VariableDeclaration","scope":13762,"src":"34211:25:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13751,"name":"string","nodeType":"ElementaryTypeName","src":"34211:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13754,"mutability":"mutable","name":"valueKey","nameLocation":"34254:8:19","nodeType":"VariableDeclaration","scope":13762,"src":"34238:24:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13753,"name":"string","nodeType":"ElementaryTypeName","src":"34238:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13757,"mutability":"mutable","name":"values","nameLocation":"34283:6:19","nodeType":"VariableDeclaration","scope":13762,"src":"34264:25:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_calldata_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":13755,"name":"bytes32","nodeType":"ElementaryTypeName","src":"34264:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":13756,"nodeType":"ArrayTypeName","src":"34264:9:19","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"34210:80:19"},"returnParameters":{"id":13761,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13760,"mutability":"mutable","name":"json","nameLocation":"34339:4:19","nodeType":"VariableDeclaration","scope":13762,"src":"34325:18:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13759,"name":"string","nodeType":"ElementaryTypeName","src":"34325:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"34324:20:19"},"scope":15724,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13774,"nodeType":"FunctionDefinition","src":"34380:153:19","nodes":[],"documentation":{"id":13763,"nodeType":"StructuredDocumentation","src":"34351:24:19","text":"See `serializeJson`."},"functionSelector":"f21d52c7","implemented":false,"kind":"function","modifiers":[],"name":"serializeBytes","nameLocation":"34389:14:19","parameters":{"id":13770,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13765,"mutability":"mutable","name":"objectKey","nameLocation":"34420:9:19","nodeType":"VariableDeclaration","scope":13774,"src":"34404:25:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13764,"name":"string","nodeType":"ElementaryTypeName","src":"34404:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13767,"mutability":"mutable","name":"valueKey","nameLocation":"34447:8:19","nodeType":"VariableDeclaration","scope":13774,"src":"34431:24:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13766,"name":"string","nodeType":"ElementaryTypeName","src":"34431:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13769,"mutability":"mutable","name":"value","nameLocation":"34472:5:19","nodeType":"VariableDeclaration","scope":13774,"src":"34457:20:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":13768,"name":"bytes","nodeType":"ElementaryTypeName","src":"34457:5:19","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"34403:75:19"},"returnParameters":{"id":13773,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13772,"mutability":"mutable","name":"json","nameLocation":"34527:4:19","nodeType":"VariableDeclaration","scope":13774,"src":"34513:18:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13771,"name":"string","nodeType":"ElementaryTypeName","src":"34513:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"34512:20:19"},"scope":15724,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13787,"nodeType":"FunctionDefinition","src":"34568:156:19","nodes":[],"documentation":{"id":13775,"nodeType":"StructuredDocumentation","src":"34539:24:19","text":"See `serializeJson`."},"functionSelector":"9884b232","implemented":false,"kind":"function","modifiers":[],"name":"serializeBytes","nameLocation":"34577:14:19","parameters":{"id":13783,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13777,"mutability":"mutable","name":"objectKey","nameLocation":"34608:9:19","nodeType":"VariableDeclaration","scope":13787,"src":"34592:25:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13776,"name":"string","nodeType":"ElementaryTypeName","src":"34592:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13779,"mutability":"mutable","name":"valueKey","nameLocation":"34635:8:19","nodeType":"VariableDeclaration","scope":13787,"src":"34619:24:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13778,"name":"string","nodeType":"ElementaryTypeName","src":"34619:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13782,"mutability":"mutable","name":"values","nameLocation":"34662:6:19","nodeType":"VariableDeclaration","scope":13787,"src":"34645:23:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":13780,"name":"bytes","nodeType":"ElementaryTypeName","src":"34645:5:19","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":13781,"nodeType":"ArrayTypeName","src":"34645:7:19","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"34591:78:19"},"returnParameters":{"id":13786,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13785,"mutability":"mutable","name":"json","nameLocation":"34718:4:19","nodeType":"VariableDeclaration","scope":13787,"src":"34704:18:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13784,"name":"string","nodeType":"ElementaryTypeName","src":"34704:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"34703:20:19"},"scope":15724,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13799,"nodeType":"FunctionDefinition","src":"34759:143:19","nodes":[],"documentation":{"id":13788,"nodeType":"StructuredDocumentation","src":"34730:24:19","text":"See `serializeJson`."},"functionSelector":"3f33db60","implemented":false,"kind":"function","modifiers":[],"name":"serializeInt","nameLocation":"34768:12:19","parameters":{"id":13795,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13790,"mutability":"mutable","name":"objectKey","nameLocation":"34797:9:19","nodeType":"VariableDeclaration","scope":13799,"src":"34781:25:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13789,"name":"string","nodeType":"ElementaryTypeName","src":"34781:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13792,"mutability":"mutable","name":"valueKey","nameLocation":"34824:8:19","nodeType":"VariableDeclaration","scope":13799,"src":"34808:24:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13791,"name":"string","nodeType":"ElementaryTypeName","src":"34808:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13794,"mutability":"mutable","name":"value","nameLocation":"34841:5:19","nodeType":"VariableDeclaration","scope":13799,"src":"34834:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":13793,"name":"int256","nodeType":"ElementaryTypeName","src":"34834:6:19","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"34780:67:19"},"returnParameters":{"id":13798,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13797,"mutability":"mutable","name":"json","nameLocation":"34896:4:19","nodeType":"VariableDeclaration","scope":13799,"src":"34882:18:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13796,"name":"string","nodeType":"ElementaryTypeName","src":"34882:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"34881:20:19"},"scope":15724,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13812,"nodeType":"FunctionDefinition","src":"34937:155:19","nodes":[],"documentation":{"id":13800,"nodeType":"StructuredDocumentation","src":"34908:24:19","text":"See `serializeJson`."},"functionSelector":"7676e127","implemented":false,"kind":"function","modifiers":[],"name":"serializeInt","nameLocation":"34946:12:19","parameters":{"id":13808,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13802,"mutability":"mutable","name":"objectKey","nameLocation":"34975:9:19","nodeType":"VariableDeclaration","scope":13812,"src":"34959:25:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13801,"name":"string","nodeType":"ElementaryTypeName","src":"34959:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13804,"mutability":"mutable","name":"valueKey","nameLocation":"35002:8:19","nodeType":"VariableDeclaration","scope":13812,"src":"34986:24:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13803,"name":"string","nodeType":"ElementaryTypeName","src":"34986:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13807,"mutability":"mutable","name":"values","nameLocation":"35030:6:19","nodeType":"VariableDeclaration","scope":13812,"src":"35012:24:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_calldata_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":13805,"name":"int256","nodeType":"ElementaryTypeName","src":"35012:6:19","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":13806,"nodeType":"ArrayTypeName","src":"35012:8:19","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"34958:79:19"},"returnParameters":{"id":13811,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13810,"mutability":"mutable","name":"json","nameLocation":"35086:4:19","nodeType":"VariableDeclaration","scope":13812,"src":"35072:18:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13809,"name":"string","nodeType":"ElementaryTypeName","src":"35072:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"35071:20:19"},"scope":15724,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13822,"nodeType":"FunctionDefinition","src":"35289:111:19","nodes":[],"documentation":{"id":13813,"nodeType":"StructuredDocumentation","src":"35098:186:19","text":"Serializes a key and value to a JSON object stored in-memory that can be later written to a file.\n Returns the stringified version of the specific JSON file up to that moment."},"functionSelector":"9b3358b0","implemented":false,"kind":"function","modifiers":[],"name":"serializeJson","nameLocation":"35298:13:19","parameters":{"id":13818,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13815,"mutability":"mutable","name":"objectKey","nameLocation":"35328:9:19","nodeType":"VariableDeclaration","scope":13822,"src":"35312:25:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13814,"name":"string","nodeType":"ElementaryTypeName","src":"35312:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13817,"mutability":"mutable","name":"value","nameLocation":"35355:5:19","nodeType":"VariableDeclaration","scope":13822,"src":"35339:21:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13816,"name":"string","nodeType":"ElementaryTypeName","src":"35339:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"35311:50:19"},"returnParameters":{"id":13821,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13820,"mutability":"mutable","name":"json","nameLocation":"35394:4:19","nodeType":"VariableDeclaration","scope":13822,"src":"35380:18:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13819,"name":"string","nodeType":"ElementaryTypeName","src":"35380:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"35379:20:19"},"scope":15724,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13834,"nodeType":"FunctionDefinition","src":"35435:155:19","nodes":[],"documentation":{"id":13823,"nodeType":"StructuredDocumentation","src":"35406:24:19","text":"See `serializeJson`."},"functionSelector":"88da6d35","implemented":false,"kind":"function","modifiers":[],"name":"serializeString","nameLocation":"35444:15:19","parameters":{"id":13830,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13825,"mutability":"mutable","name":"objectKey","nameLocation":"35476:9:19","nodeType":"VariableDeclaration","scope":13834,"src":"35460:25:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13824,"name":"string","nodeType":"ElementaryTypeName","src":"35460:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13827,"mutability":"mutable","name":"valueKey","nameLocation":"35503:8:19","nodeType":"VariableDeclaration","scope":13834,"src":"35487:24:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13826,"name":"string","nodeType":"ElementaryTypeName","src":"35487:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13829,"mutability":"mutable","name":"value","nameLocation":"35529:5:19","nodeType":"VariableDeclaration","scope":13834,"src":"35513:21:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13828,"name":"string","nodeType":"ElementaryTypeName","src":"35513:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"35459:76:19"},"returnParameters":{"id":13833,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13832,"mutability":"mutable","name":"json","nameLocation":"35584:4:19","nodeType":"VariableDeclaration","scope":13834,"src":"35570:18:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13831,"name":"string","nodeType":"ElementaryTypeName","src":"35570:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"35569:20:19"},"scope":15724,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13847,"nodeType":"FunctionDefinition","src":"35625:158:19","nodes":[],"documentation":{"id":13835,"nodeType":"StructuredDocumentation","src":"35596:24:19","text":"See `serializeJson`."},"functionSelector":"561cd6f3","implemented":false,"kind":"function","modifiers":[],"name":"serializeString","nameLocation":"35634:15:19","parameters":{"id":13843,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13837,"mutability":"mutable","name":"objectKey","nameLocation":"35666:9:19","nodeType":"VariableDeclaration","scope":13847,"src":"35650:25:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13836,"name":"string","nodeType":"ElementaryTypeName","src":"35650:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13839,"mutability":"mutable","name":"valueKey","nameLocation":"35693:8:19","nodeType":"VariableDeclaration","scope":13847,"src":"35677:24:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13838,"name":"string","nodeType":"ElementaryTypeName","src":"35677:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13842,"mutability":"mutable","name":"values","nameLocation":"35721:6:19","nodeType":"VariableDeclaration","scope":13847,"src":"35703:24:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_string_calldata_ptr_$dyn_calldata_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":13840,"name":"string","nodeType":"ElementaryTypeName","src":"35703:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":13841,"nodeType":"ArrayTypeName","src":"35703:8:19","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"35649:79:19"},"returnParameters":{"id":13846,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13845,"mutability":"mutable","name":"json","nameLocation":"35777:4:19","nodeType":"VariableDeclaration","scope":13847,"src":"35763:18:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13844,"name":"string","nodeType":"ElementaryTypeName","src":"35763:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"35762:20:19"},"scope":15724,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13859,"nodeType":"FunctionDefinition","src":"35818:150:19","nodes":[],"documentation":{"id":13848,"nodeType":"StructuredDocumentation","src":"35789:24:19","text":"See `serializeJson`."},"functionSelector":"ae5a2ae8","implemented":false,"kind":"function","modifiers":[],"name":"serializeUintToHex","nameLocation":"35827:18:19","parameters":{"id":13855,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13850,"mutability":"mutable","name":"objectKey","nameLocation":"35862:9:19","nodeType":"VariableDeclaration","scope":13859,"src":"35846:25:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13849,"name":"string","nodeType":"ElementaryTypeName","src":"35846:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13852,"mutability":"mutable","name":"valueKey","nameLocation":"35889:8:19","nodeType":"VariableDeclaration","scope":13859,"src":"35873:24:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13851,"name":"string","nodeType":"ElementaryTypeName","src":"35873:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13854,"mutability":"mutable","name":"value","nameLocation":"35907:5:19","nodeType":"VariableDeclaration","scope":13859,"src":"35899:13:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13853,"name":"uint256","nodeType":"ElementaryTypeName","src":"35899:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"35845:68:19"},"returnParameters":{"id":13858,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13857,"mutability":"mutable","name":"json","nameLocation":"35962:4:19","nodeType":"VariableDeclaration","scope":13859,"src":"35948:18:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13856,"name":"string","nodeType":"ElementaryTypeName","src":"35948:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"35947:20:19"},"scope":15724,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13871,"nodeType":"FunctionDefinition","src":"36003:145:19","nodes":[],"documentation":{"id":13860,"nodeType":"StructuredDocumentation","src":"35974:24:19","text":"See `serializeJson`."},"functionSelector":"129e9002","implemented":false,"kind":"function","modifiers":[],"name":"serializeUint","nameLocation":"36012:13:19","parameters":{"id":13867,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13862,"mutability":"mutable","name":"objectKey","nameLocation":"36042:9:19","nodeType":"VariableDeclaration","scope":13871,"src":"36026:25:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13861,"name":"string","nodeType":"ElementaryTypeName","src":"36026:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13864,"mutability":"mutable","name":"valueKey","nameLocation":"36069:8:19","nodeType":"VariableDeclaration","scope":13871,"src":"36053:24:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13863,"name":"string","nodeType":"ElementaryTypeName","src":"36053:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13866,"mutability":"mutable","name":"value","nameLocation":"36087:5:19","nodeType":"VariableDeclaration","scope":13871,"src":"36079:13:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13865,"name":"uint256","nodeType":"ElementaryTypeName","src":"36079:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"36025:68:19"},"returnParameters":{"id":13870,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13869,"mutability":"mutable","name":"json","nameLocation":"36142:4:19","nodeType":"VariableDeclaration","scope":13871,"src":"36128:18:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13868,"name":"string","nodeType":"ElementaryTypeName","src":"36128:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"36127:20:19"},"scope":15724,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13884,"nodeType":"FunctionDefinition","src":"36183:157:19","nodes":[],"documentation":{"id":13872,"nodeType":"StructuredDocumentation","src":"36154:24:19","text":"See `serializeJson`."},"functionSelector":"fee9a469","implemented":false,"kind":"function","modifiers":[],"name":"serializeUint","nameLocation":"36192:13:19","parameters":{"id":13880,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13874,"mutability":"mutable","name":"objectKey","nameLocation":"36222:9:19","nodeType":"VariableDeclaration","scope":13884,"src":"36206:25:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13873,"name":"string","nodeType":"ElementaryTypeName","src":"36206:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13876,"mutability":"mutable","name":"valueKey","nameLocation":"36249:8:19","nodeType":"VariableDeclaration","scope":13884,"src":"36233:24:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13875,"name":"string","nodeType":"ElementaryTypeName","src":"36233:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13879,"mutability":"mutable","name":"values","nameLocation":"36278:6:19","nodeType":"VariableDeclaration","scope":13884,"src":"36259:25:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":13877,"name":"uint256","nodeType":"ElementaryTypeName","src":"36259:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":13878,"nodeType":"ArrayTypeName","src":"36259:9:19","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"36205:80:19"},"returnParameters":{"id":13883,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13882,"mutability":"mutable","name":"json","nameLocation":"36334:4:19","nodeType":"VariableDeclaration","scope":13884,"src":"36320:18:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13881,"name":"string","nodeType":"ElementaryTypeName","src":"36320:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"36319:20:19"},"scope":15724,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13892,"nodeType":"FunctionDefinition","src":"36440:72:19","nodes":[],"documentation":{"id":13885,"nodeType":"StructuredDocumentation","src":"36346:89:19","text":"Write a serialized JSON object to a file. If the file exists, it will be overwritten."},"functionSelector":"e23cd19f","implemented":false,"kind":"function","modifiers":[],"name":"writeJson","nameLocation":"36449:9:19","parameters":{"id":13890,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13887,"mutability":"mutable","name":"json","nameLocation":"36475:4:19","nodeType":"VariableDeclaration","scope":13892,"src":"36459:20:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13886,"name":"string","nodeType":"ElementaryTypeName","src":"36459:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13889,"mutability":"mutable","name":"path","nameLocation":"36497:4:19","nodeType":"VariableDeclaration","scope":13892,"src":"36481:20:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13888,"name":"string","nodeType":"ElementaryTypeName","src":"36481:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"36458:44:19"},"returnParameters":{"id":13891,"nodeType":"ParameterList","parameters":[],"src":"36511:0:19"},"scope":15724,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13902,"nodeType":"FunctionDefinition","src":"36738:98:19","nodes":[],"documentation":{"id":13893,"nodeType":"StructuredDocumentation","src":"36518:215:19","text":"Write a serialized JSON object to an **existing** JSON file, replacing a value with key = <value_key.>\n This is useful to replace a specific value of a JSON file, without having to parse the entire thing."},"functionSelector":"35d6ad46","implemented":false,"kind":"function","modifiers":[],"name":"writeJson","nameLocation":"36747:9:19","parameters":{"id":13900,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13895,"mutability":"mutable","name":"json","nameLocation":"36773:4:19","nodeType":"VariableDeclaration","scope":13902,"src":"36757:20:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13894,"name":"string","nodeType":"ElementaryTypeName","src":"36757:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13897,"mutability":"mutable","name":"path","nameLocation":"36795:4:19","nodeType":"VariableDeclaration","scope":13902,"src":"36779:20:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13896,"name":"string","nodeType":"ElementaryTypeName","src":"36779:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13899,"mutability":"mutable","name":"valueKey","nameLocation":"36817:8:19","nodeType":"VariableDeclaration","scope":13902,"src":"36801:24:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13898,"name":"string","nodeType":"ElementaryTypeName","src":"36801:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"36756:70:19"},"returnParameters":{"id":13901,"nodeType":"ParameterList","parameters":[],"src":"36835:0:19"},"scope":15724,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13906,"nodeType":"FunctionDefinition","src":"37375:30:19","nodes":[],"documentation":{"id":13903,"nodeType":"StructuredDocumentation","src":"36878:492:19","text":"Has the next call (at this call depth only) create transactions that can later be signed and sent onchain.\n Broadcasting address is determined by checking the following in order:\n 1. If `--sender` argument was provided, that address is used.\n 2. If exactly one signer (e.g. private key, hw wallet, keystore) is set when `forge broadcast` is invoked, that signer is used.\n 3. Otherwise, default foundry sender (1804c8AB1F12E6bbf3894d4083f33e07309d1f38) is used."},"functionSelector":"afc98040","implemented":false,"kind":"function","modifiers":[],"name":"broadcast","nameLocation":"37384:9:19","parameters":{"id":13904,"nodeType":"ParameterList","parameters":[],"src":"37393:2:19"},"returnParameters":{"id":13905,"nodeType":"ParameterList","parameters":[],"src":"37404:0:19"},"scope":15724,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13912,"nodeType":"FunctionDefinition","src":"37575:44:19","nodes":[],"documentation":{"id":13907,"nodeType":"StructuredDocumentation","src":"37411:159:19","text":"Has the next call (at this call depth only) create a transaction with the address provided\n as the sender that can later be signed and sent onchain."},"functionSelector":"e6962cdb","implemented":false,"kind":"function","modifiers":[],"name":"broadcast","nameLocation":"37584:9:19","parameters":{"id":13910,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13909,"mutability":"mutable","name":"signer","nameLocation":"37602:6:19","nodeType":"VariableDeclaration","scope":13912,"src":"37594:14:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13908,"name":"address","nodeType":"ElementaryTypeName","src":"37594:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"37593:16:19"},"returnParameters":{"id":13911,"nodeType":"ParameterList","parameters":[],"src":"37618:0:19"},"scope":15724,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13918,"nodeType":"FunctionDefinition","src":"37793:48:19","nodes":[],"documentation":{"id":13913,"nodeType":"StructuredDocumentation","src":"37625:163:19","text":"Has the next call (at this call depth only) create a transaction with the private key\n provided as the sender that can later be signed and sent onchain."},"functionSelector":"f67a965b","implemented":false,"kind":"function","modifiers":[],"name":"broadcast","nameLocation":"37802:9:19","parameters":{"id":13916,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13915,"mutability":"mutable","name":"privateKey","nameLocation":"37820:10:19","nodeType":"VariableDeclaration","scope":13918,"src":"37812:18:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13914,"name":"uint256","nodeType":"ElementaryTypeName","src":"37812:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"37811:20:19"},"returnParameters":{"id":13917,"nodeType":"ParameterList","parameters":[],"src":"37840:0:19"},"scope":15724,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13922,"nodeType":"FunctionDefinition","src":"38351:35:19","nodes":[],"documentation":{"id":13919,"nodeType":"StructuredDocumentation","src":"37847:499:19","text":"Has all subsequent calls (at this call depth only) create transactions that can later be signed and sent onchain.\n Broadcasting address is determined by checking the following in order:\n 1. If `--sender` argument was provided, that address is used.\n 2. If exactly one signer (e.g. private key, hw wallet, keystore) is set when `forge broadcast` is invoked, that signer is used.\n 3. Otherwise, default foundry sender (1804c8AB1F12E6bbf3894d4083f33e07309d1f38) is used."},"functionSelector":"7fb5297f","implemented":false,"kind":"function","modifiers":[],"name":"startBroadcast","nameLocation":"38360:14:19","parameters":{"id":13920,"nodeType":"ParameterList","parameters":[],"src":"38374:2:19"},"returnParameters":{"id":13921,"nodeType":"ParameterList","parameters":[],"src":"38385:0:19"},"scope":15724,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13928,"nodeType":"FunctionDefinition","src":"38548:49:19","nodes":[],"documentation":{"id":13923,"nodeType":"StructuredDocumentation","src":"38392:151:19","text":"Has all subsequent calls (at this call depth only) create transactions with the address\n provided that can later be signed and sent onchain."},"functionSelector":"7fec2a8d","implemented":false,"kind":"function","modifiers":[],"name":"startBroadcast","nameLocation":"38557:14:19","parameters":{"id":13926,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13925,"mutability":"mutable","name":"signer","nameLocation":"38580:6:19","nodeType":"VariableDeclaration","scope":13928,"src":"38572:14:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13924,"name":"address","nodeType":"ElementaryTypeName","src":"38572:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"38571:16:19"},"returnParameters":{"id":13927,"nodeType":"ParameterList","parameters":[],"src":"38596:0:19"},"scope":15724,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13934,"nodeType":"FunctionDefinition","src":"38763:53:19","nodes":[],"documentation":{"id":13929,"nodeType":"StructuredDocumentation","src":"38603:155:19","text":"Has all subsequent calls (at this call depth only) create transactions with the private key\n provided that can later be signed and sent onchain."},"functionSelector":"ce817d47","implemented":false,"kind":"function","modifiers":[],"name":"startBroadcast","nameLocation":"38772:14:19","parameters":{"id":13932,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13931,"mutability":"mutable","name":"privateKey","nameLocation":"38795:10:19","nodeType":"VariableDeclaration","scope":13934,"src":"38787:18:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13930,"name":"uint256","nodeType":"ElementaryTypeName","src":"38787:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"38786:20:19"},"returnParameters":{"id":13933,"nodeType":"ParameterList","parameters":[],"src":"38815:0:19"},"scope":15724,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13938,"nodeType":"FunctionDefinition","src":"38869:34:19","nodes":[],"documentation":{"id":13935,"nodeType":"StructuredDocumentation","src":"38822:42:19","text":"Stops collecting onchain transactions."},"functionSelector":"76eadd36","implemented":false,"kind":"function","modifiers":[],"name":"stopBroadcast","nameLocation":"38878:13:19","parameters":{"id":13936,"nodeType":"ParameterList","parameters":[],"src":"38891:2:19"},"returnParameters":{"id":13937,"nodeType":"ParameterList","parameters":[],"src":"38902:0:19"},"scope":15724,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13948,"nodeType":"FunctionDefinition","src":"39152:93:19","nodes":[],"documentation":{"id":13939,"nodeType":"StructuredDocumentation","src":"38942:205:19","text":"Returns the index of the first occurrence of a `key` in an `input` string.\n Returns `NOT_FOUND` (i.e. `type(uint256).max`) if the `key` is not found.\n Returns 0 in case of an empty `key`."},"functionSelector":"8a0807b7","implemented":false,"kind":"function","modifiers":[],"name":"indexOf","nameLocation":"39161:7:19","parameters":{"id":13944,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13941,"mutability":"mutable","name":"input","nameLocation":"39185:5:19","nodeType":"VariableDeclaration","scope":13948,"src":"39169:21:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13940,"name":"string","nodeType":"ElementaryTypeName","src":"39169:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13943,"mutability":"mutable","name":"key","nameLocation":"39208:3:19","nodeType":"VariableDeclaration","scope":13948,"src":"39192:19:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13942,"name":"string","nodeType":"ElementaryTypeName","src":"39192:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"39168:44:19"},"returnParameters":{"id":13947,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13946,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13948,"src":"39236:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13945,"name":"uint256","nodeType":"ElementaryTypeName","src":"39236:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"39235:9:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13956,"nodeType":"FunctionDefinition","src":"39304:100:19","nodes":[],"documentation":{"id":13949,"nodeType":"StructuredDocumentation","src":"39251:48:19","text":"Parses the given `string` into an `address`."},"functionSelector":"c6ce059d","implemented":false,"kind":"function","modifiers":[],"name":"parseAddress","nameLocation":"39313:12:19","parameters":{"id":13952,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13951,"mutability":"mutable","name":"stringifiedValue","nameLocation":"39342:16:19","nodeType":"VariableDeclaration","scope":13956,"src":"39326:32:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13950,"name":"string","nodeType":"ElementaryTypeName","src":"39326:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"39325:34:19"},"returnParameters":{"id":13955,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13954,"mutability":"mutable","name":"parsedValue","nameLocation":"39391:11:19","nodeType":"VariableDeclaration","scope":13956,"src":"39383:19:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13953,"name":"address","nodeType":"ElementaryTypeName","src":"39383:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"39382:21:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13964,"nodeType":"FunctionDefinition","src":"39459:94:19","nodes":[],"documentation":{"id":13957,"nodeType":"StructuredDocumentation","src":"39410:44:19","text":"Parses the given `string` into a `bool`."},"functionSelector":"974ef924","implemented":false,"kind":"function","modifiers":[],"name":"parseBool","nameLocation":"39468:9:19","parameters":{"id":13960,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13959,"mutability":"mutable","name":"stringifiedValue","nameLocation":"39494:16:19","nodeType":"VariableDeclaration","scope":13964,"src":"39478:32:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13958,"name":"string","nodeType":"ElementaryTypeName","src":"39478:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"39477:34:19"},"returnParameters":{"id":13963,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13962,"mutability":"mutable","name":"parsedValue","nameLocation":"39540:11:19","nodeType":"VariableDeclaration","scope":13964,"src":"39535:16:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13961,"name":"bool","nodeType":"ElementaryTypeName","src":"39535:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"39534:18:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13972,"nodeType":"FunctionDefinition","src":"39607:103:19","nodes":[],"documentation":{"id":13965,"nodeType":"StructuredDocumentation","src":"39559:43:19","text":"Parses the given `string` into `bytes`."},"functionSelector":"8f5d232d","implemented":false,"kind":"function","modifiers":[],"name":"parseBytes","nameLocation":"39616:10:19","parameters":{"id":13968,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13967,"mutability":"mutable","name":"stringifiedValue","nameLocation":"39643:16:19","nodeType":"VariableDeclaration","scope":13972,"src":"39627:32:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13966,"name":"string","nodeType":"ElementaryTypeName","src":"39627:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"39626:34:19"},"returnParameters":{"id":13971,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13970,"mutability":"mutable","name":"parsedValue","nameLocation":"39697:11:19","nodeType":"VariableDeclaration","scope":13972,"src":"39684:24:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":13969,"name":"bytes","nodeType":"ElementaryTypeName","src":"39684:5:19","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"39683:26:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13980,"nodeType":"FunctionDefinition","src":"39768:100:19","nodes":[],"documentation":{"id":13973,"nodeType":"StructuredDocumentation","src":"39716:47:19","text":"Parses the given `string` into a `bytes32`."},"functionSelector":"087e6e81","implemented":false,"kind":"function","modifiers":[],"name":"parseBytes32","nameLocation":"39777:12:19","parameters":{"id":13976,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13975,"mutability":"mutable","name":"stringifiedValue","nameLocation":"39806:16:19","nodeType":"VariableDeclaration","scope":13980,"src":"39790:32:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13974,"name":"string","nodeType":"ElementaryTypeName","src":"39790:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"39789:34:19"},"returnParameters":{"id":13979,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13978,"mutability":"mutable","name":"parsedValue","nameLocation":"39855:11:19","nodeType":"VariableDeclaration","scope":13980,"src":"39847:19:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13977,"name":"bytes32","nodeType":"ElementaryTypeName","src":"39847:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"39846:21:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13988,"nodeType":"FunctionDefinition","src":"39925:95:19","nodes":[],"documentation":{"id":13981,"nodeType":"StructuredDocumentation","src":"39874:46:19","text":"Parses the given `string` into a `int256`."},"functionSelector":"42346c5e","implemented":false,"kind":"function","modifiers":[],"name":"parseInt","nameLocation":"39934:8:19","parameters":{"id":13984,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13983,"mutability":"mutable","name":"stringifiedValue","nameLocation":"39959:16:19","nodeType":"VariableDeclaration","scope":13988,"src":"39943:32:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13982,"name":"string","nodeType":"ElementaryTypeName","src":"39943:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"39942:34:19"},"returnParameters":{"id":13987,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13986,"mutability":"mutable","name":"parsedValue","nameLocation":"40007:11:19","nodeType":"VariableDeclaration","scope":13988,"src":"40000:18:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":13985,"name":"int256","nodeType":"ElementaryTypeName","src":"40000:6:19","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"39999:20:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13996,"nodeType":"FunctionDefinition","src":"40078:97:19","nodes":[],"documentation":{"id":13989,"nodeType":"StructuredDocumentation","src":"40026:47:19","text":"Parses the given `string` into a `uint256`."},"functionSelector":"fa91454d","implemented":false,"kind":"function","modifiers":[],"name":"parseUint","nameLocation":"40087:9:19","parameters":{"id":13992,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13991,"mutability":"mutable","name":"stringifiedValue","nameLocation":"40113:16:19","nodeType":"VariableDeclaration","scope":13996,"src":"40097:32:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13990,"name":"string","nodeType":"ElementaryTypeName","src":"40097:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"40096:34:19"},"returnParameters":{"id":13995,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13994,"mutability":"mutable","name":"parsedValue","nameLocation":"40162:11:19","nodeType":"VariableDeclaration","scope":13996,"src":"40154:19:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13993,"name":"uint256","nodeType":"ElementaryTypeName","src":"40154:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"40153:21:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14008,"nodeType":"FunctionDefinition","src":"40253:151:19","nodes":[],"documentation":{"id":13997,"nodeType":"StructuredDocumentation","src":"40181:67:19","text":"Replaces occurrences of `from` in the given `string` with `to`."},"functionSelector":"e00ad03e","implemented":false,"kind":"function","modifiers":[],"name":"replace","nameLocation":"40262:7:19","parameters":{"id":14004,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13999,"mutability":"mutable","name":"input","nameLocation":"40286:5:19","nodeType":"VariableDeclaration","scope":14008,"src":"40270:21:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13998,"name":"string","nodeType":"ElementaryTypeName","src":"40270:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14001,"mutability":"mutable","name":"from","nameLocation":"40309:4:19","nodeType":"VariableDeclaration","scope":14008,"src":"40293:20:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14000,"name":"string","nodeType":"ElementaryTypeName","src":"40293:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14003,"mutability":"mutable","name":"to","nameLocation":"40331:2:19","nodeType":"VariableDeclaration","scope":14008,"src":"40315:18:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14002,"name":"string","nodeType":"ElementaryTypeName","src":"40315:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"40269:65:19"},"returnParameters":{"id":14007,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14006,"mutability":"mutable","name":"output","nameLocation":"40396:6:19","nodeType":"VariableDeclaration","scope":14008,"src":"40382:20:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14005,"name":"string","nodeType":"ElementaryTypeName","src":"40382:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"40381:22:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14019,"nodeType":"FunctionDefinition","src":"40497:113:19","nodes":[],"documentation":{"id":14009,"nodeType":"StructuredDocumentation","src":"40410:82:19","text":"Splits the given `string` into an array of strings divided by the `delimiter`."},"functionSelector":"8bb75533","implemented":false,"kind":"function","modifiers":[],"name":"split","nameLocation":"40506:5:19","parameters":{"id":14014,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14011,"mutability":"mutable","name":"input","nameLocation":"40528:5:19","nodeType":"VariableDeclaration","scope":14019,"src":"40512:21:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14010,"name":"string","nodeType":"ElementaryTypeName","src":"40512:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14013,"mutability":"mutable","name":"delimiter","nameLocation":"40551:9:19","nodeType":"VariableDeclaration","scope":14019,"src":"40535:25:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14012,"name":"string","nodeType":"ElementaryTypeName","src":"40535:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"40511:50:19"},"returnParameters":{"id":14018,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14017,"mutability":"mutable","name":"outputs","nameLocation":"40601:7:19","nodeType":"VariableDeclaration","scope":14019,"src":"40585:23:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":14015,"name":"string","nodeType":"ElementaryTypeName","src":"40585:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":14016,"nodeType":"ArrayTypeName","src":"40585:8:19","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"40584:25:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14027,"nodeType":"FunctionDefinition","src":"40672:89:19","nodes":[],"documentation":{"id":14020,"nodeType":"StructuredDocumentation","src":"40616:51:19","text":"Converts the given `string` value to Lowercase."},"functionSelector":"50bb0884","implemented":false,"kind":"function","modifiers":[],"name":"toLowercase","nameLocation":"40681:11:19","parameters":{"id":14023,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14022,"mutability":"mutable","name":"input","nameLocation":"40709:5:19","nodeType":"VariableDeclaration","scope":14027,"src":"40693:21:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14021,"name":"string","nodeType":"ElementaryTypeName","src":"40693:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"40692:23:19"},"returnParameters":{"id":14026,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14025,"mutability":"mutable","name":"output","nameLocation":"40753:6:19","nodeType":"VariableDeclaration","scope":14027,"src":"40739:20:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14024,"name":"string","nodeType":"ElementaryTypeName","src":"40739:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"40738:22:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14035,"nodeType":"FunctionDefinition","src":"40815:88:19","nodes":[],"documentation":{"id":14028,"nodeType":"StructuredDocumentation","src":"40767:43:19","text":"Converts the given value to a `string`."},"functionSelector":"56ca623e","implemented":false,"kind":"function","modifiers":[],"name":"toString","nameLocation":"40824:8:19","parameters":{"id":14031,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14030,"mutability":"mutable","name":"value","nameLocation":"40841:5:19","nodeType":"VariableDeclaration","scope":14035,"src":"40833:13:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14029,"name":"address","nodeType":"ElementaryTypeName","src":"40833:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"40832:15:19"},"returnParameters":{"id":14034,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14033,"mutability":"mutable","name":"stringifiedValue","nameLocation":"40885:16:19","nodeType":"VariableDeclaration","scope":14035,"src":"40871:30:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14032,"name":"string","nodeType":"ElementaryTypeName","src":"40871:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"40870:32:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14043,"nodeType":"FunctionDefinition","src":"40957:95:19","nodes":[],"documentation":{"id":14036,"nodeType":"StructuredDocumentation","src":"40909:43:19","text":"Converts the given value to a `string`."},"functionSelector":"71aad10d","implemented":false,"kind":"function","modifiers":[],"name":"toString","nameLocation":"40966:8:19","parameters":{"id":14039,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14038,"mutability":"mutable","name":"value","nameLocation":"40990:5:19","nodeType":"VariableDeclaration","scope":14043,"src":"40975:20:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":14037,"name":"bytes","nodeType":"ElementaryTypeName","src":"40975:5:19","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"40974:22:19"},"returnParameters":{"id":14042,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14041,"mutability":"mutable","name":"stringifiedValue","nameLocation":"41034:16:19","nodeType":"VariableDeclaration","scope":14043,"src":"41020:30:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14040,"name":"string","nodeType":"ElementaryTypeName","src":"41020:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"41019:32:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14051,"nodeType":"FunctionDefinition","src":"41106:88:19","nodes":[],"documentation":{"id":14044,"nodeType":"StructuredDocumentation","src":"41058:43:19","text":"Converts the given value to a `string`."},"functionSelector":"b11a19e8","implemented":false,"kind":"function","modifiers":[],"name":"toString","nameLocation":"41115:8:19","parameters":{"id":14047,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14046,"mutability":"mutable","name":"value","nameLocation":"41132:5:19","nodeType":"VariableDeclaration","scope":14051,"src":"41124:13:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":14045,"name":"bytes32","nodeType":"ElementaryTypeName","src":"41124:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"41123:15:19"},"returnParameters":{"id":14050,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14049,"mutability":"mutable","name":"stringifiedValue","nameLocation":"41176:16:19","nodeType":"VariableDeclaration","scope":14051,"src":"41162:30:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14048,"name":"string","nodeType":"ElementaryTypeName","src":"41162:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"41161:32:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14059,"nodeType":"FunctionDefinition","src":"41248:85:19","nodes":[],"documentation":{"id":14052,"nodeType":"StructuredDocumentation","src":"41200:43:19","text":"Converts the given value to a `string`."},"functionSelector":"71dce7da","implemented":false,"kind":"function","modifiers":[],"name":"toString","nameLocation":"41257:8:19","parameters":{"id":14055,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14054,"mutability":"mutable","name":"value","nameLocation":"41271:5:19","nodeType":"VariableDeclaration","scope":14059,"src":"41266:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14053,"name":"bool","nodeType":"ElementaryTypeName","src":"41266:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"41265:12:19"},"returnParameters":{"id":14058,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14057,"mutability":"mutable","name":"stringifiedValue","nameLocation":"41315:16:19","nodeType":"VariableDeclaration","scope":14059,"src":"41301:30:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14056,"name":"string","nodeType":"ElementaryTypeName","src":"41301:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"41300:32:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14067,"nodeType":"FunctionDefinition","src":"41387:88:19","nodes":[],"documentation":{"id":14060,"nodeType":"StructuredDocumentation","src":"41339:43:19","text":"Converts the given value to a `string`."},"functionSelector":"6900a3ae","implemented":false,"kind":"function","modifiers":[],"name":"toString","nameLocation":"41396:8:19","parameters":{"id":14063,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14062,"mutability":"mutable","name":"value","nameLocation":"41413:5:19","nodeType":"VariableDeclaration","scope":14067,"src":"41405:13:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14061,"name":"uint256","nodeType":"ElementaryTypeName","src":"41405:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"41404:15:19"},"returnParameters":{"id":14066,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14065,"mutability":"mutable","name":"stringifiedValue","nameLocation":"41457:16:19","nodeType":"VariableDeclaration","scope":14067,"src":"41443:30:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14064,"name":"string","nodeType":"ElementaryTypeName","src":"41443:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"41442:32:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14075,"nodeType":"FunctionDefinition","src":"41529:87:19","nodes":[],"documentation":{"id":14068,"nodeType":"StructuredDocumentation","src":"41481:43:19","text":"Converts the given value to a `string`."},"functionSelector":"a322c40e","implemented":false,"kind":"function","modifiers":[],"name":"toString","nameLocation":"41538:8:19","parameters":{"id":14071,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14070,"mutability":"mutable","name":"value","nameLocation":"41554:5:19","nodeType":"VariableDeclaration","scope":14075,"src":"41547:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14069,"name":"int256","nodeType":"ElementaryTypeName","src":"41547:6:19","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"41546:14:19"},"returnParameters":{"id":14074,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14073,"mutability":"mutable","name":"stringifiedValue","nameLocation":"41598:16:19","nodeType":"VariableDeclaration","scope":14075,"src":"41584:30:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14072,"name":"string","nodeType":"ElementaryTypeName","src":"41584:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"41583:32:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14083,"nodeType":"FunctionDefinition","src":"41678:89:19","nodes":[],"documentation":{"id":14076,"nodeType":"StructuredDocumentation","src":"41622:51:19","text":"Converts the given `string` value to Uppercase."},"functionSelector":"074ae3d7","implemented":false,"kind":"function","modifiers":[],"name":"toUppercase","nameLocation":"41687:11:19","parameters":{"id":14079,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14078,"mutability":"mutable","name":"input","nameLocation":"41715:5:19","nodeType":"VariableDeclaration","scope":14083,"src":"41699:21:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14077,"name":"string","nodeType":"ElementaryTypeName","src":"41699:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"41698:23:19"},"returnParameters":{"id":14082,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14081,"mutability":"mutable","name":"output","nameLocation":"41759:6:19","nodeType":"VariableDeclaration","scope":14083,"src":"41745:20:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14080,"name":"string","nodeType":"ElementaryTypeName","src":"41745:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"41744:22:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14091,"nodeType":"FunctionDefinition","src":"41850:82:19","nodes":[],"documentation":{"id":14084,"nodeType":"StructuredDocumentation","src":"41773:72:19","text":"Trims leading and trailing whitespace from the given `string` value."},"functionSelector":"b2dad155","implemented":false,"kind":"function","modifiers":[],"name":"trim","nameLocation":"41859:4:19","parameters":{"id":14087,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14086,"mutability":"mutable","name":"input","nameLocation":"41880:5:19","nodeType":"VariableDeclaration","scope":14091,"src":"41864:21:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14085,"name":"string","nodeType":"ElementaryTypeName","src":"41864:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"41863:23:19"},"returnParameters":{"id":14090,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14089,"mutability":"mutable","name":"output","nameLocation":"41924:6:19","nodeType":"VariableDeclaration","scope":14091,"src":"41910:20:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14088,"name":"string","nodeType":"ElementaryTypeName","src":"41910:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"41909:22:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14103,"nodeType":"FunctionDefinition","src":"42127:113:19","nodes":[],"documentation":{"id":14092,"nodeType":"StructuredDocumentation","src":"41972:150:19","text":"Compares two `uint256` values. Expects difference to be less than or equal to `maxDelta`.\n Formats values with decimals in failure message."},"functionSelector":"045c55ce","implemented":false,"kind":"function","modifiers":[],"name":"assertApproxEqAbsDecimal","nameLocation":"42136:24:19","parameters":{"id":14101,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14094,"mutability":"mutable","name":"left","nameLocation":"42169:4:19","nodeType":"VariableDeclaration","scope":14103,"src":"42161:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14093,"name":"uint256","nodeType":"ElementaryTypeName","src":"42161:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14096,"mutability":"mutable","name":"right","nameLocation":"42183:5:19","nodeType":"VariableDeclaration","scope":14103,"src":"42175:13:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14095,"name":"uint256","nodeType":"ElementaryTypeName","src":"42175:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14098,"mutability":"mutable","name":"maxDelta","nameLocation":"42198:8:19","nodeType":"VariableDeclaration","scope":14103,"src":"42190:16:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14097,"name":"uint256","nodeType":"ElementaryTypeName","src":"42190:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14100,"mutability":"mutable","name":"decimals","nameLocation":"42216:8:19","nodeType":"VariableDeclaration","scope":14103,"src":"42208:16:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14099,"name":"uint256","nodeType":"ElementaryTypeName","src":"42208:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"42160:65:19"},"returnParameters":{"id":14102,"nodeType":"ParameterList","parameters":[],"src":"42239:0:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14117,"nodeType":"FunctionDefinition","src":"42455:182:19","nodes":[],"documentation":{"id":14104,"nodeType":"StructuredDocumentation","src":"42246:204:19","text":"Compares two `uint256` values. Expects difference to be less than or equal to `maxDelta`.\n Formats values with decimals in failure message. Includes error message into revert string on failure."},"functionSelector":"60429eb2","implemented":false,"kind":"function","modifiers":[],"name":"assertApproxEqAbsDecimal","nameLocation":"42464:24:19","parameters":{"id":14115,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14106,"mutability":"mutable","name":"left","nameLocation":"42506:4:19","nodeType":"VariableDeclaration","scope":14117,"src":"42498:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14105,"name":"uint256","nodeType":"ElementaryTypeName","src":"42498:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14108,"mutability":"mutable","name":"right","nameLocation":"42528:5:19","nodeType":"VariableDeclaration","scope":14117,"src":"42520:13:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14107,"name":"uint256","nodeType":"ElementaryTypeName","src":"42520:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14110,"mutability":"mutable","name":"maxDelta","nameLocation":"42551:8:19","nodeType":"VariableDeclaration","scope":14117,"src":"42543:16:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14109,"name":"uint256","nodeType":"ElementaryTypeName","src":"42543:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14112,"mutability":"mutable","name":"decimals","nameLocation":"42577:8:19","nodeType":"VariableDeclaration","scope":14117,"src":"42569:16:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14111,"name":"uint256","nodeType":"ElementaryTypeName","src":"42569:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14114,"mutability":"mutable","name":"error","nameLocation":"42611:5:19","nodeType":"VariableDeclaration","scope":14117,"src":"42595:21:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14113,"name":"string","nodeType":"ElementaryTypeName","src":"42595:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"42488:134:19"},"returnParameters":{"id":14116,"nodeType":"ParameterList","parameters":[],"src":"42636:0:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14129,"nodeType":"FunctionDefinition","src":"42797:111:19","nodes":[],"documentation":{"id":14118,"nodeType":"StructuredDocumentation","src":"42643:149:19","text":"Compares two `int256` values. Expects difference to be less than or equal to `maxDelta`.\n Formats values with decimals in failure message."},"functionSelector":"3d5bc8bc","implemented":false,"kind":"function","modifiers":[],"name":"assertApproxEqAbsDecimal","nameLocation":"42806:24:19","parameters":{"id":14127,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14120,"mutability":"mutable","name":"left","nameLocation":"42838:4:19","nodeType":"VariableDeclaration","scope":14129,"src":"42831:11:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14119,"name":"int256","nodeType":"ElementaryTypeName","src":"42831:6:19","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14122,"mutability":"mutable","name":"right","nameLocation":"42851:5:19","nodeType":"VariableDeclaration","scope":14129,"src":"42844:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14121,"name":"int256","nodeType":"ElementaryTypeName","src":"42844:6:19","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14124,"mutability":"mutable","name":"maxDelta","nameLocation":"42866:8:19","nodeType":"VariableDeclaration","scope":14129,"src":"42858:16:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14123,"name":"uint256","nodeType":"ElementaryTypeName","src":"42858:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14126,"mutability":"mutable","name":"decimals","nameLocation":"42884:8:19","nodeType":"VariableDeclaration","scope":14129,"src":"42876:16:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14125,"name":"uint256","nodeType":"ElementaryTypeName","src":"42876:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"42830:63:19"},"returnParameters":{"id":14128,"nodeType":"ParameterList","parameters":[],"src":"42907:0:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14143,"nodeType":"FunctionDefinition","src":"43122:180:19","nodes":[],"documentation":{"id":14130,"nodeType":"StructuredDocumentation","src":"42914:203:19","text":"Compares two `int256` values. Expects difference to be less than or equal to `maxDelta`.\n Formats values with decimals in failure message. Includes error message into revert string on failure."},"functionSelector":"6a5066d4","implemented":false,"kind":"function","modifiers":[],"name":"assertApproxEqAbsDecimal","nameLocation":"43131:24:19","parameters":{"id":14141,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14132,"mutability":"mutable","name":"left","nameLocation":"43172:4:19","nodeType":"VariableDeclaration","scope":14143,"src":"43165:11:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14131,"name":"int256","nodeType":"ElementaryTypeName","src":"43165:6:19","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14134,"mutability":"mutable","name":"right","nameLocation":"43193:5:19","nodeType":"VariableDeclaration","scope":14143,"src":"43186:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14133,"name":"int256","nodeType":"ElementaryTypeName","src":"43186:6:19","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14136,"mutability":"mutable","name":"maxDelta","nameLocation":"43216:8:19","nodeType":"VariableDeclaration","scope":14143,"src":"43208:16:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14135,"name":"uint256","nodeType":"ElementaryTypeName","src":"43208:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14138,"mutability":"mutable","name":"decimals","nameLocation":"43242:8:19","nodeType":"VariableDeclaration","scope":14143,"src":"43234:16:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14137,"name":"uint256","nodeType":"ElementaryTypeName","src":"43234:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14140,"mutability":"mutable","name":"error","nameLocation":"43276:5:19","nodeType":"VariableDeclaration","scope":14143,"src":"43260:21:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14139,"name":"string","nodeType":"ElementaryTypeName","src":"43260:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"43155:132:19"},"returnParameters":{"id":14142,"nodeType":"ParameterList","parameters":[],"src":"43301:0:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14153,"nodeType":"FunctionDefinition","src":"43406:88:19","nodes":[],"documentation":{"id":14144,"nodeType":"StructuredDocumentation","src":"43308:93:19","text":"Compares two `uint256` values. Expects difference to be less than or equal to `maxDelta`."},"functionSelector":"16d207c6","implemented":false,"kind":"function","modifiers":[],"name":"assertApproxEqAbs","nameLocation":"43415:17:19","parameters":{"id":14151,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14146,"mutability":"mutable","name":"left","nameLocation":"43441:4:19","nodeType":"VariableDeclaration","scope":14153,"src":"43433:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14145,"name":"uint256","nodeType":"ElementaryTypeName","src":"43433:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14148,"mutability":"mutable","name":"right","nameLocation":"43455:5:19","nodeType":"VariableDeclaration","scope":14153,"src":"43447:13:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14147,"name":"uint256","nodeType":"ElementaryTypeName","src":"43447:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14150,"mutability":"mutable","name":"maxDelta","nameLocation":"43470:8:19","nodeType":"VariableDeclaration","scope":14153,"src":"43462:16:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14149,"name":"uint256","nodeType":"ElementaryTypeName","src":"43462:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"43432:47:19"},"returnParameters":{"id":14152,"nodeType":"ParameterList","parameters":[],"src":"43493:0:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14165,"nodeType":"FunctionDefinition","src":"43660:111:19","nodes":[],"documentation":{"id":14154,"nodeType":"StructuredDocumentation","src":"43500:155:19","text":"Compares two `uint256` values. Expects difference to be less than or equal to `maxDelta`.\n Includes error message into revert string on failure."},"functionSelector":"f710b062","implemented":false,"kind":"function","modifiers":[],"name":"assertApproxEqAbs","nameLocation":"43669:17:19","parameters":{"id":14163,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14156,"mutability":"mutable","name":"left","nameLocation":"43695:4:19","nodeType":"VariableDeclaration","scope":14165,"src":"43687:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14155,"name":"uint256","nodeType":"ElementaryTypeName","src":"43687:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14158,"mutability":"mutable","name":"right","nameLocation":"43709:5:19","nodeType":"VariableDeclaration","scope":14165,"src":"43701:13:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14157,"name":"uint256","nodeType":"ElementaryTypeName","src":"43701:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14160,"mutability":"mutable","name":"maxDelta","nameLocation":"43724:8:19","nodeType":"VariableDeclaration","scope":14165,"src":"43716:16:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14159,"name":"uint256","nodeType":"ElementaryTypeName","src":"43716:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14162,"mutability":"mutable","name":"error","nameLocation":"43750:5:19","nodeType":"VariableDeclaration","scope":14165,"src":"43734:21:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14161,"name":"string","nodeType":"ElementaryTypeName","src":"43734:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"43686:70:19"},"returnParameters":{"id":14164,"nodeType":"ParameterList","parameters":[],"src":"43770:0:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14175,"nodeType":"FunctionDefinition","src":"43874:86:19","nodes":[],"documentation":{"id":14166,"nodeType":"StructuredDocumentation","src":"43777:92:19","text":"Compares two `int256` values. Expects difference to be less than or equal to `maxDelta`."},"functionSelector":"240f839d","implemented":false,"kind":"function","modifiers":[],"name":"assertApproxEqAbs","nameLocation":"43883:17:19","parameters":{"id":14173,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14168,"mutability":"mutable","name":"left","nameLocation":"43908:4:19","nodeType":"VariableDeclaration","scope":14175,"src":"43901:11:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14167,"name":"int256","nodeType":"ElementaryTypeName","src":"43901:6:19","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14170,"mutability":"mutable","name":"right","nameLocation":"43921:5:19","nodeType":"VariableDeclaration","scope":14175,"src":"43914:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14169,"name":"int256","nodeType":"ElementaryTypeName","src":"43914:6:19","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14172,"mutability":"mutable","name":"maxDelta","nameLocation":"43936:8:19","nodeType":"VariableDeclaration","scope":14175,"src":"43928:16:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14171,"name":"uint256","nodeType":"ElementaryTypeName","src":"43928:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"43900:45:19"},"returnParameters":{"id":14174,"nodeType":"ParameterList","parameters":[],"src":"43959:0:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14187,"nodeType":"FunctionDefinition","src":"44125:109:19","nodes":[],"documentation":{"id":14176,"nodeType":"StructuredDocumentation","src":"43966:154:19","text":"Compares two `int256` values. Expects difference to be less than or equal to `maxDelta`.\n Includes error message into revert string on failure."},"functionSelector":"8289e621","implemented":false,"kind":"function","modifiers":[],"name":"assertApproxEqAbs","nameLocation":"44134:17:19","parameters":{"id":14185,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14178,"mutability":"mutable","name":"left","nameLocation":"44159:4:19","nodeType":"VariableDeclaration","scope":14187,"src":"44152:11:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14177,"name":"int256","nodeType":"ElementaryTypeName","src":"44152:6:19","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14180,"mutability":"mutable","name":"right","nameLocation":"44172:5:19","nodeType":"VariableDeclaration","scope":14187,"src":"44165:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14179,"name":"int256","nodeType":"ElementaryTypeName","src":"44165:6:19","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14182,"mutability":"mutable","name":"maxDelta","nameLocation":"44187:8:19","nodeType":"VariableDeclaration","scope":14187,"src":"44179:16:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14181,"name":"uint256","nodeType":"ElementaryTypeName","src":"44179:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14184,"mutability":"mutable","name":"error","nameLocation":"44213:5:19","nodeType":"VariableDeclaration","scope":14187,"src":"44197:21:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14183,"name":"string","nodeType":"ElementaryTypeName","src":"44197:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"44151:68:19"},"returnParameters":{"id":14186,"nodeType":"ParameterList","parameters":[],"src":"44233:0:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14199,"nodeType":"FunctionDefinition","src":"44505:136:19","nodes":[],"documentation":{"id":14188,"nodeType":"StructuredDocumentation","src":"44240:260:19","text":"Compares two `uint256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`.\n `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100%\n Formats values with decimals in failure message."},"functionSelector":"21ed2977","implemented":false,"kind":"function","modifiers":[],"name":"assertApproxEqRelDecimal","nameLocation":"44514:24:19","parameters":{"id":14197,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14190,"mutability":"mutable","name":"left","nameLocation":"44547:4:19","nodeType":"VariableDeclaration","scope":14199,"src":"44539:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14189,"name":"uint256","nodeType":"ElementaryTypeName","src":"44539:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14192,"mutability":"mutable","name":"right","nameLocation":"44561:5:19","nodeType":"VariableDeclaration","scope":14199,"src":"44553:13:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14191,"name":"uint256","nodeType":"ElementaryTypeName","src":"44553:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14194,"mutability":"mutable","name":"maxPercentDelta","nameLocation":"44576:15:19","nodeType":"VariableDeclaration","scope":14199,"src":"44568:23:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14193,"name":"uint256","nodeType":"ElementaryTypeName","src":"44568:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14196,"mutability":"mutable","name":"decimals","nameLocation":"44601:8:19","nodeType":"VariableDeclaration","scope":14199,"src":"44593:16:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14195,"name":"uint256","nodeType":"ElementaryTypeName","src":"44593:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"44538:72:19"},"returnParameters":{"id":14198,"nodeType":"ParameterList","parameters":[],"src":"44640:0:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14213,"nodeType":"FunctionDefinition","src":"44966:189:19","nodes":[],"documentation":{"id":14200,"nodeType":"StructuredDocumentation","src":"44647:314:19","text":"Compares two `uint256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`.\n `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100%\n Formats values with decimals in failure message. Includes error message into revert string on failure."},"functionSelector":"82d6c8fd","implemented":false,"kind":"function","modifiers":[],"name":"assertApproxEqRelDecimal","nameLocation":"44975:24:19","parameters":{"id":14211,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14202,"mutability":"mutable","name":"left","nameLocation":"45017:4:19","nodeType":"VariableDeclaration","scope":14213,"src":"45009:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14201,"name":"uint256","nodeType":"ElementaryTypeName","src":"45009:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14204,"mutability":"mutable","name":"right","nameLocation":"45039:5:19","nodeType":"VariableDeclaration","scope":14213,"src":"45031:13:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14203,"name":"uint256","nodeType":"ElementaryTypeName","src":"45031:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14206,"mutability":"mutable","name":"maxPercentDelta","nameLocation":"45062:15:19","nodeType":"VariableDeclaration","scope":14213,"src":"45054:23:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14205,"name":"uint256","nodeType":"ElementaryTypeName","src":"45054:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14208,"mutability":"mutable","name":"decimals","nameLocation":"45095:8:19","nodeType":"VariableDeclaration","scope":14213,"src":"45087:16:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14207,"name":"uint256","nodeType":"ElementaryTypeName","src":"45087:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14210,"mutability":"mutable","name":"error","nameLocation":"45129:5:19","nodeType":"VariableDeclaration","scope":14213,"src":"45113:21:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14209,"name":"string","nodeType":"ElementaryTypeName","src":"45113:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"44999:141:19"},"returnParameters":{"id":14212,"nodeType":"ParameterList","parameters":[],"src":"45154:0:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14225,"nodeType":"FunctionDefinition","src":"45425:134:19","nodes":[],"documentation":{"id":14214,"nodeType":"StructuredDocumentation","src":"45161:259:19","text":"Compares two `int256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`.\n `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100%\n Formats values with decimals in failure message."},"functionSelector":"abbf21cc","implemented":false,"kind":"function","modifiers":[],"name":"assertApproxEqRelDecimal","nameLocation":"45434:24:19","parameters":{"id":14223,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14216,"mutability":"mutable","name":"left","nameLocation":"45466:4:19","nodeType":"VariableDeclaration","scope":14225,"src":"45459:11:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14215,"name":"int256","nodeType":"ElementaryTypeName","src":"45459:6:19","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14218,"mutability":"mutable","name":"right","nameLocation":"45479:5:19","nodeType":"VariableDeclaration","scope":14225,"src":"45472:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14217,"name":"int256","nodeType":"ElementaryTypeName","src":"45472:6:19","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14220,"mutability":"mutable","name":"maxPercentDelta","nameLocation":"45494:15:19","nodeType":"VariableDeclaration","scope":14225,"src":"45486:23:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14219,"name":"uint256","nodeType":"ElementaryTypeName","src":"45486:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14222,"mutability":"mutable","name":"decimals","nameLocation":"45519:8:19","nodeType":"VariableDeclaration","scope":14225,"src":"45511:16:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14221,"name":"uint256","nodeType":"ElementaryTypeName","src":"45511:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"45458:70:19"},"returnParameters":{"id":14224,"nodeType":"ParameterList","parameters":[],"src":"45558:0:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14239,"nodeType":"FunctionDefinition","src":"45883:187:19","nodes":[],"documentation":{"id":14226,"nodeType":"StructuredDocumentation","src":"45565:313:19","text":"Compares two `int256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`.\n `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100%\n Formats values with decimals in failure message. Includes error message into revert string on failure."},"functionSelector":"fccc11c4","implemented":false,"kind":"function","modifiers":[],"name":"assertApproxEqRelDecimal","nameLocation":"45892:24:19","parameters":{"id":14237,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14228,"mutability":"mutable","name":"left","nameLocation":"45933:4:19","nodeType":"VariableDeclaration","scope":14239,"src":"45926:11:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14227,"name":"int256","nodeType":"ElementaryTypeName","src":"45926:6:19","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14230,"mutability":"mutable","name":"right","nameLocation":"45954:5:19","nodeType":"VariableDeclaration","scope":14239,"src":"45947:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14229,"name":"int256","nodeType":"ElementaryTypeName","src":"45947:6:19","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14232,"mutability":"mutable","name":"maxPercentDelta","nameLocation":"45977:15:19","nodeType":"VariableDeclaration","scope":14239,"src":"45969:23:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14231,"name":"uint256","nodeType":"ElementaryTypeName","src":"45969:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14234,"mutability":"mutable","name":"decimals","nameLocation":"46010:8:19","nodeType":"VariableDeclaration","scope":14239,"src":"46002:16:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14233,"name":"uint256","nodeType":"ElementaryTypeName","src":"46002:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14236,"mutability":"mutable","name":"error","nameLocation":"46044:5:19","nodeType":"VariableDeclaration","scope":14239,"src":"46028:21:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14235,"name":"string","nodeType":"ElementaryTypeName","src":"46028:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"45916:139:19"},"returnParameters":{"id":14238,"nodeType":"ParameterList","parameters":[],"src":"46069:0:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14249,"nodeType":"FunctionDefinition","src":"46284:95:19","nodes":[],"documentation":{"id":14240,"nodeType":"StructuredDocumentation","src":"46076:203:19","text":"Compares two `uint256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`.\n `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100%"},"functionSelector":"8cf25ef4","implemented":false,"kind":"function","modifiers":[],"name":"assertApproxEqRel","nameLocation":"46293:17:19","parameters":{"id":14247,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14242,"mutability":"mutable","name":"left","nameLocation":"46319:4:19","nodeType":"VariableDeclaration","scope":14249,"src":"46311:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14241,"name":"uint256","nodeType":"ElementaryTypeName","src":"46311:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14244,"mutability":"mutable","name":"right","nameLocation":"46333:5:19","nodeType":"VariableDeclaration","scope":14249,"src":"46325:13:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14243,"name":"uint256","nodeType":"ElementaryTypeName","src":"46325:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14246,"mutability":"mutable","name":"maxPercentDelta","nameLocation":"46348:15:19","nodeType":"VariableDeclaration","scope":14249,"src":"46340:23:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14245,"name":"uint256","nodeType":"ElementaryTypeName","src":"46340:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"46310:54:19"},"returnParameters":{"id":14248,"nodeType":"ParameterList","parameters":[],"src":"46378:0:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14261,"nodeType":"FunctionDefinition","src":"46655:134:19","nodes":[],"documentation":{"id":14250,"nodeType":"StructuredDocumentation","src":"46385:265:19","text":"Compares two `uint256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`.\n `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100%\n Includes error message into revert string on failure."},"functionSelector":"1ecb7d33","implemented":false,"kind":"function","modifiers":[],"name":"assertApproxEqRel","nameLocation":"46664:17:19","parameters":{"id":14259,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14252,"mutability":"mutable","name":"left","nameLocation":"46690:4:19","nodeType":"VariableDeclaration","scope":14261,"src":"46682:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14251,"name":"uint256","nodeType":"ElementaryTypeName","src":"46682:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14254,"mutability":"mutable","name":"right","nameLocation":"46704:5:19","nodeType":"VariableDeclaration","scope":14261,"src":"46696:13:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14253,"name":"uint256","nodeType":"ElementaryTypeName","src":"46696:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14256,"mutability":"mutable","name":"maxPercentDelta","nameLocation":"46719:15:19","nodeType":"VariableDeclaration","scope":14261,"src":"46711:23:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14255,"name":"uint256","nodeType":"ElementaryTypeName","src":"46711:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14258,"mutability":"mutable","name":"error","nameLocation":"46752:5:19","nodeType":"VariableDeclaration","scope":14261,"src":"46736:21:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14257,"name":"string","nodeType":"ElementaryTypeName","src":"46736:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"46681:77:19"},"returnParameters":{"id":14260,"nodeType":"ParameterList","parameters":[],"src":"46788:0:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14271,"nodeType":"FunctionDefinition","src":"47002:93:19","nodes":[],"documentation":{"id":14262,"nodeType":"StructuredDocumentation","src":"46795:202:19","text":"Compares two `int256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`.\n `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100%"},"functionSelector":"fea2d14f","implemented":false,"kind":"function","modifiers":[],"name":"assertApproxEqRel","nameLocation":"47011:17:19","parameters":{"id":14269,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14264,"mutability":"mutable","name":"left","nameLocation":"47036:4:19","nodeType":"VariableDeclaration","scope":14271,"src":"47029:11:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14263,"name":"int256","nodeType":"ElementaryTypeName","src":"47029:6:19","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14266,"mutability":"mutable","name":"right","nameLocation":"47049:5:19","nodeType":"VariableDeclaration","scope":14271,"src":"47042:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14265,"name":"int256","nodeType":"ElementaryTypeName","src":"47042:6:19","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14268,"mutability":"mutable","name":"maxPercentDelta","nameLocation":"47064:15:19","nodeType":"VariableDeclaration","scope":14271,"src":"47056:23:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14267,"name":"uint256","nodeType":"ElementaryTypeName","src":"47056:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"47028:52:19"},"returnParameters":{"id":14270,"nodeType":"ParameterList","parameters":[],"src":"47094:0:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14283,"nodeType":"FunctionDefinition","src":"47370:132:19","nodes":[],"documentation":{"id":14272,"nodeType":"StructuredDocumentation","src":"47101:264:19","text":"Compares two `int256` values. Expects relative difference in percents to be less than or equal to `maxPercentDelta`.\n `maxPercentDelta` is an 18 decimal fixed point number, where 1e18 == 100%\n Includes error message into revert string on failure."},"functionSelector":"ef277d72","implemented":false,"kind":"function","modifiers":[],"name":"assertApproxEqRel","nameLocation":"47379:17:19","parameters":{"id":14281,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14274,"mutability":"mutable","name":"left","nameLocation":"47404:4:19","nodeType":"VariableDeclaration","scope":14283,"src":"47397:11:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14273,"name":"int256","nodeType":"ElementaryTypeName","src":"47397:6:19","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14276,"mutability":"mutable","name":"right","nameLocation":"47417:5:19","nodeType":"VariableDeclaration","scope":14283,"src":"47410:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14275,"name":"int256","nodeType":"ElementaryTypeName","src":"47410:6:19","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14278,"mutability":"mutable","name":"maxPercentDelta","nameLocation":"47432:15:19","nodeType":"VariableDeclaration","scope":14283,"src":"47424:23:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14277,"name":"uint256","nodeType":"ElementaryTypeName","src":"47424:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14280,"mutability":"mutable","name":"error","nameLocation":"47465:5:19","nodeType":"VariableDeclaration","scope":14283,"src":"47449:21:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14279,"name":"string","nodeType":"ElementaryTypeName","src":"47449:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"47396:75:19"},"returnParameters":{"id":14282,"nodeType":"ParameterList","parameters":[],"src":"47501:0:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14293,"nodeType":"FunctionDefinition","src":"47611:86:19","nodes":[],"documentation":{"id":14284,"nodeType":"StructuredDocumentation","src":"47508:98:19","text":"Asserts that two `uint256` values are equal, formatting them with decimals in failure message."},"functionSelector":"27af7d9c","implemented":false,"kind":"function","modifiers":[],"name":"assertEqDecimal","nameLocation":"47620:15:19","parameters":{"id":14291,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14286,"mutability":"mutable","name":"left","nameLocation":"47644:4:19","nodeType":"VariableDeclaration","scope":14293,"src":"47636:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14285,"name":"uint256","nodeType":"ElementaryTypeName","src":"47636:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14288,"mutability":"mutable","name":"right","nameLocation":"47658:5:19","nodeType":"VariableDeclaration","scope":14293,"src":"47650:13:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14287,"name":"uint256","nodeType":"ElementaryTypeName","src":"47650:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14290,"mutability":"mutable","name":"decimals","nameLocation":"47673:8:19","nodeType":"VariableDeclaration","scope":14293,"src":"47665:16:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14289,"name":"uint256","nodeType":"ElementaryTypeName","src":"47665:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"47635:47:19"},"returnParameters":{"id":14292,"nodeType":"ParameterList","parameters":[],"src":"47696:0:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14305,"nodeType":"FunctionDefinition","src":"47868:109:19","nodes":[],"documentation":{"id":14294,"nodeType":"StructuredDocumentation","src":"47703:160:19","text":"Asserts that two `uint256` values are equal, formatting them with decimals in failure message.\n Includes error message into revert string on failure."},"functionSelector":"d0cbbdef","implemented":false,"kind":"function","modifiers":[],"name":"assertEqDecimal","nameLocation":"47877:15:19","parameters":{"id":14303,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14296,"mutability":"mutable","name":"left","nameLocation":"47901:4:19","nodeType":"VariableDeclaration","scope":14305,"src":"47893:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14295,"name":"uint256","nodeType":"ElementaryTypeName","src":"47893:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14298,"mutability":"mutable","name":"right","nameLocation":"47915:5:19","nodeType":"VariableDeclaration","scope":14305,"src":"47907:13:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14297,"name":"uint256","nodeType":"ElementaryTypeName","src":"47907:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14300,"mutability":"mutable","name":"decimals","nameLocation":"47930:8:19","nodeType":"VariableDeclaration","scope":14305,"src":"47922:16:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14299,"name":"uint256","nodeType":"ElementaryTypeName","src":"47922:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14302,"mutability":"mutable","name":"error","nameLocation":"47956:5:19","nodeType":"VariableDeclaration","scope":14305,"src":"47940:21:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14301,"name":"string","nodeType":"ElementaryTypeName","src":"47940:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"47892:70:19"},"returnParameters":{"id":14304,"nodeType":"ParameterList","parameters":[],"src":"47976:0:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14315,"nodeType":"FunctionDefinition","src":"48085:84:19","nodes":[],"documentation":{"id":14306,"nodeType":"StructuredDocumentation","src":"47983:97:19","text":"Asserts that two `int256` values are equal, formatting them with decimals in failure message."},"functionSelector":"48016c04","implemented":false,"kind":"function","modifiers":[],"name":"assertEqDecimal","nameLocation":"48094:15:19","parameters":{"id":14313,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14308,"mutability":"mutable","name":"left","nameLocation":"48117:4:19","nodeType":"VariableDeclaration","scope":14315,"src":"48110:11:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14307,"name":"int256","nodeType":"ElementaryTypeName","src":"48110:6:19","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14310,"mutability":"mutable","name":"right","nameLocation":"48130:5:19","nodeType":"VariableDeclaration","scope":14315,"src":"48123:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14309,"name":"int256","nodeType":"ElementaryTypeName","src":"48123:6:19","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14312,"mutability":"mutable","name":"decimals","nameLocation":"48145:8:19","nodeType":"VariableDeclaration","scope":14315,"src":"48137:16:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14311,"name":"uint256","nodeType":"ElementaryTypeName","src":"48137:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"48109:45:19"},"returnParameters":{"id":14314,"nodeType":"ParameterList","parameters":[],"src":"48168:0:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14327,"nodeType":"FunctionDefinition","src":"48339:107:19","nodes":[],"documentation":{"id":14316,"nodeType":"StructuredDocumentation","src":"48175:159:19","text":"Asserts that two `int256` values are equal, formatting them with decimals in failure message.\n Includes error message into revert string on failure."},"functionSelector":"7e77b0c5","implemented":false,"kind":"function","modifiers":[],"name":"assertEqDecimal","nameLocation":"48348:15:19","parameters":{"id":14325,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14318,"mutability":"mutable","name":"left","nameLocation":"48371:4:19","nodeType":"VariableDeclaration","scope":14327,"src":"48364:11:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14317,"name":"int256","nodeType":"ElementaryTypeName","src":"48364:6:19","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14320,"mutability":"mutable","name":"right","nameLocation":"48384:5:19","nodeType":"VariableDeclaration","scope":14327,"src":"48377:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14319,"name":"int256","nodeType":"ElementaryTypeName","src":"48377:6:19","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14322,"mutability":"mutable","name":"decimals","nameLocation":"48399:8:19","nodeType":"VariableDeclaration","scope":14327,"src":"48391:16:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14321,"name":"uint256","nodeType":"ElementaryTypeName","src":"48391:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14324,"mutability":"mutable","name":"error","nameLocation":"48425:5:19","nodeType":"VariableDeclaration","scope":14327,"src":"48409:21:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14323,"name":"string","nodeType":"ElementaryTypeName","src":"48409:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"48363:68:19"},"returnParameters":{"id":14326,"nodeType":"ParameterList","parameters":[],"src":"48445:0:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14335,"nodeType":"FunctionDefinition","src":"48502:55:19","nodes":[],"documentation":{"id":14328,"nodeType":"StructuredDocumentation","src":"48452:45:19","text":"Asserts that two `bool` values are equal."},"functionSelector":"f7fe3477","implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"48511:8:19","parameters":{"id":14333,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14330,"mutability":"mutable","name":"left","nameLocation":"48525:4:19","nodeType":"VariableDeclaration","scope":14335,"src":"48520:9:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14329,"name":"bool","nodeType":"ElementaryTypeName","src":"48520:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":14332,"mutability":"mutable","name":"right","nameLocation":"48536:5:19","nodeType":"VariableDeclaration","scope":14335,"src":"48531:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14331,"name":"bool","nodeType":"ElementaryTypeName","src":"48531:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"48519:23:19"},"returnParameters":{"id":14334,"nodeType":"ParameterList","parameters":[],"src":"48556:0:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14345,"nodeType":"FunctionDefinition","src":"48670:78:19","nodes":[],"documentation":{"id":14336,"nodeType":"StructuredDocumentation","src":"48563:102:19","text":"Asserts that two `bool` values are equal and includes error message into revert string on failure."},"functionSelector":"4db19e7e","implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"48679:8:19","parameters":{"id":14343,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14338,"mutability":"mutable","name":"left","nameLocation":"48693:4:19","nodeType":"VariableDeclaration","scope":14345,"src":"48688:9:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14337,"name":"bool","nodeType":"ElementaryTypeName","src":"48688:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":14340,"mutability":"mutable","name":"right","nameLocation":"48704:5:19","nodeType":"VariableDeclaration","scope":14345,"src":"48699:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14339,"name":"bool","nodeType":"ElementaryTypeName","src":"48699:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":14342,"mutability":"mutable","name":"error","nameLocation":"48727:5:19","nodeType":"VariableDeclaration","scope":14345,"src":"48711:21:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14341,"name":"string","nodeType":"ElementaryTypeName","src":"48711:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"48687:46:19"},"returnParameters":{"id":14344,"nodeType":"ParameterList","parameters":[],"src":"48747:0:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14353,"nodeType":"FunctionDefinition","src":"48806:77:19","nodes":[],"documentation":{"id":14346,"nodeType":"StructuredDocumentation","src":"48754:47:19","text":"Asserts that two `string` values are equal."},"functionSelector":"f320d963","implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"48815:8:19","parameters":{"id":14351,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14348,"mutability":"mutable","name":"left","nameLocation":"48840:4:19","nodeType":"VariableDeclaration","scope":14353,"src":"48824:20:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14347,"name":"string","nodeType":"ElementaryTypeName","src":"48824:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14350,"mutability":"mutable","name":"right","nameLocation":"48862:5:19","nodeType":"VariableDeclaration","scope":14353,"src":"48846:21:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14349,"name":"string","nodeType":"ElementaryTypeName","src":"48846:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"48823:45:19"},"returnParameters":{"id":14352,"nodeType":"ParameterList","parameters":[],"src":"48882:0:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14363,"nodeType":"FunctionDefinition","src":"48998:100:19","nodes":[],"documentation":{"id":14354,"nodeType":"StructuredDocumentation","src":"48889:104:19","text":"Asserts that two `string` values are equal and includes error message into revert string on failure."},"functionSelector":"36f656d8","implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"49007:8:19","parameters":{"id":14361,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14356,"mutability":"mutable","name":"left","nameLocation":"49032:4:19","nodeType":"VariableDeclaration","scope":14363,"src":"49016:20:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14355,"name":"string","nodeType":"ElementaryTypeName","src":"49016:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14358,"mutability":"mutable","name":"right","nameLocation":"49054:5:19","nodeType":"VariableDeclaration","scope":14363,"src":"49038:21:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14357,"name":"string","nodeType":"ElementaryTypeName","src":"49038:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14360,"mutability":"mutable","name":"error","nameLocation":"49077:5:19","nodeType":"VariableDeclaration","scope":14363,"src":"49061:21:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14359,"name":"string","nodeType":"ElementaryTypeName","src":"49061:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"49015:68:19"},"returnParameters":{"id":14362,"nodeType":"ParameterList","parameters":[],"src":"49097:0:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14371,"nodeType":"FunctionDefinition","src":"49155:75:19","nodes":[],"documentation":{"id":14364,"nodeType":"StructuredDocumentation","src":"49104:46:19","text":"Asserts that two `bytes` values are equal."},"functionSelector":"97624631","implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"49164:8:19","parameters":{"id":14369,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14366,"mutability":"mutable","name":"left","nameLocation":"49188:4:19","nodeType":"VariableDeclaration","scope":14371,"src":"49173:19:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":14365,"name":"bytes","nodeType":"ElementaryTypeName","src":"49173:5:19","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":14368,"mutability":"mutable","name":"right","nameLocation":"49209:5:19","nodeType":"VariableDeclaration","scope":14371,"src":"49194:20:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":14367,"name":"bytes","nodeType":"ElementaryTypeName","src":"49194:5:19","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"49172:43:19"},"returnParameters":{"id":14370,"nodeType":"ParameterList","parameters":[],"src":"49229:0:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14381,"nodeType":"FunctionDefinition","src":"49344:98:19","nodes":[],"documentation":{"id":14372,"nodeType":"StructuredDocumentation","src":"49236:103:19","text":"Asserts that two `bytes` values are equal and includes error message into revert string on failure."},"functionSelector":"e24fed00","implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"49353:8:19","parameters":{"id":14379,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14374,"mutability":"mutable","name":"left","nameLocation":"49377:4:19","nodeType":"VariableDeclaration","scope":14381,"src":"49362:19:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":14373,"name":"bytes","nodeType":"ElementaryTypeName","src":"49362:5:19","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":14376,"mutability":"mutable","name":"right","nameLocation":"49398:5:19","nodeType":"VariableDeclaration","scope":14381,"src":"49383:20:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":14375,"name":"bytes","nodeType":"ElementaryTypeName","src":"49383:5:19","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":14378,"mutability":"mutable","name":"error","nameLocation":"49421:5:19","nodeType":"VariableDeclaration","scope":14381,"src":"49405:21:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14377,"name":"string","nodeType":"ElementaryTypeName","src":"49405:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"49361:66:19"},"returnParameters":{"id":14380,"nodeType":"ParameterList","parameters":[],"src":"49441:0:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14391,"nodeType":"FunctionDefinition","src":"49508:77:19","nodes":[],"documentation":{"id":14382,"nodeType":"StructuredDocumentation","src":"49448:55:19","text":"Asserts that two arrays of `bool` values are equal."},"functionSelector":"707df785","implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"49517:8:19","parameters":{"id":14389,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14385,"mutability":"mutable","name":"left","nameLocation":"49542:4:19","nodeType":"VariableDeclaration","scope":14391,"src":"49526:20:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_calldata_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":14383,"name":"bool","nodeType":"ElementaryTypeName","src":"49526:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":14384,"nodeType":"ArrayTypeName","src":"49526:6:19","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"},{"constant":false,"id":14388,"mutability":"mutable","name":"right","nameLocation":"49564:5:19","nodeType":"VariableDeclaration","scope":14391,"src":"49548:21:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_calldata_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":14386,"name":"bool","nodeType":"ElementaryTypeName","src":"49548:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":14387,"nodeType":"ArrayTypeName","src":"49548:6:19","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"}],"src":"49525:45:19"},"returnParameters":{"id":14390,"nodeType":"ParameterList","parameters":[],"src":"49584:0:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14403,"nodeType":"FunctionDefinition","src":"49708:100:19","nodes":[],"documentation":{"id":14392,"nodeType":"StructuredDocumentation","src":"49591:112:19","text":"Asserts that two arrays of `bool` values are equal and includes error message into revert string on failure."},"functionSelector":"e48a8f8d","implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"49717:8:19","parameters":{"id":14401,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14395,"mutability":"mutable","name":"left","nameLocation":"49742:4:19","nodeType":"VariableDeclaration","scope":14403,"src":"49726:20:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_calldata_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":14393,"name":"bool","nodeType":"ElementaryTypeName","src":"49726:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":14394,"nodeType":"ArrayTypeName","src":"49726:6:19","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"},{"constant":false,"id":14398,"mutability":"mutable","name":"right","nameLocation":"49764:5:19","nodeType":"VariableDeclaration","scope":14403,"src":"49748:21:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_calldata_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":14396,"name":"bool","nodeType":"ElementaryTypeName","src":"49748:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":14397,"nodeType":"ArrayTypeName","src":"49748:6:19","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"},{"constant":false,"id":14400,"mutability":"mutable","name":"error","nameLocation":"49787:5:19","nodeType":"VariableDeclaration","scope":14403,"src":"49771:21:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14399,"name":"string","nodeType":"ElementaryTypeName","src":"49771:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"49725:68:19"},"returnParameters":{"id":14402,"nodeType":"ParameterList","parameters":[],"src":"49807:0:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14413,"nodeType":"FunctionDefinition","src":"49876:83:19","nodes":[],"documentation":{"id":14404,"nodeType":"StructuredDocumentation","src":"49814:57:19","text":"Asserts that two arrays of `uint256 values are equal."},"functionSelector":"975d5a12","implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"49885:8:19","parameters":{"id":14411,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14407,"mutability":"mutable","name":"left","nameLocation":"49913:4:19","nodeType":"VariableDeclaration","scope":14413,"src":"49894:23:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":14405,"name":"uint256","nodeType":"ElementaryTypeName","src":"49894:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":14406,"nodeType":"ArrayTypeName","src":"49894:9:19","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":14410,"mutability":"mutable","name":"right","nameLocation":"49938:5:19","nodeType":"VariableDeclaration","scope":14413,"src":"49919:24:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":14408,"name":"uint256","nodeType":"ElementaryTypeName","src":"49919:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":14409,"nodeType":"ArrayTypeName","src":"49919:9:19","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"49893:51:19"},"returnParameters":{"id":14412,"nodeType":"ParameterList","parameters":[],"src":"49958:0:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14425,"nodeType":"FunctionDefinition","src":"50085:106:19","nodes":[],"documentation":{"id":14414,"nodeType":"StructuredDocumentation","src":"49965:115:19","text":"Asserts that two arrays of `uint256` values are equal and includes error message into revert string on failure."},"functionSelector":"5d18c73a","implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"50094:8:19","parameters":{"id":14423,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14417,"mutability":"mutable","name":"left","nameLocation":"50122:4:19","nodeType":"VariableDeclaration","scope":14425,"src":"50103:23:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":14415,"name":"uint256","nodeType":"ElementaryTypeName","src":"50103:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":14416,"nodeType":"ArrayTypeName","src":"50103:9:19","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":14420,"mutability":"mutable","name":"right","nameLocation":"50147:5:19","nodeType":"VariableDeclaration","scope":14425,"src":"50128:24:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":14418,"name":"uint256","nodeType":"ElementaryTypeName","src":"50128:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":14419,"nodeType":"ArrayTypeName","src":"50128:9:19","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":14422,"mutability":"mutable","name":"error","nameLocation":"50170:5:19","nodeType":"VariableDeclaration","scope":14425,"src":"50154:21:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14421,"name":"string","nodeType":"ElementaryTypeName","src":"50154:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"50102:74:19"},"returnParameters":{"id":14424,"nodeType":"ParameterList","parameters":[],"src":"50190:0:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14435,"nodeType":"FunctionDefinition","src":"50259:81:19","nodes":[],"documentation":{"id":14426,"nodeType":"StructuredDocumentation","src":"50197:57:19","text":"Asserts that two arrays of `int256` values are equal."},"functionSelector":"711043ac","implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"50268:8:19","parameters":{"id":14433,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14429,"mutability":"mutable","name":"left","nameLocation":"50295:4:19","nodeType":"VariableDeclaration","scope":14435,"src":"50277:22:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_calldata_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":14427,"name":"int256","nodeType":"ElementaryTypeName","src":"50277:6:19","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":14428,"nodeType":"ArrayTypeName","src":"50277:8:19","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"},{"constant":false,"id":14432,"mutability":"mutable","name":"right","nameLocation":"50319:5:19","nodeType":"VariableDeclaration","scope":14435,"src":"50301:23:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_calldata_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":14430,"name":"int256","nodeType":"ElementaryTypeName","src":"50301:6:19","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":14431,"nodeType":"ArrayTypeName","src":"50301:8:19","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"50276:49:19"},"returnParameters":{"id":14434,"nodeType":"ParameterList","parameters":[],"src":"50339:0:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14447,"nodeType":"FunctionDefinition","src":"50465:104:19","nodes":[],"documentation":{"id":14436,"nodeType":"StructuredDocumentation","src":"50346:114:19","text":"Asserts that two arrays of `int256` values are equal and includes error message into revert string on failure."},"functionSelector":"191f1b30","implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"50474:8:19","parameters":{"id":14445,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14439,"mutability":"mutable","name":"left","nameLocation":"50501:4:19","nodeType":"VariableDeclaration","scope":14447,"src":"50483:22:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_calldata_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":14437,"name":"int256","nodeType":"ElementaryTypeName","src":"50483:6:19","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":14438,"nodeType":"ArrayTypeName","src":"50483:8:19","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"},{"constant":false,"id":14442,"mutability":"mutable","name":"right","nameLocation":"50525:5:19","nodeType":"VariableDeclaration","scope":14447,"src":"50507:23:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_calldata_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":14440,"name":"int256","nodeType":"ElementaryTypeName","src":"50507:6:19","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":14441,"nodeType":"ArrayTypeName","src":"50507:8:19","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"},{"constant":false,"id":14444,"mutability":"mutable","name":"error","nameLocation":"50548:5:19","nodeType":"VariableDeclaration","scope":14447,"src":"50532:21:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14443,"name":"string","nodeType":"ElementaryTypeName","src":"50532:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"50482:72:19"},"returnParameters":{"id":14446,"nodeType":"ParameterList","parameters":[],"src":"50568:0:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14455,"nodeType":"FunctionDefinition","src":"50628:61:19","nodes":[],"documentation":{"id":14448,"nodeType":"StructuredDocumentation","src":"50575:48:19","text":"Asserts that two `uint256` values are equal."},"functionSelector":"98296c54","implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"50637:8:19","parameters":{"id":14453,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14450,"mutability":"mutable","name":"left","nameLocation":"50654:4:19","nodeType":"VariableDeclaration","scope":14455,"src":"50646:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14449,"name":"uint256","nodeType":"ElementaryTypeName","src":"50646:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14452,"mutability":"mutable","name":"right","nameLocation":"50668:5:19","nodeType":"VariableDeclaration","scope":14455,"src":"50660:13:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14451,"name":"uint256","nodeType":"ElementaryTypeName","src":"50660:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"50645:29:19"},"returnParameters":{"id":14454,"nodeType":"ParameterList","parameters":[],"src":"50688:0:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14465,"nodeType":"FunctionDefinition","src":"50758:83:19","nodes":[],"documentation":{"id":14456,"nodeType":"StructuredDocumentation","src":"50695:58:19","text":"Asserts that two arrays of `address` values are equal."},"functionSelector":"3868ac34","implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"50767:8:19","parameters":{"id":14463,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14459,"mutability":"mutable","name":"left","nameLocation":"50795:4:19","nodeType":"VariableDeclaration","scope":14465,"src":"50776:23:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":14457,"name":"address","nodeType":"ElementaryTypeName","src":"50776:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":14458,"nodeType":"ArrayTypeName","src":"50776:9:19","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":14462,"mutability":"mutable","name":"right","nameLocation":"50820:5:19","nodeType":"VariableDeclaration","scope":14465,"src":"50801:24:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":14460,"name":"address","nodeType":"ElementaryTypeName","src":"50801:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":14461,"nodeType":"ArrayTypeName","src":"50801:9:19","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"50775:51:19"},"returnParameters":{"id":14464,"nodeType":"ParameterList","parameters":[],"src":"50840:0:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14477,"nodeType":"FunctionDefinition","src":"50967:106:19","nodes":[],"documentation":{"id":14466,"nodeType":"StructuredDocumentation","src":"50847:115:19","text":"Asserts that two arrays of `address` values are equal and includes error message into revert string on failure."},"functionSelector":"3e9173c5","implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"50976:8:19","parameters":{"id":14475,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14469,"mutability":"mutable","name":"left","nameLocation":"51004:4:19","nodeType":"VariableDeclaration","scope":14477,"src":"50985:23:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":14467,"name":"address","nodeType":"ElementaryTypeName","src":"50985:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":14468,"nodeType":"ArrayTypeName","src":"50985:9:19","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":14472,"mutability":"mutable","name":"right","nameLocation":"51029:5:19","nodeType":"VariableDeclaration","scope":14477,"src":"51010:24:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":14470,"name":"address","nodeType":"ElementaryTypeName","src":"51010:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":14471,"nodeType":"ArrayTypeName","src":"51010:9:19","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":14474,"mutability":"mutable","name":"error","nameLocation":"51052:5:19","nodeType":"VariableDeclaration","scope":14477,"src":"51036:21:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14473,"name":"string","nodeType":"ElementaryTypeName","src":"51036:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"50984:74:19"},"returnParameters":{"id":14476,"nodeType":"ParameterList","parameters":[],"src":"51072:0:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14487,"nodeType":"FunctionDefinition","src":"51142:83:19","nodes":[],"documentation":{"id":14478,"nodeType":"StructuredDocumentation","src":"51079:58:19","text":"Asserts that two arrays of `bytes32` values are equal."},"functionSelector":"0cc9ee84","implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"51151:8:19","parameters":{"id":14485,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14481,"mutability":"mutable","name":"left","nameLocation":"51179:4:19","nodeType":"VariableDeclaration","scope":14487,"src":"51160:23:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_calldata_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":14479,"name":"bytes32","nodeType":"ElementaryTypeName","src":"51160:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":14480,"nodeType":"ArrayTypeName","src":"51160:9:19","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":14484,"mutability":"mutable","name":"right","nameLocation":"51204:5:19","nodeType":"VariableDeclaration","scope":14487,"src":"51185:24:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_calldata_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":14482,"name":"bytes32","nodeType":"ElementaryTypeName","src":"51185:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":14483,"nodeType":"ArrayTypeName","src":"51185:9:19","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"51159:51:19"},"returnParameters":{"id":14486,"nodeType":"ParameterList","parameters":[],"src":"51224:0:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14499,"nodeType":"FunctionDefinition","src":"51351:106:19","nodes":[],"documentation":{"id":14488,"nodeType":"StructuredDocumentation","src":"51231:115:19","text":"Asserts that two arrays of `bytes32` values are equal and includes error message into revert string on failure."},"functionSelector":"e03e9177","implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"51360:8:19","parameters":{"id":14497,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14491,"mutability":"mutable","name":"left","nameLocation":"51388:4:19","nodeType":"VariableDeclaration","scope":14499,"src":"51369:23:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_calldata_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":14489,"name":"bytes32","nodeType":"ElementaryTypeName","src":"51369:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":14490,"nodeType":"ArrayTypeName","src":"51369:9:19","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":14494,"mutability":"mutable","name":"right","nameLocation":"51413:5:19","nodeType":"VariableDeclaration","scope":14499,"src":"51394:24:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_calldata_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":14492,"name":"bytes32","nodeType":"ElementaryTypeName","src":"51394:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":14493,"nodeType":"ArrayTypeName","src":"51394:9:19","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":14496,"mutability":"mutable","name":"error","nameLocation":"51436:5:19","nodeType":"VariableDeclaration","scope":14499,"src":"51420:21:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14495,"name":"string","nodeType":"ElementaryTypeName","src":"51420:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"51368:74:19"},"returnParameters":{"id":14498,"nodeType":"ParameterList","parameters":[],"src":"51456:0:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14509,"nodeType":"FunctionDefinition","src":"51525:81:19","nodes":[],"documentation":{"id":14500,"nodeType":"StructuredDocumentation","src":"51463:57:19","text":"Asserts that two arrays of `string` values are equal."},"functionSelector":"cf1c049c","implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"51534:8:19","parameters":{"id":14507,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14503,"mutability":"mutable","name":"left","nameLocation":"51561:4:19","nodeType":"VariableDeclaration","scope":14509,"src":"51543:22:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_string_calldata_ptr_$dyn_calldata_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":14501,"name":"string","nodeType":"ElementaryTypeName","src":"51543:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":14502,"nodeType":"ArrayTypeName","src":"51543:8:19","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":14506,"mutability":"mutable","name":"right","nameLocation":"51585:5:19","nodeType":"VariableDeclaration","scope":14509,"src":"51567:23:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_string_calldata_ptr_$dyn_calldata_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":14504,"name":"string","nodeType":"ElementaryTypeName","src":"51567:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":14505,"nodeType":"ArrayTypeName","src":"51567:8:19","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"51542:49:19"},"returnParameters":{"id":14508,"nodeType":"ParameterList","parameters":[],"src":"51605:0:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14521,"nodeType":"FunctionDefinition","src":"51731:104:19","nodes":[],"documentation":{"id":14510,"nodeType":"StructuredDocumentation","src":"51612:114:19","text":"Asserts that two arrays of `string` values are equal and includes error message into revert string on failure."},"functionSelector":"eff6b27d","implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"51740:8:19","parameters":{"id":14519,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14513,"mutability":"mutable","name":"left","nameLocation":"51767:4:19","nodeType":"VariableDeclaration","scope":14521,"src":"51749:22:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_string_calldata_ptr_$dyn_calldata_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":14511,"name":"string","nodeType":"ElementaryTypeName","src":"51749:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":14512,"nodeType":"ArrayTypeName","src":"51749:8:19","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":14516,"mutability":"mutable","name":"right","nameLocation":"51791:5:19","nodeType":"VariableDeclaration","scope":14521,"src":"51773:23:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_string_calldata_ptr_$dyn_calldata_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":14514,"name":"string","nodeType":"ElementaryTypeName","src":"51773:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":14515,"nodeType":"ArrayTypeName","src":"51773:8:19","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":14518,"mutability":"mutable","name":"error","nameLocation":"51814:5:19","nodeType":"VariableDeclaration","scope":14521,"src":"51798:21:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14517,"name":"string","nodeType":"ElementaryTypeName","src":"51798:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"51748:72:19"},"returnParameters":{"id":14520,"nodeType":"ParameterList","parameters":[],"src":"51834:0:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14531,"nodeType":"FunctionDefinition","src":"51902:79:19","nodes":[],"documentation":{"id":14522,"nodeType":"StructuredDocumentation","src":"51841:56:19","text":"Asserts that two arrays of `bytes` values are equal."},"functionSelector":"e5fb9b4a","implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"51911:8:19","parameters":{"id":14529,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14525,"mutability":"mutable","name":"left","nameLocation":"51937:4:19","nodeType":"VariableDeclaration","scope":14531,"src":"51920:21:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":14523,"name":"bytes","nodeType":"ElementaryTypeName","src":"51920:5:19","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":14524,"nodeType":"ArrayTypeName","src":"51920:7:19","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":14528,"mutability":"mutable","name":"right","nameLocation":"51960:5:19","nodeType":"VariableDeclaration","scope":14531,"src":"51943:22:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":14526,"name":"bytes","nodeType":"ElementaryTypeName","src":"51943:5:19","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":14527,"nodeType":"ArrayTypeName","src":"51943:7:19","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"51919:47:19"},"returnParameters":{"id":14530,"nodeType":"ParameterList","parameters":[],"src":"51980:0:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14543,"nodeType":"FunctionDefinition","src":"52105:102:19","nodes":[],"documentation":{"id":14532,"nodeType":"StructuredDocumentation","src":"51987:113:19","text":"Asserts that two arrays of `bytes` values are equal and includes error message into revert string on failure."},"functionSelector":"f413f0b6","implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"52114:8:19","parameters":{"id":14541,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14535,"mutability":"mutable","name":"left","nameLocation":"52140:4:19","nodeType":"VariableDeclaration","scope":14543,"src":"52123:21:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":14533,"name":"bytes","nodeType":"ElementaryTypeName","src":"52123:5:19","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":14534,"nodeType":"ArrayTypeName","src":"52123:7:19","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":14538,"mutability":"mutable","name":"right","nameLocation":"52163:5:19","nodeType":"VariableDeclaration","scope":14543,"src":"52146:22:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":14536,"name":"bytes","nodeType":"ElementaryTypeName","src":"52146:5:19","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":14537,"nodeType":"ArrayTypeName","src":"52146:7:19","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":14540,"mutability":"mutable","name":"error","nameLocation":"52186:5:19","nodeType":"VariableDeclaration","scope":14543,"src":"52170:21:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14539,"name":"string","nodeType":"ElementaryTypeName","src":"52170:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"52122:70:19"},"returnParameters":{"id":14542,"nodeType":"ParameterList","parameters":[],"src":"52206:0:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14553,"nodeType":"FunctionDefinition","src":"52323:84:19","nodes":[],"documentation":{"id":14544,"nodeType":"StructuredDocumentation","src":"52213:105:19","text":"Asserts that two `uint256` values are equal and includes error message into revert string on failure."},"functionSelector":"88b44c85","implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"52332:8:19","parameters":{"id":14551,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14546,"mutability":"mutable","name":"left","nameLocation":"52349:4:19","nodeType":"VariableDeclaration","scope":14553,"src":"52341:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14545,"name":"uint256","nodeType":"ElementaryTypeName","src":"52341:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14548,"mutability":"mutable","name":"right","nameLocation":"52363:5:19","nodeType":"VariableDeclaration","scope":14553,"src":"52355:13:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14547,"name":"uint256","nodeType":"ElementaryTypeName","src":"52355:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14550,"mutability":"mutable","name":"error","nameLocation":"52386:5:19","nodeType":"VariableDeclaration","scope":14553,"src":"52370:21:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14549,"name":"string","nodeType":"ElementaryTypeName","src":"52370:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"52340:52:19"},"returnParameters":{"id":14552,"nodeType":"ParameterList","parameters":[],"src":"52406:0:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14561,"nodeType":"FunctionDefinition","src":"52465:59:19","nodes":[],"documentation":{"id":14554,"nodeType":"StructuredDocumentation","src":"52413:47:19","text":"Asserts that two `int256` values are equal."},"functionSelector":"fe74f05b","implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"52474:8:19","parameters":{"id":14559,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14556,"mutability":"mutable","name":"left","nameLocation":"52490:4:19","nodeType":"VariableDeclaration","scope":14561,"src":"52483:11:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14555,"name":"int256","nodeType":"ElementaryTypeName","src":"52483:6:19","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14558,"mutability":"mutable","name":"right","nameLocation":"52503:5:19","nodeType":"VariableDeclaration","scope":14561,"src":"52496:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14557,"name":"int256","nodeType":"ElementaryTypeName","src":"52496:6:19","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"52482:27:19"},"returnParameters":{"id":14560,"nodeType":"ParameterList","parameters":[],"src":"52523:0:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14571,"nodeType":"FunctionDefinition","src":"52639:82:19","nodes":[],"documentation":{"id":14562,"nodeType":"StructuredDocumentation","src":"52530:104:19","text":"Asserts that two `int256` values are equal and includes error message into revert string on failure."},"functionSelector":"714a2f13","implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"52648:8:19","parameters":{"id":14569,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14564,"mutability":"mutable","name":"left","nameLocation":"52664:4:19","nodeType":"VariableDeclaration","scope":14571,"src":"52657:11:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14563,"name":"int256","nodeType":"ElementaryTypeName","src":"52657:6:19","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14566,"mutability":"mutable","name":"right","nameLocation":"52677:5:19","nodeType":"VariableDeclaration","scope":14571,"src":"52670:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14565,"name":"int256","nodeType":"ElementaryTypeName","src":"52670:6:19","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14568,"mutability":"mutable","name":"error","nameLocation":"52700:5:19","nodeType":"VariableDeclaration","scope":14571,"src":"52684:21:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14567,"name":"string","nodeType":"ElementaryTypeName","src":"52684:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"52656:50:19"},"returnParameters":{"id":14570,"nodeType":"ParameterList","parameters":[],"src":"52720:0:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14579,"nodeType":"FunctionDefinition","src":"52780:61:19","nodes":[],"documentation":{"id":14572,"nodeType":"StructuredDocumentation","src":"52727:48:19","text":"Asserts that two `address` values are equal."},"functionSelector":"515361f6","implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"52789:8:19","parameters":{"id":14577,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14574,"mutability":"mutable","name":"left","nameLocation":"52806:4:19","nodeType":"VariableDeclaration","scope":14579,"src":"52798:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14573,"name":"address","nodeType":"ElementaryTypeName","src":"52798:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":14576,"mutability":"mutable","name":"right","nameLocation":"52820:5:19","nodeType":"VariableDeclaration","scope":14579,"src":"52812:13:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14575,"name":"address","nodeType":"ElementaryTypeName","src":"52812:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"52797:29:19"},"returnParameters":{"id":14578,"nodeType":"ParameterList","parameters":[],"src":"52840:0:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14589,"nodeType":"FunctionDefinition","src":"52957:84:19","nodes":[],"documentation":{"id":14580,"nodeType":"StructuredDocumentation","src":"52847:105:19","text":"Asserts that two `address` values are equal and includes error message into revert string on failure."},"functionSelector":"2f2769d1","implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"52966:8:19","parameters":{"id":14587,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14582,"mutability":"mutable","name":"left","nameLocation":"52983:4:19","nodeType":"VariableDeclaration","scope":14589,"src":"52975:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14581,"name":"address","nodeType":"ElementaryTypeName","src":"52975:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":14584,"mutability":"mutable","name":"right","nameLocation":"52997:5:19","nodeType":"VariableDeclaration","scope":14589,"src":"52989:13:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14583,"name":"address","nodeType":"ElementaryTypeName","src":"52989:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":14586,"mutability":"mutable","name":"error","nameLocation":"53020:5:19","nodeType":"VariableDeclaration","scope":14589,"src":"53004:21:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14585,"name":"string","nodeType":"ElementaryTypeName","src":"53004:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"52974:52:19"},"returnParameters":{"id":14588,"nodeType":"ParameterList","parameters":[],"src":"53040:0:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14597,"nodeType":"FunctionDefinition","src":"53100:61:19","nodes":[],"documentation":{"id":14590,"nodeType":"StructuredDocumentation","src":"53047:48:19","text":"Asserts that two `bytes32` values are equal."},"functionSelector":"7c84c69b","implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"53109:8:19","parameters":{"id":14595,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14592,"mutability":"mutable","name":"left","nameLocation":"53126:4:19","nodeType":"VariableDeclaration","scope":14597,"src":"53118:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":14591,"name":"bytes32","nodeType":"ElementaryTypeName","src":"53118:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":14594,"mutability":"mutable","name":"right","nameLocation":"53140:5:19","nodeType":"VariableDeclaration","scope":14597,"src":"53132:13:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":14593,"name":"bytes32","nodeType":"ElementaryTypeName","src":"53132:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"53117:29:19"},"returnParameters":{"id":14596,"nodeType":"ParameterList","parameters":[],"src":"53160:0:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14607,"nodeType":"FunctionDefinition","src":"53277:84:19","nodes":[],"documentation":{"id":14598,"nodeType":"StructuredDocumentation","src":"53167:105:19","text":"Asserts that two `bytes32` values are equal and includes error message into revert string on failure."},"functionSelector":"c1fa1ed0","implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"53286:8:19","parameters":{"id":14605,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14600,"mutability":"mutable","name":"left","nameLocation":"53303:4:19","nodeType":"VariableDeclaration","scope":14607,"src":"53295:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":14599,"name":"bytes32","nodeType":"ElementaryTypeName","src":"53295:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":14602,"mutability":"mutable","name":"right","nameLocation":"53317:5:19","nodeType":"VariableDeclaration","scope":14607,"src":"53309:13:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":14601,"name":"bytes32","nodeType":"ElementaryTypeName","src":"53309:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":14604,"mutability":"mutable","name":"error","nameLocation":"53340:5:19","nodeType":"VariableDeclaration","scope":14607,"src":"53324:21:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14603,"name":"string","nodeType":"ElementaryTypeName","src":"53324:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"53294:52:19"},"returnParameters":{"id":14606,"nodeType":"ParameterList","parameters":[],"src":"53360:0:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14613,"nodeType":"FunctionDefinition","src":"53418:51:19","nodes":[],"documentation":{"id":14608,"nodeType":"StructuredDocumentation","src":"53367:46:19","text":"Asserts that the given condition is false."},"functionSelector":"a5982885","implemented":false,"kind":"function","modifiers":[],"name":"assertFalse","nameLocation":"53427:11:19","parameters":{"id":14611,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14610,"mutability":"mutable","name":"condition","nameLocation":"53444:9:19","nodeType":"VariableDeclaration","scope":14613,"src":"53439:14:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14609,"name":"bool","nodeType":"ElementaryTypeName","src":"53439:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"53438:16:19"},"returnParameters":{"id":14612,"nodeType":"ParameterList","parameters":[],"src":"53468:0:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14621,"nodeType":"FunctionDefinition","src":"53583:74:19","nodes":[],"documentation":{"id":14614,"nodeType":"StructuredDocumentation","src":"53475:103:19","text":"Asserts that the given condition is false and includes error message into revert string on failure."},"functionSelector":"7ba04809","implemented":false,"kind":"function","modifiers":[],"name":"assertFalse","nameLocation":"53592:11:19","parameters":{"id":14619,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14616,"mutability":"mutable","name":"condition","nameLocation":"53609:9:19","nodeType":"VariableDeclaration","scope":14621,"src":"53604:14:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14615,"name":"bool","nodeType":"ElementaryTypeName","src":"53604:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":14618,"mutability":"mutable","name":"error","nameLocation":"53636:5:19","nodeType":"VariableDeclaration","scope":14621,"src":"53620:21:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14617,"name":"string","nodeType":"ElementaryTypeName","src":"53620:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"53603:39:19"},"returnParameters":{"id":14620,"nodeType":"ParameterList","parameters":[],"src":"53656:0:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14631,"nodeType":"FunctionDefinition","src":"53818:86:19","nodes":[],"documentation":{"id":14622,"nodeType":"StructuredDocumentation","src":"53663:150:19","text":"Compares two `uint256` values. Expects first value to be greater than or equal to second.\n Formats values with decimals in failure message."},"functionSelector":"3d1fe08a","implemented":false,"kind":"function","modifiers":[],"name":"assertGeDecimal","nameLocation":"53827:15:19","parameters":{"id":14629,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14624,"mutability":"mutable","name":"left","nameLocation":"53851:4:19","nodeType":"VariableDeclaration","scope":14631,"src":"53843:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14623,"name":"uint256","nodeType":"ElementaryTypeName","src":"53843:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14626,"mutability":"mutable","name":"right","nameLocation":"53865:5:19","nodeType":"VariableDeclaration","scope":14631,"src":"53857:13:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14625,"name":"uint256","nodeType":"ElementaryTypeName","src":"53857:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14628,"mutability":"mutable","name":"decimals","nameLocation":"53880:8:19","nodeType":"VariableDeclaration","scope":14631,"src":"53872:16:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14627,"name":"uint256","nodeType":"ElementaryTypeName","src":"53872:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"53842:47:19"},"returnParameters":{"id":14630,"nodeType":"ParameterList","parameters":[],"src":"53903:0:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14643,"nodeType":"FunctionDefinition","src":"54119:109:19","nodes":[],"documentation":{"id":14632,"nodeType":"StructuredDocumentation","src":"53910:204:19","text":"Compares two `uint256` values. Expects first value to be greater than or equal to second.\n Formats values with decimals in failure message. Includes error message into revert string on failure."},"functionSelector":"8bff9133","implemented":false,"kind":"function","modifiers":[],"name":"assertGeDecimal","nameLocation":"54128:15:19","parameters":{"id":14641,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14634,"mutability":"mutable","name":"left","nameLocation":"54152:4:19","nodeType":"VariableDeclaration","scope":14643,"src":"54144:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14633,"name":"uint256","nodeType":"ElementaryTypeName","src":"54144:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14636,"mutability":"mutable","name":"right","nameLocation":"54166:5:19","nodeType":"VariableDeclaration","scope":14643,"src":"54158:13:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14635,"name":"uint256","nodeType":"ElementaryTypeName","src":"54158:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14638,"mutability":"mutable","name":"decimals","nameLocation":"54181:8:19","nodeType":"VariableDeclaration","scope":14643,"src":"54173:16:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14637,"name":"uint256","nodeType":"ElementaryTypeName","src":"54173:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14640,"mutability":"mutable","name":"error","nameLocation":"54207:5:19","nodeType":"VariableDeclaration","scope":14643,"src":"54191:21:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14639,"name":"string","nodeType":"ElementaryTypeName","src":"54191:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"54143:70:19"},"returnParameters":{"id":14642,"nodeType":"ParameterList","parameters":[],"src":"54227:0:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14653,"nodeType":"FunctionDefinition","src":"54388:84:19","nodes":[],"documentation":{"id":14644,"nodeType":"StructuredDocumentation","src":"54234:149:19","text":"Compares two `int256` values. Expects first value to be greater than or equal to second.\n Formats values with decimals in failure message."},"functionSelector":"dc28c0f1","implemented":false,"kind":"function","modifiers":[],"name":"assertGeDecimal","nameLocation":"54397:15:19","parameters":{"id":14651,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14646,"mutability":"mutable","name":"left","nameLocation":"54420:4:19","nodeType":"VariableDeclaration","scope":14653,"src":"54413:11:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14645,"name":"int256","nodeType":"ElementaryTypeName","src":"54413:6:19","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14648,"mutability":"mutable","name":"right","nameLocation":"54433:5:19","nodeType":"VariableDeclaration","scope":14653,"src":"54426:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14647,"name":"int256","nodeType":"ElementaryTypeName","src":"54426:6:19","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14650,"mutability":"mutable","name":"decimals","nameLocation":"54448:8:19","nodeType":"VariableDeclaration","scope":14653,"src":"54440:16:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14649,"name":"uint256","nodeType":"ElementaryTypeName","src":"54440:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"54412:45:19"},"returnParameters":{"id":14652,"nodeType":"ParameterList","parameters":[],"src":"54471:0:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14665,"nodeType":"FunctionDefinition","src":"54686:107:19","nodes":[],"documentation":{"id":14654,"nodeType":"StructuredDocumentation","src":"54478:203:19","text":"Compares two `int256` values. Expects first value to be greater than or equal to second.\n Formats values with decimals in failure message. Includes error message into revert string on failure."},"functionSelector":"5df93c9b","implemented":false,"kind":"function","modifiers":[],"name":"assertGeDecimal","nameLocation":"54695:15:19","parameters":{"id":14663,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14656,"mutability":"mutable","name":"left","nameLocation":"54718:4:19","nodeType":"VariableDeclaration","scope":14665,"src":"54711:11:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14655,"name":"int256","nodeType":"ElementaryTypeName","src":"54711:6:19","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14658,"mutability":"mutable","name":"right","nameLocation":"54731:5:19","nodeType":"VariableDeclaration","scope":14665,"src":"54724:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14657,"name":"int256","nodeType":"ElementaryTypeName","src":"54724:6:19","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14660,"mutability":"mutable","name":"decimals","nameLocation":"54746:8:19","nodeType":"VariableDeclaration","scope":14665,"src":"54738:16:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14659,"name":"uint256","nodeType":"ElementaryTypeName","src":"54738:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14662,"mutability":"mutable","name":"error","nameLocation":"54772:5:19","nodeType":"VariableDeclaration","scope":14665,"src":"54756:21:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14661,"name":"string","nodeType":"ElementaryTypeName","src":"54756:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"54710:68:19"},"returnParameters":{"id":14664,"nodeType":"ParameterList","parameters":[],"src":"54792:0:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14673,"nodeType":"FunctionDefinition","src":"54897:61:19","nodes":[],"documentation":{"id":14666,"nodeType":"StructuredDocumentation","src":"54799:93:19","text":"Compares two `uint256` values. Expects first value to be greater than or equal to second."},"functionSelector":"a8d4d1d9","implemented":false,"kind":"function","modifiers":[],"name":"assertGe","nameLocation":"54906:8:19","parameters":{"id":14671,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14668,"mutability":"mutable","name":"left","nameLocation":"54923:4:19","nodeType":"VariableDeclaration","scope":14673,"src":"54915:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14667,"name":"uint256","nodeType":"ElementaryTypeName","src":"54915:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14670,"mutability":"mutable","name":"right","nameLocation":"54937:5:19","nodeType":"VariableDeclaration","scope":14673,"src":"54929:13:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14669,"name":"uint256","nodeType":"ElementaryTypeName","src":"54929:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"54914:29:19"},"returnParameters":{"id":14672,"nodeType":"ParameterList","parameters":[],"src":"54957:0:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14683,"nodeType":"FunctionDefinition","src":"55124:84:19","nodes":[],"documentation":{"id":14674,"nodeType":"StructuredDocumentation","src":"54964:155:19","text":"Compares two `uint256` values. Expects first value to be greater than or equal to second.\n Includes error message into revert string on failure."},"functionSelector":"e25242c0","implemented":false,"kind":"function","modifiers":[],"name":"assertGe","nameLocation":"55133:8:19","parameters":{"id":14681,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14676,"mutability":"mutable","name":"left","nameLocation":"55150:4:19","nodeType":"VariableDeclaration","scope":14683,"src":"55142:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14675,"name":"uint256","nodeType":"ElementaryTypeName","src":"55142:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14678,"mutability":"mutable","name":"right","nameLocation":"55164:5:19","nodeType":"VariableDeclaration","scope":14683,"src":"55156:13:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14677,"name":"uint256","nodeType":"ElementaryTypeName","src":"55156:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14680,"mutability":"mutable","name":"error","nameLocation":"55187:5:19","nodeType":"VariableDeclaration","scope":14683,"src":"55171:21:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14679,"name":"string","nodeType":"ElementaryTypeName","src":"55171:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"55141:52:19"},"returnParameters":{"id":14682,"nodeType":"ParameterList","parameters":[],"src":"55207:0:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14691,"nodeType":"FunctionDefinition","src":"55311:59:19","nodes":[],"documentation":{"id":14684,"nodeType":"StructuredDocumentation","src":"55214:92:19","text":"Compares two `int256` values. Expects first value to be greater than or equal to second."},"functionSelector":"0a30b771","implemented":false,"kind":"function","modifiers":[],"name":"assertGe","nameLocation":"55320:8:19","parameters":{"id":14689,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14686,"mutability":"mutable","name":"left","nameLocation":"55336:4:19","nodeType":"VariableDeclaration","scope":14691,"src":"55329:11:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14685,"name":"int256","nodeType":"ElementaryTypeName","src":"55329:6:19","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14688,"mutability":"mutable","name":"right","nameLocation":"55349:5:19","nodeType":"VariableDeclaration","scope":14691,"src":"55342:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14687,"name":"int256","nodeType":"ElementaryTypeName","src":"55342:6:19","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"55328:27:19"},"returnParameters":{"id":14690,"nodeType":"ParameterList","parameters":[],"src":"55369:0:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14701,"nodeType":"FunctionDefinition","src":"55535:82:19","nodes":[],"documentation":{"id":14692,"nodeType":"StructuredDocumentation","src":"55376:154:19","text":"Compares two `int256` values. Expects first value to be greater than or equal to second.\n Includes error message into revert string on failure."},"functionSelector":"a84328dd","implemented":false,"kind":"function","modifiers":[],"name":"assertGe","nameLocation":"55544:8:19","parameters":{"id":14699,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14694,"mutability":"mutable","name":"left","nameLocation":"55560:4:19","nodeType":"VariableDeclaration","scope":14701,"src":"55553:11:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14693,"name":"int256","nodeType":"ElementaryTypeName","src":"55553:6:19","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14696,"mutability":"mutable","name":"right","nameLocation":"55573:5:19","nodeType":"VariableDeclaration","scope":14701,"src":"55566:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14695,"name":"int256","nodeType":"ElementaryTypeName","src":"55566:6:19","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14698,"mutability":"mutable","name":"error","nameLocation":"55596:5:19","nodeType":"VariableDeclaration","scope":14701,"src":"55580:21:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14697,"name":"string","nodeType":"ElementaryTypeName","src":"55580:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"55552:50:19"},"returnParameters":{"id":14700,"nodeType":"ParameterList","parameters":[],"src":"55616:0:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14711,"nodeType":"FunctionDefinition","src":"55766:86:19","nodes":[],"documentation":{"id":14702,"nodeType":"StructuredDocumentation","src":"55623:138:19","text":"Compares two `uint256` values. Expects first value to be greater than second.\n Formats values with decimals in failure message."},"functionSelector":"eccd2437","implemented":false,"kind":"function","modifiers":[],"name":"assertGtDecimal","nameLocation":"55775:15:19","parameters":{"id":14709,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14704,"mutability":"mutable","name":"left","nameLocation":"55799:4:19","nodeType":"VariableDeclaration","scope":14711,"src":"55791:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14703,"name":"uint256","nodeType":"ElementaryTypeName","src":"55791:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14706,"mutability":"mutable","name":"right","nameLocation":"55813:5:19","nodeType":"VariableDeclaration","scope":14711,"src":"55805:13:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14705,"name":"uint256","nodeType":"ElementaryTypeName","src":"55805:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14708,"mutability":"mutable","name":"decimals","nameLocation":"55828:8:19","nodeType":"VariableDeclaration","scope":14711,"src":"55820:16:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14707,"name":"uint256","nodeType":"ElementaryTypeName","src":"55820:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"55790:47:19"},"returnParameters":{"id":14710,"nodeType":"ParameterList","parameters":[],"src":"55851:0:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14723,"nodeType":"FunctionDefinition","src":"56055:109:19","nodes":[],"documentation":{"id":14712,"nodeType":"StructuredDocumentation","src":"55858:192:19","text":"Compares two `uint256` values. Expects first value to be greater than second.\n Formats values with decimals in failure message. Includes error message into revert string on failure."},"functionSelector":"64949a8d","implemented":false,"kind":"function","modifiers":[],"name":"assertGtDecimal","nameLocation":"56064:15:19","parameters":{"id":14721,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14714,"mutability":"mutable","name":"left","nameLocation":"56088:4:19","nodeType":"VariableDeclaration","scope":14723,"src":"56080:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14713,"name":"uint256","nodeType":"ElementaryTypeName","src":"56080:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14716,"mutability":"mutable","name":"right","nameLocation":"56102:5:19","nodeType":"VariableDeclaration","scope":14723,"src":"56094:13:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14715,"name":"uint256","nodeType":"ElementaryTypeName","src":"56094:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14718,"mutability":"mutable","name":"decimals","nameLocation":"56117:8:19","nodeType":"VariableDeclaration","scope":14723,"src":"56109:16:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14717,"name":"uint256","nodeType":"ElementaryTypeName","src":"56109:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14720,"mutability":"mutable","name":"error","nameLocation":"56143:5:19","nodeType":"VariableDeclaration","scope":14723,"src":"56127:21:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14719,"name":"string","nodeType":"ElementaryTypeName","src":"56127:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"56079:70:19"},"returnParameters":{"id":14722,"nodeType":"ParameterList","parameters":[],"src":"56163:0:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14733,"nodeType":"FunctionDefinition","src":"56312:84:19","nodes":[],"documentation":{"id":14724,"nodeType":"StructuredDocumentation","src":"56170:137:19","text":"Compares two `int256` values. Expects first value to be greater than second.\n Formats values with decimals in failure message."},"functionSelector":"78611f0e","implemented":false,"kind":"function","modifiers":[],"name":"assertGtDecimal","nameLocation":"56321:15:19","parameters":{"id":14731,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14726,"mutability":"mutable","name":"left","nameLocation":"56344:4:19","nodeType":"VariableDeclaration","scope":14733,"src":"56337:11:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14725,"name":"int256","nodeType":"ElementaryTypeName","src":"56337:6:19","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14728,"mutability":"mutable","name":"right","nameLocation":"56357:5:19","nodeType":"VariableDeclaration","scope":14733,"src":"56350:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14727,"name":"int256","nodeType":"ElementaryTypeName","src":"56350:6:19","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14730,"mutability":"mutable","name":"decimals","nameLocation":"56372:8:19","nodeType":"VariableDeclaration","scope":14733,"src":"56364:16:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14729,"name":"uint256","nodeType":"ElementaryTypeName","src":"56364:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"56336:45:19"},"returnParameters":{"id":14732,"nodeType":"ParameterList","parameters":[],"src":"56395:0:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14745,"nodeType":"FunctionDefinition","src":"56598:107:19","nodes":[],"documentation":{"id":14734,"nodeType":"StructuredDocumentation","src":"56402:191:19","text":"Compares two `int256` values. Expects first value to be greater than second.\n Formats values with decimals in failure message. Includes error message into revert string on failure."},"functionSelector":"04a5c7ab","implemented":false,"kind":"function","modifiers":[],"name":"assertGtDecimal","nameLocation":"56607:15:19","parameters":{"id":14743,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14736,"mutability":"mutable","name":"left","nameLocation":"56630:4:19","nodeType":"VariableDeclaration","scope":14745,"src":"56623:11:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14735,"name":"int256","nodeType":"ElementaryTypeName","src":"56623:6:19","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14738,"mutability":"mutable","name":"right","nameLocation":"56643:5:19","nodeType":"VariableDeclaration","scope":14745,"src":"56636:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14737,"name":"int256","nodeType":"ElementaryTypeName","src":"56636:6:19","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14740,"mutability":"mutable","name":"decimals","nameLocation":"56658:8:19","nodeType":"VariableDeclaration","scope":14745,"src":"56650:16:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14739,"name":"uint256","nodeType":"ElementaryTypeName","src":"56650:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14742,"mutability":"mutable","name":"error","nameLocation":"56684:5:19","nodeType":"VariableDeclaration","scope":14745,"src":"56668:21:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14741,"name":"string","nodeType":"ElementaryTypeName","src":"56668:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"56622:68:19"},"returnParameters":{"id":14744,"nodeType":"ParameterList","parameters":[],"src":"56704:0:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14753,"nodeType":"FunctionDefinition","src":"56797:61:19","nodes":[],"documentation":{"id":14746,"nodeType":"StructuredDocumentation","src":"56711:81:19","text":"Compares two `uint256` values. Expects first value to be greater than second."},"functionSelector":"db07fcd2","implemented":false,"kind":"function","modifiers":[],"name":"assertGt","nameLocation":"56806:8:19","parameters":{"id":14751,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14748,"mutability":"mutable","name":"left","nameLocation":"56823:4:19","nodeType":"VariableDeclaration","scope":14753,"src":"56815:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14747,"name":"uint256","nodeType":"ElementaryTypeName","src":"56815:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14750,"mutability":"mutable","name":"right","nameLocation":"56837:5:19","nodeType":"VariableDeclaration","scope":14753,"src":"56829:13:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14749,"name":"uint256","nodeType":"ElementaryTypeName","src":"56829:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"56814:29:19"},"returnParameters":{"id":14752,"nodeType":"ParameterList","parameters":[],"src":"56857:0:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14763,"nodeType":"FunctionDefinition","src":"57012:84:19","nodes":[],"documentation":{"id":14754,"nodeType":"StructuredDocumentation","src":"56864:143:19","text":"Compares two `uint256` values. Expects first value to be greater than second.\n Includes error message into revert string on failure."},"functionSelector":"d9a3c4d2","implemented":false,"kind":"function","modifiers":[],"name":"assertGt","nameLocation":"57021:8:19","parameters":{"id":14761,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14756,"mutability":"mutable","name":"left","nameLocation":"57038:4:19","nodeType":"VariableDeclaration","scope":14763,"src":"57030:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14755,"name":"uint256","nodeType":"ElementaryTypeName","src":"57030:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14758,"mutability":"mutable","name":"right","nameLocation":"57052:5:19","nodeType":"VariableDeclaration","scope":14763,"src":"57044:13:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14757,"name":"uint256","nodeType":"ElementaryTypeName","src":"57044:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14760,"mutability":"mutable","name":"error","nameLocation":"57075:5:19","nodeType":"VariableDeclaration","scope":14763,"src":"57059:21:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14759,"name":"string","nodeType":"ElementaryTypeName","src":"57059:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"57029:52:19"},"returnParameters":{"id":14762,"nodeType":"ParameterList","parameters":[],"src":"57095:0:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14771,"nodeType":"FunctionDefinition","src":"57187:59:19","nodes":[],"documentation":{"id":14764,"nodeType":"StructuredDocumentation","src":"57102:80:19","text":"Compares two `int256` values. Expects first value to be greater than second."},"functionSelector":"5a362d45","implemented":false,"kind":"function","modifiers":[],"name":"assertGt","nameLocation":"57196:8:19","parameters":{"id":14769,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14766,"mutability":"mutable","name":"left","nameLocation":"57212:4:19","nodeType":"VariableDeclaration","scope":14771,"src":"57205:11:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14765,"name":"int256","nodeType":"ElementaryTypeName","src":"57205:6:19","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14768,"mutability":"mutable","name":"right","nameLocation":"57225:5:19","nodeType":"VariableDeclaration","scope":14771,"src":"57218:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14767,"name":"int256","nodeType":"ElementaryTypeName","src":"57218:6:19","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"57204:27:19"},"returnParameters":{"id":14770,"nodeType":"ParameterList","parameters":[],"src":"57245:0:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14781,"nodeType":"FunctionDefinition","src":"57399:82:19","nodes":[],"documentation":{"id":14772,"nodeType":"StructuredDocumentation","src":"57252:142:19","text":"Compares two `int256` values. Expects first value to be greater than second.\n Includes error message into revert string on failure."},"functionSelector":"f8d33b9b","implemented":false,"kind":"function","modifiers":[],"name":"assertGt","nameLocation":"57408:8:19","parameters":{"id":14779,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14774,"mutability":"mutable","name":"left","nameLocation":"57424:4:19","nodeType":"VariableDeclaration","scope":14781,"src":"57417:11:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14773,"name":"int256","nodeType":"ElementaryTypeName","src":"57417:6:19","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14776,"mutability":"mutable","name":"right","nameLocation":"57437:5:19","nodeType":"VariableDeclaration","scope":14781,"src":"57430:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14775,"name":"int256","nodeType":"ElementaryTypeName","src":"57430:6:19","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14778,"mutability":"mutable","name":"error","nameLocation":"57460:5:19","nodeType":"VariableDeclaration","scope":14781,"src":"57444:21:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14777,"name":"string","nodeType":"ElementaryTypeName","src":"57444:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"57416:50:19"},"returnParameters":{"id":14780,"nodeType":"ParameterList","parameters":[],"src":"57480:0:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14791,"nodeType":"FunctionDefinition","src":"57639:86:19","nodes":[],"documentation":{"id":14782,"nodeType":"StructuredDocumentation","src":"57487:147:19","text":"Compares two `uint256` values. Expects first value to be less than or equal to second.\n Formats values with decimals in failure message."},"functionSelector":"c304aab7","implemented":false,"kind":"function","modifiers":[],"name":"assertLeDecimal","nameLocation":"57648:15:19","parameters":{"id":14789,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14784,"mutability":"mutable","name":"left","nameLocation":"57672:4:19","nodeType":"VariableDeclaration","scope":14791,"src":"57664:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14783,"name":"uint256","nodeType":"ElementaryTypeName","src":"57664:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14786,"mutability":"mutable","name":"right","nameLocation":"57686:5:19","nodeType":"VariableDeclaration","scope":14791,"src":"57678:13:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14785,"name":"uint256","nodeType":"ElementaryTypeName","src":"57678:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14788,"mutability":"mutable","name":"decimals","nameLocation":"57701:8:19","nodeType":"VariableDeclaration","scope":14791,"src":"57693:16:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14787,"name":"uint256","nodeType":"ElementaryTypeName","src":"57693:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"57663:47:19"},"returnParameters":{"id":14790,"nodeType":"ParameterList","parameters":[],"src":"57724:0:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14803,"nodeType":"FunctionDefinition","src":"57937:109:19","nodes":[],"documentation":{"id":14792,"nodeType":"StructuredDocumentation","src":"57731:201:19","text":"Compares two `uint256` values. Expects first value to be less than or equal to second.\n Formats values with decimals in failure message. Includes error message into revert string on failure."},"functionSelector":"7fefbbe0","implemented":false,"kind":"function","modifiers":[],"name":"assertLeDecimal","nameLocation":"57946:15:19","parameters":{"id":14801,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14794,"mutability":"mutable","name":"left","nameLocation":"57970:4:19","nodeType":"VariableDeclaration","scope":14803,"src":"57962:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14793,"name":"uint256","nodeType":"ElementaryTypeName","src":"57962:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14796,"mutability":"mutable","name":"right","nameLocation":"57984:5:19","nodeType":"VariableDeclaration","scope":14803,"src":"57976:13:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14795,"name":"uint256","nodeType":"ElementaryTypeName","src":"57976:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14798,"mutability":"mutable","name":"decimals","nameLocation":"57999:8:19","nodeType":"VariableDeclaration","scope":14803,"src":"57991:16:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14797,"name":"uint256","nodeType":"ElementaryTypeName","src":"57991:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14800,"mutability":"mutable","name":"error","nameLocation":"58025:5:19","nodeType":"VariableDeclaration","scope":14803,"src":"58009:21:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14799,"name":"string","nodeType":"ElementaryTypeName","src":"58009:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"57961:70:19"},"returnParameters":{"id":14802,"nodeType":"ParameterList","parameters":[],"src":"58045:0:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14813,"nodeType":"FunctionDefinition","src":"58203:84:19","nodes":[],"documentation":{"id":14804,"nodeType":"StructuredDocumentation","src":"58052:146:19","text":"Compares two `int256` values. Expects first value to be less than or equal to second.\n Formats values with decimals in failure message."},"functionSelector":"11d1364a","implemented":false,"kind":"function","modifiers":[],"name":"assertLeDecimal","nameLocation":"58212:15:19","parameters":{"id":14811,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14806,"mutability":"mutable","name":"left","nameLocation":"58235:4:19","nodeType":"VariableDeclaration","scope":14813,"src":"58228:11:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14805,"name":"int256","nodeType":"ElementaryTypeName","src":"58228:6:19","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14808,"mutability":"mutable","name":"right","nameLocation":"58248:5:19","nodeType":"VariableDeclaration","scope":14813,"src":"58241:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14807,"name":"int256","nodeType":"ElementaryTypeName","src":"58241:6:19","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14810,"mutability":"mutable","name":"decimals","nameLocation":"58263:8:19","nodeType":"VariableDeclaration","scope":14813,"src":"58255:16:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14809,"name":"uint256","nodeType":"ElementaryTypeName","src":"58255:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"58227:45:19"},"returnParameters":{"id":14812,"nodeType":"ParameterList","parameters":[],"src":"58286:0:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14825,"nodeType":"FunctionDefinition","src":"58498:107:19","nodes":[],"documentation":{"id":14814,"nodeType":"StructuredDocumentation","src":"58293:200:19","text":"Compares two `int256` values. Expects first value to be less than or equal to second.\n Formats values with decimals in failure message. Includes error message into revert string on failure."},"functionSelector":"aa5cf788","implemented":false,"kind":"function","modifiers":[],"name":"assertLeDecimal","nameLocation":"58507:15:19","parameters":{"id":14823,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14816,"mutability":"mutable","name":"left","nameLocation":"58530:4:19","nodeType":"VariableDeclaration","scope":14825,"src":"58523:11:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14815,"name":"int256","nodeType":"ElementaryTypeName","src":"58523:6:19","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14818,"mutability":"mutable","name":"right","nameLocation":"58543:5:19","nodeType":"VariableDeclaration","scope":14825,"src":"58536:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14817,"name":"int256","nodeType":"ElementaryTypeName","src":"58536:6:19","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14820,"mutability":"mutable","name":"decimals","nameLocation":"58558:8:19","nodeType":"VariableDeclaration","scope":14825,"src":"58550:16:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14819,"name":"uint256","nodeType":"ElementaryTypeName","src":"58550:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14822,"mutability":"mutable","name":"error","nameLocation":"58584:5:19","nodeType":"VariableDeclaration","scope":14825,"src":"58568:21:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14821,"name":"string","nodeType":"ElementaryTypeName","src":"58568:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"58522:68:19"},"returnParameters":{"id":14824,"nodeType":"ParameterList","parameters":[],"src":"58604:0:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14833,"nodeType":"FunctionDefinition","src":"58706:61:19","nodes":[],"documentation":{"id":14826,"nodeType":"StructuredDocumentation","src":"58611:90:19","text":"Compares two `uint256` values. Expects first value to be less than or equal to second."},"functionSelector":"8466f415","implemented":false,"kind":"function","modifiers":[],"name":"assertLe","nameLocation":"58715:8:19","parameters":{"id":14831,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14828,"mutability":"mutable","name":"left","nameLocation":"58732:4:19","nodeType":"VariableDeclaration","scope":14833,"src":"58724:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14827,"name":"uint256","nodeType":"ElementaryTypeName","src":"58724:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14830,"mutability":"mutable","name":"right","nameLocation":"58746:5:19","nodeType":"VariableDeclaration","scope":14833,"src":"58738:13:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14829,"name":"uint256","nodeType":"ElementaryTypeName","src":"58738:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"58723:29:19"},"returnParameters":{"id":14832,"nodeType":"ParameterList","parameters":[],"src":"58766:0:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14843,"nodeType":"FunctionDefinition","src":"58930:84:19","nodes":[],"documentation":{"id":14834,"nodeType":"StructuredDocumentation","src":"58773:152:19","text":"Compares two `uint256` values. Expects first value to be less than or equal to second.\n Includes error message into revert string on failure."},"functionSelector":"d17d4b0d","implemented":false,"kind":"function","modifiers":[],"name":"assertLe","nameLocation":"58939:8:19","parameters":{"id":14841,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14836,"mutability":"mutable","name":"left","nameLocation":"58956:4:19","nodeType":"VariableDeclaration","scope":14843,"src":"58948:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14835,"name":"uint256","nodeType":"ElementaryTypeName","src":"58948:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14838,"mutability":"mutable","name":"right","nameLocation":"58970:5:19","nodeType":"VariableDeclaration","scope":14843,"src":"58962:13:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14837,"name":"uint256","nodeType":"ElementaryTypeName","src":"58962:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14840,"mutability":"mutable","name":"error","nameLocation":"58993:5:19","nodeType":"VariableDeclaration","scope":14843,"src":"58977:21:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14839,"name":"string","nodeType":"ElementaryTypeName","src":"58977:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"58947:52:19"},"returnParameters":{"id":14842,"nodeType":"ParameterList","parameters":[],"src":"59013:0:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14851,"nodeType":"FunctionDefinition","src":"59114:59:19","nodes":[],"documentation":{"id":14844,"nodeType":"StructuredDocumentation","src":"59020:89:19","text":"Compares two `int256` values. Expects first value to be less than or equal to second."},"functionSelector":"95fd154e","implemented":false,"kind":"function","modifiers":[],"name":"assertLe","nameLocation":"59123:8:19","parameters":{"id":14849,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14846,"mutability":"mutable","name":"left","nameLocation":"59139:4:19","nodeType":"VariableDeclaration","scope":14851,"src":"59132:11:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14845,"name":"int256","nodeType":"ElementaryTypeName","src":"59132:6:19","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14848,"mutability":"mutable","name":"right","nameLocation":"59152:5:19","nodeType":"VariableDeclaration","scope":14851,"src":"59145:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14847,"name":"int256","nodeType":"ElementaryTypeName","src":"59145:6:19","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"59131:27:19"},"returnParameters":{"id":14850,"nodeType":"ParameterList","parameters":[],"src":"59172:0:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14861,"nodeType":"FunctionDefinition","src":"59335:82:19","nodes":[],"documentation":{"id":14852,"nodeType":"StructuredDocumentation","src":"59179:151:19","text":"Compares two `int256` values. Expects first value to be less than or equal to second.\n Includes error message into revert string on failure."},"functionSelector":"4dfe692c","implemented":false,"kind":"function","modifiers":[],"name":"assertLe","nameLocation":"59344:8:19","parameters":{"id":14859,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14854,"mutability":"mutable","name":"left","nameLocation":"59360:4:19","nodeType":"VariableDeclaration","scope":14861,"src":"59353:11:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14853,"name":"int256","nodeType":"ElementaryTypeName","src":"59353:6:19","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14856,"mutability":"mutable","name":"right","nameLocation":"59373:5:19","nodeType":"VariableDeclaration","scope":14861,"src":"59366:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14855,"name":"int256","nodeType":"ElementaryTypeName","src":"59366:6:19","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14858,"mutability":"mutable","name":"error","nameLocation":"59396:5:19","nodeType":"VariableDeclaration","scope":14861,"src":"59380:21:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14857,"name":"string","nodeType":"ElementaryTypeName","src":"59380:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"59352:50:19"},"returnParameters":{"id":14860,"nodeType":"ParameterList","parameters":[],"src":"59416:0:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14871,"nodeType":"FunctionDefinition","src":"59563:86:19","nodes":[],"documentation":{"id":14862,"nodeType":"StructuredDocumentation","src":"59423:135:19","text":"Compares two `uint256` values. Expects first value to be less than second.\n Formats values with decimals in failure message."},"functionSelector":"2077337e","implemented":false,"kind":"function","modifiers":[],"name":"assertLtDecimal","nameLocation":"59572:15:19","parameters":{"id":14869,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14864,"mutability":"mutable","name":"left","nameLocation":"59596:4:19","nodeType":"VariableDeclaration","scope":14871,"src":"59588:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14863,"name":"uint256","nodeType":"ElementaryTypeName","src":"59588:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14866,"mutability":"mutable","name":"right","nameLocation":"59610:5:19","nodeType":"VariableDeclaration","scope":14871,"src":"59602:13:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14865,"name":"uint256","nodeType":"ElementaryTypeName","src":"59602:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14868,"mutability":"mutable","name":"decimals","nameLocation":"59625:8:19","nodeType":"VariableDeclaration","scope":14871,"src":"59617:16:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14867,"name":"uint256","nodeType":"ElementaryTypeName","src":"59617:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"59587:47:19"},"returnParameters":{"id":14870,"nodeType":"ParameterList","parameters":[],"src":"59648:0:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14883,"nodeType":"FunctionDefinition","src":"59849:109:19","nodes":[],"documentation":{"id":14872,"nodeType":"StructuredDocumentation","src":"59655:189:19","text":"Compares two `uint256` values. Expects first value to be less than second.\n Formats values with decimals in failure message. Includes error message into revert string on failure."},"functionSelector":"a972d037","implemented":false,"kind":"function","modifiers":[],"name":"assertLtDecimal","nameLocation":"59858:15:19","parameters":{"id":14881,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14874,"mutability":"mutable","name":"left","nameLocation":"59882:4:19","nodeType":"VariableDeclaration","scope":14883,"src":"59874:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14873,"name":"uint256","nodeType":"ElementaryTypeName","src":"59874:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14876,"mutability":"mutable","name":"right","nameLocation":"59896:5:19","nodeType":"VariableDeclaration","scope":14883,"src":"59888:13:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14875,"name":"uint256","nodeType":"ElementaryTypeName","src":"59888:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14878,"mutability":"mutable","name":"decimals","nameLocation":"59911:8:19","nodeType":"VariableDeclaration","scope":14883,"src":"59903:16:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14877,"name":"uint256","nodeType":"ElementaryTypeName","src":"59903:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14880,"mutability":"mutable","name":"error","nameLocation":"59937:5:19","nodeType":"VariableDeclaration","scope":14883,"src":"59921:21:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14879,"name":"string","nodeType":"ElementaryTypeName","src":"59921:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"59873:70:19"},"returnParameters":{"id":14882,"nodeType":"ParameterList","parameters":[],"src":"59957:0:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14893,"nodeType":"FunctionDefinition","src":"60103:84:19","nodes":[],"documentation":{"id":14884,"nodeType":"StructuredDocumentation","src":"59964:134:19","text":"Compares two `int256` values. Expects first value to be less than second.\n Formats values with decimals in failure message."},"functionSelector":"dbe8d88b","implemented":false,"kind":"function","modifiers":[],"name":"assertLtDecimal","nameLocation":"60112:15:19","parameters":{"id":14891,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14886,"mutability":"mutable","name":"left","nameLocation":"60135:4:19","nodeType":"VariableDeclaration","scope":14893,"src":"60128:11:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14885,"name":"int256","nodeType":"ElementaryTypeName","src":"60128:6:19","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14888,"mutability":"mutable","name":"right","nameLocation":"60148:5:19","nodeType":"VariableDeclaration","scope":14893,"src":"60141:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14887,"name":"int256","nodeType":"ElementaryTypeName","src":"60141:6:19","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14890,"mutability":"mutable","name":"decimals","nameLocation":"60163:8:19","nodeType":"VariableDeclaration","scope":14893,"src":"60155:16:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14889,"name":"uint256","nodeType":"ElementaryTypeName","src":"60155:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"60127:45:19"},"returnParameters":{"id":14892,"nodeType":"ParameterList","parameters":[],"src":"60186:0:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14905,"nodeType":"FunctionDefinition","src":"60386:107:19","nodes":[],"documentation":{"id":14894,"nodeType":"StructuredDocumentation","src":"60193:188:19","text":"Compares two `int256` values. Expects first value to be less than second.\n Formats values with decimals in failure message. Includes error message into revert string on failure."},"functionSelector":"40f0b4e0","implemented":false,"kind":"function","modifiers":[],"name":"assertLtDecimal","nameLocation":"60395:15:19","parameters":{"id":14903,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14896,"mutability":"mutable","name":"left","nameLocation":"60418:4:19","nodeType":"VariableDeclaration","scope":14905,"src":"60411:11:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14895,"name":"int256","nodeType":"ElementaryTypeName","src":"60411:6:19","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14898,"mutability":"mutable","name":"right","nameLocation":"60431:5:19","nodeType":"VariableDeclaration","scope":14905,"src":"60424:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14897,"name":"int256","nodeType":"ElementaryTypeName","src":"60424:6:19","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14900,"mutability":"mutable","name":"decimals","nameLocation":"60446:8:19","nodeType":"VariableDeclaration","scope":14905,"src":"60438:16:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14899,"name":"uint256","nodeType":"ElementaryTypeName","src":"60438:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14902,"mutability":"mutable","name":"error","nameLocation":"60472:5:19","nodeType":"VariableDeclaration","scope":14905,"src":"60456:21:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14901,"name":"string","nodeType":"ElementaryTypeName","src":"60456:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"60410:68:19"},"returnParameters":{"id":14904,"nodeType":"ParameterList","parameters":[],"src":"60492:0:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14913,"nodeType":"FunctionDefinition","src":"60582:61:19","nodes":[],"documentation":{"id":14906,"nodeType":"StructuredDocumentation","src":"60499:78:19","text":"Compares two `uint256` values. Expects first value to be less than second."},"functionSelector":"b12fc005","implemented":false,"kind":"function","modifiers":[],"name":"assertLt","nameLocation":"60591:8:19","parameters":{"id":14911,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14908,"mutability":"mutable","name":"left","nameLocation":"60608:4:19","nodeType":"VariableDeclaration","scope":14913,"src":"60600:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14907,"name":"uint256","nodeType":"ElementaryTypeName","src":"60600:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14910,"mutability":"mutable","name":"right","nameLocation":"60622:5:19","nodeType":"VariableDeclaration","scope":14913,"src":"60614:13:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14909,"name":"uint256","nodeType":"ElementaryTypeName","src":"60614:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"60599:29:19"},"returnParameters":{"id":14912,"nodeType":"ParameterList","parameters":[],"src":"60642:0:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14923,"nodeType":"FunctionDefinition","src":"60794:84:19","nodes":[],"documentation":{"id":14914,"nodeType":"StructuredDocumentation","src":"60649:140:19","text":"Compares two `uint256` values. Expects first value to be less than second.\n Includes error message into revert string on failure."},"functionSelector":"65d5c135","implemented":false,"kind":"function","modifiers":[],"name":"assertLt","nameLocation":"60803:8:19","parameters":{"id":14921,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14916,"mutability":"mutable","name":"left","nameLocation":"60820:4:19","nodeType":"VariableDeclaration","scope":14923,"src":"60812:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14915,"name":"uint256","nodeType":"ElementaryTypeName","src":"60812:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14918,"mutability":"mutable","name":"right","nameLocation":"60834:5:19","nodeType":"VariableDeclaration","scope":14923,"src":"60826:13:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14917,"name":"uint256","nodeType":"ElementaryTypeName","src":"60826:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14920,"mutability":"mutable","name":"error","nameLocation":"60857:5:19","nodeType":"VariableDeclaration","scope":14923,"src":"60841:21:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14919,"name":"string","nodeType":"ElementaryTypeName","src":"60841:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"60811:52:19"},"returnParameters":{"id":14922,"nodeType":"ParameterList","parameters":[],"src":"60877:0:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14931,"nodeType":"FunctionDefinition","src":"60966:59:19","nodes":[],"documentation":{"id":14924,"nodeType":"StructuredDocumentation","src":"60884:77:19","text":"Compares two `int256` values. Expects first value to be less than second."},"functionSelector":"3e914080","implemented":false,"kind":"function","modifiers":[],"name":"assertLt","nameLocation":"60975:8:19","parameters":{"id":14929,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14926,"mutability":"mutable","name":"left","nameLocation":"60991:4:19","nodeType":"VariableDeclaration","scope":14931,"src":"60984:11:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14925,"name":"int256","nodeType":"ElementaryTypeName","src":"60984:6:19","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14928,"mutability":"mutable","name":"right","nameLocation":"61004:5:19","nodeType":"VariableDeclaration","scope":14931,"src":"60997:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14927,"name":"int256","nodeType":"ElementaryTypeName","src":"60997:6:19","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"60983:27:19"},"returnParameters":{"id":14930,"nodeType":"ParameterList","parameters":[],"src":"61024:0:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14941,"nodeType":"FunctionDefinition","src":"61175:82:19","nodes":[],"documentation":{"id":14932,"nodeType":"StructuredDocumentation","src":"61031:139:19","text":"Compares two `int256` values. Expects first value to be less than second.\n Includes error message into revert string on failure."},"functionSelector":"9ff531e3","implemented":false,"kind":"function","modifiers":[],"name":"assertLt","nameLocation":"61184:8:19","parameters":{"id":14939,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14934,"mutability":"mutable","name":"left","nameLocation":"61200:4:19","nodeType":"VariableDeclaration","scope":14941,"src":"61193:11:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14933,"name":"int256","nodeType":"ElementaryTypeName","src":"61193:6:19","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14936,"mutability":"mutable","name":"right","nameLocation":"61213:5:19","nodeType":"VariableDeclaration","scope":14941,"src":"61206:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14935,"name":"int256","nodeType":"ElementaryTypeName","src":"61206:6:19","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14938,"mutability":"mutable","name":"error","nameLocation":"61236:5:19","nodeType":"VariableDeclaration","scope":14941,"src":"61220:21:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14937,"name":"string","nodeType":"ElementaryTypeName","src":"61220:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"61192:50:19"},"returnParameters":{"id":14940,"nodeType":"ParameterList","parameters":[],"src":"61256:0:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14951,"nodeType":"FunctionDefinition","src":"61370:89:19","nodes":[],"documentation":{"id":14942,"nodeType":"StructuredDocumentation","src":"61263:102:19","text":"Asserts that two `uint256` values are not equal, formatting them with decimals in failure message."},"functionSelector":"669efca7","implemented":false,"kind":"function","modifiers":[],"name":"assertNotEqDecimal","nameLocation":"61379:18:19","parameters":{"id":14949,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14944,"mutability":"mutable","name":"left","nameLocation":"61406:4:19","nodeType":"VariableDeclaration","scope":14951,"src":"61398:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14943,"name":"uint256","nodeType":"ElementaryTypeName","src":"61398:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14946,"mutability":"mutable","name":"right","nameLocation":"61420:5:19","nodeType":"VariableDeclaration","scope":14951,"src":"61412:13:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14945,"name":"uint256","nodeType":"ElementaryTypeName","src":"61412:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14948,"mutability":"mutable","name":"decimals","nameLocation":"61435:8:19","nodeType":"VariableDeclaration","scope":14951,"src":"61427:16:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14947,"name":"uint256","nodeType":"ElementaryTypeName","src":"61427:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"61397:47:19"},"returnParameters":{"id":14950,"nodeType":"ParameterList","parameters":[],"src":"61458:0:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14963,"nodeType":"FunctionDefinition","src":"61634:112:19","nodes":[],"documentation":{"id":14952,"nodeType":"StructuredDocumentation","src":"61465:164:19","text":"Asserts that two `uint256` values are not equal, formatting them with decimals in failure message.\n Includes error message into revert string on failure."},"functionSelector":"f5a55558","implemented":false,"kind":"function","modifiers":[],"name":"assertNotEqDecimal","nameLocation":"61643:18:19","parameters":{"id":14961,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14954,"mutability":"mutable","name":"left","nameLocation":"61670:4:19","nodeType":"VariableDeclaration","scope":14963,"src":"61662:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14953,"name":"uint256","nodeType":"ElementaryTypeName","src":"61662:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14956,"mutability":"mutable","name":"right","nameLocation":"61684:5:19","nodeType":"VariableDeclaration","scope":14963,"src":"61676:13:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14955,"name":"uint256","nodeType":"ElementaryTypeName","src":"61676:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14958,"mutability":"mutable","name":"decimals","nameLocation":"61699:8:19","nodeType":"VariableDeclaration","scope":14963,"src":"61691:16:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14957,"name":"uint256","nodeType":"ElementaryTypeName","src":"61691:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14960,"mutability":"mutable","name":"error","nameLocation":"61725:5:19","nodeType":"VariableDeclaration","scope":14963,"src":"61709:21:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14959,"name":"string","nodeType":"ElementaryTypeName","src":"61709:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"61661:70:19"},"returnParameters":{"id":14962,"nodeType":"ParameterList","parameters":[],"src":"61745:0:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14973,"nodeType":"FunctionDefinition","src":"61858:87:19","nodes":[],"documentation":{"id":14964,"nodeType":"StructuredDocumentation","src":"61752:101:19","text":"Asserts that two `int256` values are not equal, formatting them with decimals in failure message."},"functionSelector":"14e75680","implemented":false,"kind":"function","modifiers":[],"name":"assertNotEqDecimal","nameLocation":"61867:18:19","parameters":{"id":14971,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14966,"mutability":"mutable","name":"left","nameLocation":"61893:4:19","nodeType":"VariableDeclaration","scope":14973,"src":"61886:11:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14965,"name":"int256","nodeType":"ElementaryTypeName","src":"61886:6:19","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14968,"mutability":"mutable","name":"right","nameLocation":"61906:5:19","nodeType":"VariableDeclaration","scope":14973,"src":"61899:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14967,"name":"int256","nodeType":"ElementaryTypeName","src":"61899:6:19","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14970,"mutability":"mutable","name":"decimals","nameLocation":"61921:8:19","nodeType":"VariableDeclaration","scope":14973,"src":"61913:16:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14969,"name":"uint256","nodeType":"ElementaryTypeName","src":"61913:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"61885:45:19"},"returnParameters":{"id":14972,"nodeType":"ParameterList","parameters":[],"src":"61944:0:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14985,"nodeType":"FunctionDefinition","src":"62119:110:19","nodes":[],"documentation":{"id":14974,"nodeType":"StructuredDocumentation","src":"61951:163:19","text":"Asserts that two `int256` values are not equal, formatting them with decimals in failure message.\n Includes error message into revert string on failure."},"functionSelector":"33949f0b","implemented":false,"kind":"function","modifiers":[],"name":"assertNotEqDecimal","nameLocation":"62128:18:19","parameters":{"id":14983,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14976,"mutability":"mutable","name":"left","nameLocation":"62154:4:19","nodeType":"VariableDeclaration","scope":14985,"src":"62147:11:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14975,"name":"int256","nodeType":"ElementaryTypeName","src":"62147:6:19","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14978,"mutability":"mutable","name":"right","nameLocation":"62167:5:19","nodeType":"VariableDeclaration","scope":14985,"src":"62160:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14977,"name":"int256","nodeType":"ElementaryTypeName","src":"62160:6:19","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14980,"mutability":"mutable","name":"decimals","nameLocation":"62182:8:19","nodeType":"VariableDeclaration","scope":14985,"src":"62174:16:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14979,"name":"uint256","nodeType":"ElementaryTypeName","src":"62174:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14982,"mutability":"mutable","name":"error","nameLocation":"62208:5:19","nodeType":"VariableDeclaration","scope":14985,"src":"62192:21:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14981,"name":"string","nodeType":"ElementaryTypeName","src":"62192:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"62146:68:19"},"returnParameters":{"id":14984,"nodeType":"ParameterList","parameters":[],"src":"62228:0:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14993,"nodeType":"FunctionDefinition","src":"62289:58:19","nodes":[],"documentation":{"id":14986,"nodeType":"StructuredDocumentation","src":"62235:49:19","text":"Asserts that two `bool` values are not equal."},"functionSelector":"236e4d66","implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"62298:11:19","parameters":{"id":14991,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14988,"mutability":"mutable","name":"left","nameLocation":"62315:4:19","nodeType":"VariableDeclaration","scope":14993,"src":"62310:9:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14987,"name":"bool","nodeType":"ElementaryTypeName","src":"62310:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":14990,"mutability":"mutable","name":"right","nameLocation":"62326:5:19","nodeType":"VariableDeclaration","scope":14993,"src":"62321:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14989,"name":"bool","nodeType":"ElementaryTypeName","src":"62321:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"62309:23:19"},"returnParameters":{"id":14992,"nodeType":"ParameterList","parameters":[],"src":"62346:0:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15003,"nodeType":"FunctionDefinition","src":"62464:81:19","nodes":[],"documentation":{"id":14994,"nodeType":"StructuredDocumentation","src":"62353:106:19","text":"Asserts that two `bool` values are not equal and includes error message into revert string on failure."},"functionSelector":"1091a261","implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"62473:11:19","parameters":{"id":15001,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14996,"mutability":"mutable","name":"left","nameLocation":"62490:4:19","nodeType":"VariableDeclaration","scope":15003,"src":"62485:9:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14995,"name":"bool","nodeType":"ElementaryTypeName","src":"62485:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":14998,"mutability":"mutable","name":"right","nameLocation":"62501:5:19","nodeType":"VariableDeclaration","scope":15003,"src":"62496:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14997,"name":"bool","nodeType":"ElementaryTypeName","src":"62496:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":15000,"mutability":"mutable","name":"error","nameLocation":"62524:5:19","nodeType":"VariableDeclaration","scope":15003,"src":"62508:21:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14999,"name":"string","nodeType":"ElementaryTypeName","src":"62508:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"62484:46:19"},"returnParameters":{"id":15002,"nodeType":"ParameterList","parameters":[],"src":"62544:0:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15011,"nodeType":"FunctionDefinition","src":"62607:80:19","nodes":[],"documentation":{"id":15004,"nodeType":"StructuredDocumentation","src":"62551:51:19","text":"Asserts that two `string` values are not equal."},"functionSelector":"6a8237b3","implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"62616:11:19","parameters":{"id":15009,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15006,"mutability":"mutable","name":"left","nameLocation":"62644:4:19","nodeType":"VariableDeclaration","scope":15011,"src":"62628:20:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15005,"name":"string","nodeType":"ElementaryTypeName","src":"62628:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15008,"mutability":"mutable","name":"right","nameLocation":"62666:5:19","nodeType":"VariableDeclaration","scope":15011,"src":"62650:21:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15007,"name":"string","nodeType":"ElementaryTypeName","src":"62650:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"62627:45:19"},"returnParameters":{"id":15010,"nodeType":"ParameterList","parameters":[],"src":"62686:0:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15021,"nodeType":"FunctionDefinition","src":"62806:103:19","nodes":[],"documentation":{"id":15012,"nodeType":"StructuredDocumentation","src":"62693:108:19","text":"Asserts that two `string` values are not equal and includes error message into revert string on failure."},"functionSelector":"78bdcea7","implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"62815:11:19","parameters":{"id":15019,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15014,"mutability":"mutable","name":"left","nameLocation":"62843:4:19","nodeType":"VariableDeclaration","scope":15021,"src":"62827:20:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15013,"name":"string","nodeType":"ElementaryTypeName","src":"62827:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15016,"mutability":"mutable","name":"right","nameLocation":"62865:5:19","nodeType":"VariableDeclaration","scope":15021,"src":"62849:21:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15015,"name":"string","nodeType":"ElementaryTypeName","src":"62849:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15018,"mutability":"mutable","name":"error","nameLocation":"62888:5:19","nodeType":"VariableDeclaration","scope":15021,"src":"62872:21:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15017,"name":"string","nodeType":"ElementaryTypeName","src":"62872:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"62826:68:19"},"returnParameters":{"id":15020,"nodeType":"ParameterList","parameters":[],"src":"62908:0:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15029,"nodeType":"FunctionDefinition","src":"62970:78:19","nodes":[],"documentation":{"id":15022,"nodeType":"StructuredDocumentation","src":"62915:50:19","text":"Asserts that two `bytes` values are not equal."},"functionSelector":"3cf78e28","implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"62979:11:19","parameters":{"id":15027,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15024,"mutability":"mutable","name":"left","nameLocation":"63006:4:19","nodeType":"VariableDeclaration","scope":15029,"src":"62991:19:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":15023,"name":"bytes","nodeType":"ElementaryTypeName","src":"62991:5:19","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":15026,"mutability":"mutable","name":"right","nameLocation":"63027:5:19","nodeType":"VariableDeclaration","scope":15029,"src":"63012:20:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":15025,"name":"bytes","nodeType":"ElementaryTypeName","src":"63012:5:19","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"62990:43:19"},"returnParameters":{"id":15028,"nodeType":"ParameterList","parameters":[],"src":"63047:0:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15039,"nodeType":"FunctionDefinition","src":"63166:101:19","nodes":[],"documentation":{"id":15030,"nodeType":"StructuredDocumentation","src":"63054:107:19","text":"Asserts that two `bytes` values are not equal and includes error message into revert string on failure."},"functionSelector":"9507540e","implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"63175:11:19","parameters":{"id":15037,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15032,"mutability":"mutable","name":"left","nameLocation":"63202:4:19","nodeType":"VariableDeclaration","scope":15039,"src":"63187:19:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":15031,"name":"bytes","nodeType":"ElementaryTypeName","src":"63187:5:19","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":15034,"mutability":"mutable","name":"right","nameLocation":"63223:5:19","nodeType":"VariableDeclaration","scope":15039,"src":"63208:20:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":15033,"name":"bytes","nodeType":"ElementaryTypeName","src":"63208:5:19","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":15036,"mutability":"mutable","name":"error","nameLocation":"63246:5:19","nodeType":"VariableDeclaration","scope":15039,"src":"63230:21:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15035,"name":"string","nodeType":"ElementaryTypeName","src":"63230:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"63186:66:19"},"returnParameters":{"id":15038,"nodeType":"ParameterList","parameters":[],"src":"63266:0:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15049,"nodeType":"FunctionDefinition","src":"63337:80:19","nodes":[],"documentation":{"id":15040,"nodeType":"StructuredDocumentation","src":"63273:59:19","text":"Asserts that two arrays of `bool` values are not equal."},"functionSelector":"286fafea","implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"63346:11:19","parameters":{"id":15047,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15043,"mutability":"mutable","name":"left","nameLocation":"63374:4:19","nodeType":"VariableDeclaration","scope":15049,"src":"63358:20:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_calldata_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":15041,"name":"bool","nodeType":"ElementaryTypeName","src":"63358:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":15042,"nodeType":"ArrayTypeName","src":"63358:6:19","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"},{"constant":false,"id":15046,"mutability":"mutable","name":"right","nameLocation":"63396:5:19","nodeType":"VariableDeclaration","scope":15049,"src":"63380:21:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_calldata_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":15044,"name":"bool","nodeType":"ElementaryTypeName","src":"63380:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":15045,"nodeType":"ArrayTypeName","src":"63380:6:19","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"}],"src":"63357:45:19"},"returnParameters":{"id":15048,"nodeType":"ParameterList","parameters":[],"src":"63416:0:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15061,"nodeType":"FunctionDefinition","src":"63544:103:19","nodes":[],"documentation":{"id":15050,"nodeType":"StructuredDocumentation","src":"63423:116:19","text":"Asserts that two arrays of `bool` values are not equal and includes error message into revert string on failure."},"functionSelector":"62c6f9fb","implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"63553:11:19","parameters":{"id":15059,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15053,"mutability":"mutable","name":"left","nameLocation":"63581:4:19","nodeType":"VariableDeclaration","scope":15061,"src":"63565:20:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_calldata_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":15051,"name":"bool","nodeType":"ElementaryTypeName","src":"63565:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":15052,"nodeType":"ArrayTypeName","src":"63565:6:19","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"},{"constant":false,"id":15056,"mutability":"mutable","name":"right","nameLocation":"63603:5:19","nodeType":"VariableDeclaration","scope":15061,"src":"63587:21:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_calldata_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":15054,"name":"bool","nodeType":"ElementaryTypeName","src":"63587:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":15055,"nodeType":"ArrayTypeName","src":"63587:6:19","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"},{"constant":false,"id":15058,"mutability":"mutable","name":"error","nameLocation":"63626:5:19","nodeType":"VariableDeclaration","scope":15061,"src":"63610:21:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15057,"name":"string","nodeType":"ElementaryTypeName","src":"63610:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"63564:68:19"},"returnParameters":{"id":15060,"nodeType":"ParameterList","parameters":[],"src":"63646:0:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15071,"nodeType":"FunctionDefinition","src":"63720:86:19","nodes":[],"documentation":{"id":15062,"nodeType":"StructuredDocumentation","src":"63653:62:19","text":"Asserts that two arrays of `uint256` values are not equal."},"functionSelector":"56f29cba","implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"63729:11:19","parameters":{"id":15069,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15065,"mutability":"mutable","name":"left","nameLocation":"63760:4:19","nodeType":"VariableDeclaration","scope":15071,"src":"63741:23:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":15063,"name":"uint256","nodeType":"ElementaryTypeName","src":"63741:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":15064,"nodeType":"ArrayTypeName","src":"63741:9:19","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":15068,"mutability":"mutable","name":"right","nameLocation":"63785:5:19","nodeType":"VariableDeclaration","scope":15071,"src":"63766:24:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":15066,"name":"uint256","nodeType":"ElementaryTypeName","src":"63766:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":15067,"nodeType":"ArrayTypeName","src":"63766:9:19","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"63740:51:19"},"returnParameters":{"id":15070,"nodeType":"ParameterList","parameters":[],"src":"63805:0:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15083,"nodeType":"FunctionDefinition","src":"63936:109:19","nodes":[],"documentation":{"id":15072,"nodeType":"StructuredDocumentation","src":"63812:119:19","text":"Asserts that two arrays of `uint256` values are not equal and includes error message into revert string on failure."},"functionSelector":"9a7fbd8f","implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"63945:11:19","parameters":{"id":15081,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15075,"mutability":"mutable","name":"left","nameLocation":"63976:4:19","nodeType":"VariableDeclaration","scope":15083,"src":"63957:23:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":15073,"name":"uint256","nodeType":"ElementaryTypeName","src":"63957:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":15074,"nodeType":"ArrayTypeName","src":"63957:9:19","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":15078,"mutability":"mutable","name":"right","nameLocation":"64001:5:19","nodeType":"VariableDeclaration","scope":15083,"src":"63982:24:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":15076,"name":"uint256","nodeType":"ElementaryTypeName","src":"63982:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":15077,"nodeType":"ArrayTypeName","src":"63982:9:19","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":15080,"mutability":"mutable","name":"error","nameLocation":"64024:5:19","nodeType":"VariableDeclaration","scope":15083,"src":"64008:21:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15079,"name":"string","nodeType":"ElementaryTypeName","src":"64008:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"63956:74:19"},"returnParameters":{"id":15082,"nodeType":"ParameterList","parameters":[],"src":"64044:0:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15093,"nodeType":"FunctionDefinition","src":"64117:84:19","nodes":[],"documentation":{"id":15084,"nodeType":"StructuredDocumentation","src":"64051:61:19","text":"Asserts that two arrays of `int256` values are not equal."},"functionSelector":"0b72f4ef","implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"64126:11:19","parameters":{"id":15091,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15087,"mutability":"mutable","name":"left","nameLocation":"64156:4:19","nodeType":"VariableDeclaration","scope":15093,"src":"64138:22:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_calldata_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":15085,"name":"int256","nodeType":"ElementaryTypeName","src":"64138:6:19","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":15086,"nodeType":"ArrayTypeName","src":"64138:8:19","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"},{"constant":false,"id":15090,"mutability":"mutable","name":"right","nameLocation":"64180:5:19","nodeType":"VariableDeclaration","scope":15093,"src":"64162:23:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_calldata_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":15088,"name":"int256","nodeType":"ElementaryTypeName","src":"64162:6:19","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":15089,"nodeType":"ArrayTypeName","src":"64162:8:19","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"64137:49:19"},"returnParameters":{"id":15092,"nodeType":"ParameterList","parameters":[],"src":"64200:0:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15105,"nodeType":"FunctionDefinition","src":"64330:107:19","nodes":[],"documentation":{"id":15094,"nodeType":"StructuredDocumentation","src":"64207:118:19","text":"Asserts that two arrays of `int256` values are not equal and includes error message into revert string on failure."},"functionSelector":"d3977322","implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"64339:11:19","parameters":{"id":15103,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15097,"mutability":"mutable","name":"left","nameLocation":"64369:4:19","nodeType":"VariableDeclaration","scope":15105,"src":"64351:22:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_calldata_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":15095,"name":"int256","nodeType":"ElementaryTypeName","src":"64351:6:19","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":15096,"nodeType":"ArrayTypeName","src":"64351:8:19","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"},{"constant":false,"id":15100,"mutability":"mutable","name":"right","nameLocation":"64393:5:19","nodeType":"VariableDeclaration","scope":15105,"src":"64375:23:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_calldata_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":15098,"name":"int256","nodeType":"ElementaryTypeName","src":"64375:6:19","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":15099,"nodeType":"ArrayTypeName","src":"64375:8:19","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"},{"constant":false,"id":15102,"mutability":"mutable","name":"error","nameLocation":"64416:5:19","nodeType":"VariableDeclaration","scope":15105,"src":"64400:21:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15101,"name":"string","nodeType":"ElementaryTypeName","src":"64400:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"64350:72:19"},"returnParameters":{"id":15104,"nodeType":"ParameterList","parameters":[],"src":"64436:0:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15113,"nodeType":"FunctionDefinition","src":"64500:64:19","nodes":[],"documentation":{"id":15106,"nodeType":"StructuredDocumentation","src":"64443:52:19","text":"Asserts that two `uint256` values are not equal."},"functionSelector":"b7909320","implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"64509:11:19","parameters":{"id":15111,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15108,"mutability":"mutable","name":"left","nameLocation":"64529:4:19","nodeType":"VariableDeclaration","scope":15113,"src":"64521:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15107,"name":"uint256","nodeType":"ElementaryTypeName","src":"64521:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15110,"mutability":"mutable","name":"right","nameLocation":"64543:5:19","nodeType":"VariableDeclaration","scope":15113,"src":"64535:13:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15109,"name":"uint256","nodeType":"ElementaryTypeName","src":"64535:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"64520:29:19"},"returnParameters":{"id":15112,"nodeType":"ParameterList","parameters":[],"src":"64563:0:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15123,"nodeType":"FunctionDefinition","src":"64637:86:19","nodes":[],"documentation":{"id":15114,"nodeType":"StructuredDocumentation","src":"64570:62:19","text":"Asserts that two arrays of `address` values are not equal."},"functionSelector":"46d0b252","implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"64646:11:19","parameters":{"id":15121,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15117,"mutability":"mutable","name":"left","nameLocation":"64677:4:19","nodeType":"VariableDeclaration","scope":15123,"src":"64658:23:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":15115,"name":"address","nodeType":"ElementaryTypeName","src":"64658:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":15116,"nodeType":"ArrayTypeName","src":"64658:9:19","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":15120,"mutability":"mutable","name":"right","nameLocation":"64702:5:19","nodeType":"VariableDeclaration","scope":15123,"src":"64683:24:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":15118,"name":"address","nodeType":"ElementaryTypeName","src":"64683:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":15119,"nodeType":"ArrayTypeName","src":"64683:9:19","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"64657:51:19"},"returnParameters":{"id":15122,"nodeType":"ParameterList","parameters":[],"src":"64722:0:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15135,"nodeType":"FunctionDefinition","src":"64853:109:19","nodes":[],"documentation":{"id":15124,"nodeType":"StructuredDocumentation","src":"64729:119:19","text":"Asserts that two arrays of `address` values are not equal and includes error message into revert string on failure."},"functionSelector":"72c7e0b5","implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"64862:11:19","parameters":{"id":15133,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15127,"mutability":"mutable","name":"left","nameLocation":"64893:4:19","nodeType":"VariableDeclaration","scope":15135,"src":"64874:23:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":15125,"name":"address","nodeType":"ElementaryTypeName","src":"64874:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":15126,"nodeType":"ArrayTypeName","src":"64874:9:19","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":15130,"mutability":"mutable","name":"right","nameLocation":"64918:5:19","nodeType":"VariableDeclaration","scope":15135,"src":"64899:24:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":15128,"name":"address","nodeType":"ElementaryTypeName","src":"64899:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":15129,"nodeType":"ArrayTypeName","src":"64899:9:19","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":15132,"mutability":"mutable","name":"error","nameLocation":"64941:5:19","nodeType":"VariableDeclaration","scope":15135,"src":"64925:21:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15131,"name":"string","nodeType":"ElementaryTypeName","src":"64925:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"64873:74:19"},"returnParameters":{"id":15134,"nodeType":"ParameterList","parameters":[],"src":"64961:0:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15145,"nodeType":"FunctionDefinition","src":"65035:86:19","nodes":[],"documentation":{"id":15136,"nodeType":"StructuredDocumentation","src":"64968:62:19","text":"Asserts that two arrays of `bytes32` values are not equal."},"functionSelector":"0603ea68","implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"65044:11:19","parameters":{"id":15143,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15139,"mutability":"mutable","name":"left","nameLocation":"65075:4:19","nodeType":"VariableDeclaration","scope":15145,"src":"65056:23:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_calldata_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":15137,"name":"bytes32","nodeType":"ElementaryTypeName","src":"65056:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":15138,"nodeType":"ArrayTypeName","src":"65056:9:19","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":15142,"mutability":"mutable","name":"right","nameLocation":"65100:5:19","nodeType":"VariableDeclaration","scope":15145,"src":"65081:24:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_calldata_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":15140,"name":"bytes32","nodeType":"ElementaryTypeName","src":"65081:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":15141,"nodeType":"ArrayTypeName","src":"65081:9:19","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"65055:51:19"},"returnParameters":{"id":15144,"nodeType":"ParameterList","parameters":[],"src":"65120:0:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15157,"nodeType":"FunctionDefinition","src":"65251:109:19","nodes":[],"documentation":{"id":15146,"nodeType":"StructuredDocumentation","src":"65127:119:19","text":"Asserts that two arrays of `bytes32` values are not equal and includes error message into revert string on failure."},"functionSelector":"b873634c","implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"65260:11:19","parameters":{"id":15155,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15149,"mutability":"mutable","name":"left","nameLocation":"65291:4:19","nodeType":"VariableDeclaration","scope":15157,"src":"65272:23:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_calldata_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":15147,"name":"bytes32","nodeType":"ElementaryTypeName","src":"65272:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":15148,"nodeType":"ArrayTypeName","src":"65272:9:19","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":15152,"mutability":"mutable","name":"right","nameLocation":"65316:5:19","nodeType":"VariableDeclaration","scope":15157,"src":"65297:24:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_calldata_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":15150,"name":"bytes32","nodeType":"ElementaryTypeName","src":"65297:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":15151,"nodeType":"ArrayTypeName","src":"65297:9:19","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":15154,"mutability":"mutable","name":"error","nameLocation":"65339:5:19","nodeType":"VariableDeclaration","scope":15157,"src":"65323:21:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15153,"name":"string","nodeType":"ElementaryTypeName","src":"65323:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"65271:74:19"},"returnParameters":{"id":15156,"nodeType":"ParameterList","parameters":[],"src":"65359:0:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15167,"nodeType":"FunctionDefinition","src":"65432:84:19","nodes":[],"documentation":{"id":15158,"nodeType":"StructuredDocumentation","src":"65366:61:19","text":"Asserts that two arrays of `string` values are not equal."},"functionSelector":"bdfacbe8","implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"65441:11:19","parameters":{"id":15165,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15161,"mutability":"mutable","name":"left","nameLocation":"65471:4:19","nodeType":"VariableDeclaration","scope":15167,"src":"65453:22:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_string_calldata_ptr_$dyn_calldata_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":15159,"name":"string","nodeType":"ElementaryTypeName","src":"65453:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":15160,"nodeType":"ArrayTypeName","src":"65453:8:19","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":15164,"mutability":"mutable","name":"right","nameLocation":"65495:5:19","nodeType":"VariableDeclaration","scope":15167,"src":"65477:23:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_string_calldata_ptr_$dyn_calldata_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":15162,"name":"string","nodeType":"ElementaryTypeName","src":"65477:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":15163,"nodeType":"ArrayTypeName","src":"65477:8:19","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"65452:49:19"},"returnParameters":{"id":15166,"nodeType":"ParameterList","parameters":[],"src":"65515:0:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15179,"nodeType":"FunctionDefinition","src":"65645:107:19","nodes":[],"documentation":{"id":15168,"nodeType":"StructuredDocumentation","src":"65522:118:19","text":"Asserts that two arrays of `string` values are not equal and includes error message into revert string on failure."},"functionSelector":"b67187f3","implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"65654:11:19","parameters":{"id":15177,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15171,"mutability":"mutable","name":"left","nameLocation":"65684:4:19","nodeType":"VariableDeclaration","scope":15179,"src":"65666:22:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_string_calldata_ptr_$dyn_calldata_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":15169,"name":"string","nodeType":"ElementaryTypeName","src":"65666:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":15170,"nodeType":"ArrayTypeName","src":"65666:8:19","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":15174,"mutability":"mutable","name":"right","nameLocation":"65708:5:19","nodeType":"VariableDeclaration","scope":15179,"src":"65690:23:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_string_calldata_ptr_$dyn_calldata_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":15172,"name":"string","nodeType":"ElementaryTypeName","src":"65690:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":15173,"nodeType":"ArrayTypeName","src":"65690:8:19","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":15176,"mutability":"mutable","name":"error","nameLocation":"65731:5:19","nodeType":"VariableDeclaration","scope":15179,"src":"65715:21:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15175,"name":"string","nodeType":"ElementaryTypeName","src":"65715:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"65665:72:19"},"returnParameters":{"id":15178,"nodeType":"ParameterList","parameters":[],"src":"65751:0:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15189,"nodeType":"FunctionDefinition","src":"65823:82:19","nodes":[],"documentation":{"id":15180,"nodeType":"StructuredDocumentation","src":"65758:60:19","text":"Asserts that two arrays of `bytes` values are not equal."},"functionSelector":"edecd035","implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"65832:11:19","parameters":{"id":15187,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15183,"mutability":"mutable","name":"left","nameLocation":"65861:4:19","nodeType":"VariableDeclaration","scope":15189,"src":"65844:21:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":15181,"name":"bytes","nodeType":"ElementaryTypeName","src":"65844:5:19","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":15182,"nodeType":"ArrayTypeName","src":"65844:7:19","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":15186,"mutability":"mutable","name":"right","nameLocation":"65884:5:19","nodeType":"VariableDeclaration","scope":15189,"src":"65867:22:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":15184,"name":"bytes","nodeType":"ElementaryTypeName","src":"65867:5:19","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":15185,"nodeType":"ArrayTypeName","src":"65867:7:19","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"65843:47:19"},"returnParameters":{"id":15188,"nodeType":"ParameterList","parameters":[],"src":"65904:0:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15201,"nodeType":"FunctionDefinition","src":"66033:105:19","nodes":[],"documentation":{"id":15190,"nodeType":"StructuredDocumentation","src":"65911:117:19","text":"Asserts that two arrays of `bytes` values are not equal and includes error message into revert string on failure."},"functionSelector":"1dcd1f68","implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"66042:11:19","parameters":{"id":15199,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15193,"mutability":"mutable","name":"left","nameLocation":"66071:4:19","nodeType":"VariableDeclaration","scope":15201,"src":"66054:21:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":15191,"name":"bytes","nodeType":"ElementaryTypeName","src":"66054:5:19","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":15192,"nodeType":"ArrayTypeName","src":"66054:7:19","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":15196,"mutability":"mutable","name":"right","nameLocation":"66094:5:19","nodeType":"VariableDeclaration","scope":15201,"src":"66077:22:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":15194,"name":"bytes","nodeType":"ElementaryTypeName","src":"66077:5:19","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":15195,"nodeType":"ArrayTypeName","src":"66077:7:19","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":15198,"mutability":"mutable","name":"error","nameLocation":"66117:5:19","nodeType":"VariableDeclaration","scope":15201,"src":"66101:21:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15197,"name":"string","nodeType":"ElementaryTypeName","src":"66101:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"66053:70:19"},"returnParameters":{"id":15200,"nodeType":"ParameterList","parameters":[],"src":"66137:0:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15211,"nodeType":"FunctionDefinition","src":"66258:87:19","nodes":[],"documentation":{"id":15202,"nodeType":"StructuredDocumentation","src":"66144:109:19","text":"Asserts that two `uint256` values are not equal and includes error message into revert string on failure."},"functionSelector":"98f9bdbd","implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"66267:11:19","parameters":{"id":15209,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15204,"mutability":"mutable","name":"left","nameLocation":"66287:4:19","nodeType":"VariableDeclaration","scope":15211,"src":"66279:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15203,"name":"uint256","nodeType":"ElementaryTypeName","src":"66279:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15206,"mutability":"mutable","name":"right","nameLocation":"66301:5:19","nodeType":"VariableDeclaration","scope":15211,"src":"66293:13:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15205,"name":"uint256","nodeType":"ElementaryTypeName","src":"66293:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15208,"mutability":"mutable","name":"error","nameLocation":"66324:5:19","nodeType":"VariableDeclaration","scope":15211,"src":"66308:21:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15207,"name":"string","nodeType":"ElementaryTypeName","src":"66308:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"66278:52:19"},"returnParameters":{"id":15210,"nodeType":"ParameterList","parameters":[],"src":"66344:0:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15219,"nodeType":"FunctionDefinition","src":"66407:62:19","nodes":[],"documentation":{"id":15212,"nodeType":"StructuredDocumentation","src":"66351:51:19","text":"Asserts that two `int256` values are not equal."},"functionSelector":"f4c004e3","implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"66416:11:19","parameters":{"id":15217,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15214,"mutability":"mutable","name":"left","nameLocation":"66435:4:19","nodeType":"VariableDeclaration","scope":15219,"src":"66428:11:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":15213,"name":"int256","nodeType":"ElementaryTypeName","src":"66428:6:19","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":15216,"mutability":"mutable","name":"right","nameLocation":"66448:5:19","nodeType":"VariableDeclaration","scope":15219,"src":"66441:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":15215,"name":"int256","nodeType":"ElementaryTypeName","src":"66441:6:19","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"66427:27:19"},"returnParameters":{"id":15218,"nodeType":"ParameterList","parameters":[],"src":"66468:0:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15229,"nodeType":"FunctionDefinition","src":"66588:85:19","nodes":[],"documentation":{"id":15220,"nodeType":"StructuredDocumentation","src":"66475:108:19","text":"Asserts that two `int256` values are not equal and includes error message into revert string on failure."},"functionSelector":"4724c5b9","implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"66597:11:19","parameters":{"id":15227,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15222,"mutability":"mutable","name":"left","nameLocation":"66616:4:19","nodeType":"VariableDeclaration","scope":15229,"src":"66609:11:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":15221,"name":"int256","nodeType":"ElementaryTypeName","src":"66609:6:19","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":15224,"mutability":"mutable","name":"right","nameLocation":"66629:5:19","nodeType":"VariableDeclaration","scope":15229,"src":"66622:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":15223,"name":"int256","nodeType":"ElementaryTypeName","src":"66622:6:19","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":15226,"mutability":"mutable","name":"error","nameLocation":"66652:5:19","nodeType":"VariableDeclaration","scope":15229,"src":"66636:21:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15225,"name":"string","nodeType":"ElementaryTypeName","src":"66636:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"66608:50:19"},"returnParameters":{"id":15228,"nodeType":"ParameterList","parameters":[],"src":"66672:0:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15237,"nodeType":"FunctionDefinition","src":"66736:64:19","nodes":[],"documentation":{"id":15230,"nodeType":"StructuredDocumentation","src":"66679:52:19","text":"Asserts that two `address` values are not equal."},"functionSelector":"b12e1694","implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"66745:11:19","parameters":{"id":15235,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15232,"mutability":"mutable","name":"left","nameLocation":"66765:4:19","nodeType":"VariableDeclaration","scope":15237,"src":"66757:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15231,"name":"address","nodeType":"ElementaryTypeName","src":"66757:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15234,"mutability":"mutable","name":"right","nameLocation":"66779:5:19","nodeType":"VariableDeclaration","scope":15237,"src":"66771:13:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15233,"name":"address","nodeType":"ElementaryTypeName","src":"66771:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"66756:29:19"},"returnParameters":{"id":15236,"nodeType":"ParameterList","parameters":[],"src":"66799:0:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15247,"nodeType":"FunctionDefinition","src":"66920:87:19","nodes":[],"documentation":{"id":15238,"nodeType":"StructuredDocumentation","src":"66806:109:19","text":"Asserts that two `address` values are not equal and includes error message into revert string on failure."},"functionSelector":"8775a591","implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"66929:11:19","parameters":{"id":15245,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15240,"mutability":"mutable","name":"left","nameLocation":"66949:4:19","nodeType":"VariableDeclaration","scope":15247,"src":"66941:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15239,"name":"address","nodeType":"ElementaryTypeName","src":"66941:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15242,"mutability":"mutable","name":"right","nameLocation":"66963:5:19","nodeType":"VariableDeclaration","scope":15247,"src":"66955:13:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15241,"name":"address","nodeType":"ElementaryTypeName","src":"66955:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15244,"mutability":"mutable","name":"error","nameLocation":"66986:5:19","nodeType":"VariableDeclaration","scope":15247,"src":"66970:21:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15243,"name":"string","nodeType":"ElementaryTypeName","src":"66970:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"66940:52:19"},"returnParameters":{"id":15246,"nodeType":"ParameterList","parameters":[],"src":"67006:0:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15255,"nodeType":"FunctionDefinition","src":"67070:64:19","nodes":[],"documentation":{"id":15248,"nodeType":"StructuredDocumentation","src":"67013:52:19","text":"Asserts that two `bytes32` values are not equal."},"functionSelector":"898e83fc","implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"67079:11:19","parameters":{"id":15253,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15250,"mutability":"mutable","name":"left","nameLocation":"67099:4:19","nodeType":"VariableDeclaration","scope":15255,"src":"67091:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":15249,"name":"bytes32","nodeType":"ElementaryTypeName","src":"67091:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":15252,"mutability":"mutable","name":"right","nameLocation":"67113:5:19","nodeType":"VariableDeclaration","scope":15255,"src":"67105:13:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":15251,"name":"bytes32","nodeType":"ElementaryTypeName","src":"67105:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"67090:29:19"},"returnParameters":{"id":15254,"nodeType":"ParameterList","parameters":[],"src":"67133:0:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15265,"nodeType":"FunctionDefinition","src":"67254:87:19","nodes":[],"documentation":{"id":15256,"nodeType":"StructuredDocumentation","src":"67140:109:19","text":"Asserts that two `bytes32` values are not equal and includes error message into revert string on failure."},"functionSelector":"b2332f51","implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"67263:11:19","parameters":{"id":15263,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15258,"mutability":"mutable","name":"left","nameLocation":"67283:4:19","nodeType":"VariableDeclaration","scope":15265,"src":"67275:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":15257,"name":"bytes32","nodeType":"ElementaryTypeName","src":"67275:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":15260,"mutability":"mutable","name":"right","nameLocation":"67297:5:19","nodeType":"VariableDeclaration","scope":15265,"src":"67289:13:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":15259,"name":"bytes32","nodeType":"ElementaryTypeName","src":"67289:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":15262,"mutability":"mutable","name":"error","nameLocation":"67320:5:19","nodeType":"VariableDeclaration","scope":15265,"src":"67304:21:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15261,"name":"string","nodeType":"ElementaryTypeName","src":"67304:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"67274:52:19"},"returnParameters":{"id":15264,"nodeType":"ParameterList","parameters":[],"src":"67340:0:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15271,"nodeType":"FunctionDefinition","src":"67397:50:19","nodes":[],"documentation":{"id":15266,"nodeType":"StructuredDocumentation","src":"67347:45:19","text":"Asserts that the given condition is true."},"functionSelector":"0c9fd581","implemented":false,"kind":"function","modifiers":[],"name":"assertTrue","nameLocation":"67406:10:19","parameters":{"id":15269,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15268,"mutability":"mutable","name":"condition","nameLocation":"67422:9:19","nodeType":"VariableDeclaration","scope":15271,"src":"67417:14:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15267,"name":"bool","nodeType":"ElementaryTypeName","src":"67417:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"67416:16:19"},"returnParameters":{"id":15270,"nodeType":"ParameterList","parameters":[],"src":"67446:0:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15279,"nodeType":"FunctionDefinition","src":"67560:73:19","nodes":[],"documentation":{"id":15272,"nodeType":"StructuredDocumentation","src":"67453:102:19","text":"Asserts that the given condition is true and includes error message into revert string on failure."},"functionSelector":"a34edc03","implemented":false,"kind":"function","modifiers":[],"name":"assertTrue","nameLocation":"67569:10:19","parameters":{"id":15277,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15274,"mutability":"mutable","name":"condition","nameLocation":"67585:9:19","nodeType":"VariableDeclaration","scope":15279,"src":"67580:14:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15273,"name":"bool","nodeType":"ElementaryTypeName","src":"67580:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":15276,"mutability":"mutable","name":"error","nameLocation":"67612:5:19","nodeType":"VariableDeclaration","scope":15279,"src":"67596:21:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15275,"name":"string","nodeType":"ElementaryTypeName","src":"67596:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"67579:39:19"},"returnParameters":{"id":15278,"nodeType":"ParameterList","parameters":[],"src":"67632:0:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15285,"nodeType":"FunctionDefinition","src":"67728:46:19","nodes":[],"documentation":{"id":15280,"nodeType":"StructuredDocumentation","src":"67639:84:19","text":"If the condition is false, discard this run's fuzz inputs and generate new ones."},"functionSelector":"4c63e562","implemented":false,"kind":"function","modifiers":[],"name":"assume","nameLocation":"67737:6:19","parameters":{"id":15283,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15282,"mutability":"mutable","name":"condition","nameLocation":"67749:9:19","nodeType":"VariableDeclaration","scope":15285,"src":"67744:14:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15281,"name":"bool","nodeType":"ElementaryTypeName","src":"67744:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"67743:16:19"},"returnParameters":{"id":15284,"nodeType":"ParameterList","parameters":[],"src":"67773:0:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15291,"nodeType":"FunctionDefinition","src":"67836:51:19","nodes":[],"documentation":{"id":15286,"nodeType":"StructuredDocumentation","src":"67780:51:19","text":"Writes a breakpoint to jump to in the debugger."},"functionSelector":"f0259e92","implemented":false,"kind":"function","modifiers":[],"name":"breakpoint","nameLocation":"67845:10:19","parameters":{"id":15289,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15288,"mutability":"mutable","name":"char","nameLocation":"67872:4:19","nodeType":"VariableDeclaration","scope":15291,"src":"67856:20:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15287,"name":"string","nodeType":"ElementaryTypeName","src":"67856:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"67855:22:19"},"returnParameters":{"id":15290,"nodeType":"ParameterList","parameters":[],"src":"67886:0:19"},"scope":15724,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15299,"nodeType":"FunctionDefinition","src":"67961:63:19","nodes":[],"documentation":{"id":15292,"nodeType":"StructuredDocumentation","src":"67893:63:19","text":"Writes a conditional breakpoint to jump to in the debugger."},"functionSelector":"f7d39a8d","implemented":false,"kind":"function","modifiers":[],"name":"breakpoint","nameLocation":"67970:10:19","parameters":{"id":15297,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15294,"mutability":"mutable","name":"char","nameLocation":"67997:4:19","nodeType":"VariableDeclaration","scope":15299,"src":"67981:20:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15293,"name":"string","nodeType":"ElementaryTypeName","src":"67981:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15296,"mutability":"mutable","name":"value","nameLocation":"68008:5:19","nodeType":"VariableDeclaration","scope":15299,"src":"68003:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15295,"name":"bool","nodeType":"ElementaryTypeName","src":"68003:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"67980:34:19"},"returnParameters":{"id":15298,"nodeType":"ParameterList","parameters":[],"src":"68023:0:19"},"scope":15724,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15307,"nodeType":"FunctionDefinition","src":"68079:85:19","nodes":[],"documentation":{"id":15300,"nodeType":"StructuredDocumentation","src":"68030:44:19","text":"Returns the RPC url for the given alias."},"functionSelector":"975a6ce9","implemented":false,"kind":"function","modifiers":[],"name":"rpcUrl","nameLocation":"68088:6:19","parameters":{"id":15303,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15302,"mutability":"mutable","name":"rpcAlias","nameLocation":"68111:8:19","nodeType":"VariableDeclaration","scope":15307,"src":"68095:24:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15301,"name":"string","nodeType":"ElementaryTypeName","src":"68095:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"68094:26:19"},"returnParameters":{"id":15306,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15305,"mutability":"mutable","name":"json","nameLocation":"68158:4:19","nodeType":"VariableDeclaration","scope":15307,"src":"68144:18:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15304,"name":"string","nodeType":"ElementaryTypeName","src":"68144:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"68143:20:19"},"scope":15724,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":15315,"nodeType":"FunctionDefinition","src":"68229:67:19","nodes":[],"documentation":{"id":15308,"nodeType":"StructuredDocumentation","src":"68170:54:19","text":"Returns all rpc urls and their aliases as structs."},"functionSelector":"9d2ad72a","implemented":false,"kind":"function","modifiers":[],"name":"rpcUrlStructs","nameLocation":"68238:13:19","parameters":{"id":15309,"nodeType":"ParameterList","parameters":[],"src":"68251:2:19"},"returnParameters":{"id":15314,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15313,"mutability":"mutable","name":"urls","nameLocation":"68290:4:19","nodeType":"VariableDeclaration","scope":15315,"src":"68277:17:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Rpc_$12579_memory_ptr_$dyn_memory_ptr","typeString":"struct VmSafe.Rpc[]"},"typeName":{"baseType":{"id":15311,"nodeType":"UserDefinedTypeName","pathNode":{"id":15310,"name":"Rpc","nodeType":"IdentifierPath","referencedDeclaration":12579,"src":"68277:3:19"},"referencedDeclaration":12579,"src":"68277:3:19","typeDescriptions":{"typeIdentifier":"t_struct$_Rpc_$12579_storage_ptr","typeString":"struct VmSafe.Rpc"}},"id":15312,"nodeType":"ArrayTypeName","src":"68277:5:19","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Rpc_$12579_storage_$dyn_storage_ptr","typeString":"struct VmSafe.Rpc[]"}},"visibility":"internal"}],"src":"68276:19:19"},"scope":15724,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":15324,"nodeType":"FunctionDefinition","src":"68367:67:19","nodes":[],"documentation":{"id":15316,"nodeType":"StructuredDocumentation","src":"68302:60:19","text":"Returns all rpc urls and their aliases `[alias, url][]`."},"functionSelector":"a85a8418","implemented":false,"kind":"function","modifiers":[],"name":"rpcUrls","nameLocation":"68376:7:19","parameters":{"id":15317,"nodeType":"ParameterList","parameters":[],"src":"68383:2:19"},"returnParameters":{"id":15323,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15322,"mutability":"mutable","name":"urls","nameLocation":"68428:4:19","nodeType":"VariableDeclaration","scope":15324,"src":"68409:23:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_array$_t_string_memory_ptr_$2_memory_ptr_$dyn_memory_ptr","typeString":"string[2][]"},"typeName":{"baseType":{"baseType":{"id":15318,"name":"string","nodeType":"ElementaryTypeName","src":"68409:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":15320,"length":{"hexValue":"32","id":15319,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"68416:1:19","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"ArrayTypeName","src":"68409:9:19","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$2_storage_ptr","typeString":"string[2]"}},"id":15321,"nodeType":"ArrayTypeName","src":"68409:11:19","typeDescriptions":{"typeIdentifier":"t_array$_t_array$_t_string_storage_$2_storage_$dyn_storage_ptr","typeString":"string[2][]"}},"visibility":"internal"}],"src":"68408:25:19"},"scope":15724,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":15330,"nodeType":"FunctionDefinition","src":"68515:42:19","nodes":[],"documentation":{"id":15325,"nodeType":"StructuredDocumentation","src":"68440:70:19","text":"Suspends execution of the main thread for `duration` milliseconds."},"functionSelector":"fa9d8713","implemented":false,"kind":"function","modifiers":[],"name":"sleep","nameLocation":"68524:5:19","parameters":{"id":15328,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15327,"mutability":"mutable","name":"duration","nameLocation":"68538:8:19","nodeType":"VariableDeclaration","scope":15330,"src":"68530:16:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15326,"name":"uint256","nodeType":"ElementaryTypeName","src":"68530:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"68529:18:19"},"returnParameters":{"id":15329,"nodeType":"ParameterList","parameters":[],"src":"68556:0:19"},"scope":15724,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15340,"nodeType":"FunctionDefinition","src":"68642:95:19","nodes":[],"documentation":{"id":15331,"nodeType":"StructuredDocumentation","src":"68594:43:19","text":"Checks if `key` exists in a TOML table."},"functionSelector":"600903ad","implemented":false,"kind":"function","modifiers":[],"name":"keyExistsToml","nameLocation":"68651:13:19","parameters":{"id":15336,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15333,"mutability":"mutable","name":"toml","nameLocation":"68681:4:19","nodeType":"VariableDeclaration","scope":15340,"src":"68665:20:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15332,"name":"string","nodeType":"ElementaryTypeName","src":"68665:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15335,"mutability":"mutable","name":"key","nameLocation":"68703:3:19","nodeType":"VariableDeclaration","scope":15340,"src":"68687:19:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15334,"name":"string","nodeType":"ElementaryTypeName","src":"68687:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"68664:43:19"},"returnParameters":{"id":15339,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15338,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15340,"src":"68731:4:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15337,"name":"bool","nodeType":"ElementaryTypeName","src":"68731:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"68730:6:19"},"scope":15724,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":15350,"nodeType":"FunctionDefinition","src":"68818:101:19","nodes":[],"documentation":{"id":15341,"nodeType":"StructuredDocumentation","src":"68743:70:19","text":"Parses a string of TOML data at `key` and coerces it to `address`."},"functionSelector":"65e7c844","implemented":false,"kind":"function","modifiers":[],"name":"parseTomlAddress","nameLocation":"68827:16:19","parameters":{"id":15346,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15343,"mutability":"mutable","name":"toml","nameLocation":"68860:4:19","nodeType":"VariableDeclaration","scope":15350,"src":"68844:20:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15342,"name":"string","nodeType":"ElementaryTypeName","src":"68844:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15345,"mutability":"mutable","name":"key","nameLocation":"68882:3:19","nodeType":"VariableDeclaration","scope":15350,"src":"68866:19:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15344,"name":"string","nodeType":"ElementaryTypeName","src":"68866:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"68843:43:19"},"returnParameters":{"id":15349,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15348,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15350,"src":"68910:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15347,"name":"address","nodeType":"ElementaryTypeName","src":"68910:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"68909:9:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15361,"nodeType":"FunctionDefinition","src":"69002:139:19","nodes":[],"documentation":{"id":15351,"nodeType":"StructuredDocumentation","src":"68925:72:19","text":"Parses a string of TOML data at `key` and coerces it to `address[]`."},"functionSelector":"65c428e7","implemented":false,"kind":"function","modifiers":[],"name":"parseTomlAddressArray","nameLocation":"69011:21:19","parameters":{"id":15356,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15353,"mutability":"mutable","name":"toml","nameLocation":"69049:4:19","nodeType":"VariableDeclaration","scope":15361,"src":"69033:20:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15352,"name":"string","nodeType":"ElementaryTypeName","src":"69033:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15355,"mutability":"mutable","name":"key","nameLocation":"69071:3:19","nodeType":"VariableDeclaration","scope":15361,"src":"69055:19:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15354,"name":"string","nodeType":"ElementaryTypeName","src":"69055:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"69032:43:19"},"returnParameters":{"id":15360,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15359,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15361,"src":"69123:16:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":15357,"name":"address","nodeType":"ElementaryTypeName","src":"69123:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":15358,"nodeType":"ArrayTypeName","src":"69123:9:19","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"69122:18:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15371,"nodeType":"FunctionDefinition","src":"69219:95:19","nodes":[],"documentation":{"id":15362,"nodeType":"StructuredDocumentation","src":"69147:67:19","text":"Parses a string of TOML data at `key` and coerces it to `bool`."},"functionSelector":"d30dced6","implemented":false,"kind":"function","modifiers":[],"name":"parseTomlBool","nameLocation":"69228:13:19","parameters":{"id":15367,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15364,"mutability":"mutable","name":"toml","nameLocation":"69258:4:19","nodeType":"VariableDeclaration","scope":15371,"src":"69242:20:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15363,"name":"string","nodeType":"ElementaryTypeName","src":"69242:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15366,"mutability":"mutable","name":"key","nameLocation":"69280:3:19","nodeType":"VariableDeclaration","scope":15371,"src":"69264:19:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15365,"name":"string","nodeType":"ElementaryTypeName","src":"69264:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"69241:43:19"},"returnParameters":{"id":15370,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15369,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15371,"src":"69308:4:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15368,"name":"bool","nodeType":"ElementaryTypeName","src":"69308:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"69307:6:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15382,"nodeType":"FunctionDefinition","src":"69394:109:19","nodes":[],"documentation":{"id":15372,"nodeType":"StructuredDocumentation","src":"69320:69:19","text":"Parses a string of TOML data at `key` and coerces it to `bool[]`."},"functionSelector":"127cfe9a","implemented":false,"kind":"function","modifiers":[],"name":"parseTomlBoolArray","nameLocation":"69403:18:19","parameters":{"id":15377,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15374,"mutability":"mutable","name":"toml","nameLocation":"69438:4:19","nodeType":"VariableDeclaration","scope":15382,"src":"69422:20:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15373,"name":"string","nodeType":"ElementaryTypeName","src":"69422:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15376,"mutability":"mutable","name":"key","nameLocation":"69460:3:19","nodeType":"VariableDeclaration","scope":15382,"src":"69444:19:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15375,"name":"string","nodeType":"ElementaryTypeName","src":"69444:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"69421:43:19"},"returnParameters":{"id":15381,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15380,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15382,"src":"69488:13:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":15378,"name":"bool","nodeType":"ElementaryTypeName","src":"69488:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":15379,"nodeType":"ArrayTypeName","src":"69488:6:19","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"}],"src":"69487:15:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15392,"nodeType":"FunctionDefinition","src":"69582:104:19","nodes":[],"documentation":{"id":15383,"nodeType":"StructuredDocumentation","src":"69509:68:19","text":"Parses a string of TOML data at `key` and coerces it to `bytes`."},"functionSelector":"d77bfdb9","implemented":false,"kind":"function","modifiers":[],"name":"parseTomlBytes","nameLocation":"69591:14:19","parameters":{"id":15388,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15385,"mutability":"mutable","name":"toml","nameLocation":"69622:4:19","nodeType":"VariableDeclaration","scope":15392,"src":"69606:20:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15384,"name":"string","nodeType":"ElementaryTypeName","src":"69606:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15387,"mutability":"mutable","name":"key","nameLocation":"69644:3:19","nodeType":"VariableDeclaration","scope":15392,"src":"69628:19:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15386,"name":"string","nodeType":"ElementaryTypeName","src":"69628:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"69605:43:19"},"returnParameters":{"id":15391,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15390,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15392,"src":"69672:12:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":15389,"name":"bytes","nodeType":"ElementaryTypeName","src":"69672:5:19","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"69671:14:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15402,"nodeType":"FunctionDefinition","src":"69767:101:19","nodes":[],"documentation":{"id":15393,"nodeType":"StructuredDocumentation","src":"69692:70:19","text":"Parses a string of TOML data at `key` and coerces it to `bytes32`."},"functionSelector":"8e214810","implemented":false,"kind":"function","modifiers":[],"name":"parseTomlBytes32","nameLocation":"69776:16:19","parameters":{"id":15398,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15395,"mutability":"mutable","name":"toml","nameLocation":"69809:4:19","nodeType":"VariableDeclaration","scope":15402,"src":"69793:20:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15394,"name":"string","nodeType":"ElementaryTypeName","src":"69793:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15397,"mutability":"mutable","name":"key","nameLocation":"69831:3:19","nodeType":"VariableDeclaration","scope":15402,"src":"69815:19:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15396,"name":"string","nodeType":"ElementaryTypeName","src":"69815:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"69792:43:19"},"returnParameters":{"id":15401,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15400,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15402,"src":"69859:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":15399,"name":"bytes32","nodeType":"ElementaryTypeName","src":"69859:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"69858:9:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15413,"nodeType":"FunctionDefinition","src":"69951:139:19","nodes":[],"documentation":{"id":15403,"nodeType":"StructuredDocumentation","src":"69874:72:19","text":"Parses a string of TOML data at `key` and coerces it to `bytes32[]`."},"functionSelector":"3e716f81","implemented":false,"kind":"function","modifiers":[],"name":"parseTomlBytes32Array","nameLocation":"69960:21:19","parameters":{"id":15408,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15405,"mutability":"mutable","name":"toml","nameLocation":"69998:4:19","nodeType":"VariableDeclaration","scope":15413,"src":"69982:20:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15404,"name":"string","nodeType":"ElementaryTypeName","src":"69982:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15407,"mutability":"mutable","name":"key","nameLocation":"70020:3:19","nodeType":"VariableDeclaration","scope":15413,"src":"70004:19:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15406,"name":"string","nodeType":"ElementaryTypeName","src":"70004:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"69981:43:19"},"returnParameters":{"id":15412,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15411,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15413,"src":"70072:16:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":15409,"name":"bytes32","nodeType":"ElementaryTypeName","src":"70072:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":15410,"nodeType":"ArrayTypeName","src":"70072:9:19","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"70071:18:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15424,"nodeType":"FunctionDefinition","src":"70171:111:19","nodes":[],"documentation":{"id":15414,"nodeType":"StructuredDocumentation","src":"70096:70:19","text":"Parses a string of TOML data at `key` and coerces it to `bytes[]`."},"functionSelector":"b197c247","implemented":false,"kind":"function","modifiers":[],"name":"parseTomlBytesArray","nameLocation":"70180:19:19","parameters":{"id":15419,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15416,"mutability":"mutable","name":"toml","nameLocation":"70216:4:19","nodeType":"VariableDeclaration","scope":15424,"src":"70200:20:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15415,"name":"string","nodeType":"ElementaryTypeName","src":"70200:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15418,"mutability":"mutable","name":"key","nameLocation":"70238:3:19","nodeType":"VariableDeclaration","scope":15424,"src":"70222:19:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15417,"name":"string","nodeType":"ElementaryTypeName","src":"70222:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"70199:43:19"},"returnParameters":{"id":15423,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15422,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15424,"src":"70266:14:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":15420,"name":"bytes","nodeType":"ElementaryTypeName","src":"70266:5:19","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":15421,"nodeType":"ArrayTypeName","src":"70266:7:19","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"70265:16:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15434,"nodeType":"FunctionDefinition","src":"70362:96:19","nodes":[],"documentation":{"id":15425,"nodeType":"StructuredDocumentation","src":"70288:69:19","text":"Parses a string of TOML data at `key` and coerces it to `int256`."},"functionSelector":"c1350739","implemented":false,"kind":"function","modifiers":[],"name":"parseTomlInt","nameLocation":"70371:12:19","parameters":{"id":15430,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15427,"mutability":"mutable","name":"toml","nameLocation":"70400:4:19","nodeType":"VariableDeclaration","scope":15434,"src":"70384:20:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15426,"name":"string","nodeType":"ElementaryTypeName","src":"70384:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15429,"mutability":"mutable","name":"key","nameLocation":"70422:3:19","nodeType":"VariableDeclaration","scope":15434,"src":"70406:19:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15428,"name":"string","nodeType":"ElementaryTypeName","src":"70406:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"70383:43:19"},"returnParameters":{"id":15433,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15432,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15434,"src":"70450:6:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":15431,"name":"int256","nodeType":"ElementaryTypeName","src":"70450:6:19","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"70449:8:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15445,"nodeType":"FunctionDefinition","src":"70540:110:19","nodes":[],"documentation":{"id":15435,"nodeType":"StructuredDocumentation","src":"70464:71:19","text":"Parses a string of TOML data at `key` and coerces it to `int256[]`."},"functionSelector":"d3522ae6","implemented":false,"kind":"function","modifiers":[],"name":"parseTomlIntArray","nameLocation":"70549:17:19","parameters":{"id":15440,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15437,"mutability":"mutable","name":"toml","nameLocation":"70583:4:19","nodeType":"VariableDeclaration","scope":15445,"src":"70567:20:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15436,"name":"string","nodeType":"ElementaryTypeName","src":"70567:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15439,"mutability":"mutable","name":"key","nameLocation":"70605:3:19","nodeType":"VariableDeclaration","scope":15445,"src":"70589:19:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15438,"name":"string","nodeType":"ElementaryTypeName","src":"70589:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"70566:43:19"},"returnParameters":{"id":15444,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15443,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15445,"src":"70633:15:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":15441,"name":"int256","nodeType":"ElementaryTypeName","src":"70633:6:19","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":15442,"nodeType":"ArrayTypeName","src":"70633:8:19","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"70632:17:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15456,"nodeType":"FunctionDefinition","src":"70714:111:19","nodes":[],"documentation":{"id":15446,"nodeType":"StructuredDocumentation","src":"70656:53:19","text":"Returns an array of all the keys in a TOML table."},"functionSelector":"812a44b2","implemented":false,"kind":"function","modifiers":[],"name":"parseTomlKeys","nameLocation":"70723:13:19","parameters":{"id":15451,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15448,"mutability":"mutable","name":"toml","nameLocation":"70753:4:19","nodeType":"VariableDeclaration","scope":15456,"src":"70737:20:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15447,"name":"string","nodeType":"ElementaryTypeName","src":"70737:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15450,"mutability":"mutable","name":"key","nameLocation":"70775:3:19","nodeType":"VariableDeclaration","scope":15456,"src":"70759:19:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15449,"name":"string","nodeType":"ElementaryTypeName","src":"70759:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"70736:43:19"},"returnParameters":{"id":15455,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15454,"mutability":"mutable","name":"keys","nameLocation":"70819:4:19","nodeType":"VariableDeclaration","scope":15456,"src":"70803:20:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":15452,"name":"string","nodeType":"ElementaryTypeName","src":"70803:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":15453,"nodeType":"ArrayTypeName","src":"70803:8:19","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"70802:22:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15466,"nodeType":"FunctionDefinition","src":"70905:106:19","nodes":[],"documentation":{"id":15457,"nodeType":"StructuredDocumentation","src":"70831:69:19","text":"Parses a string of TOML data at `key` and coerces it to `string`."},"functionSelector":"8bb8dd43","implemented":false,"kind":"function","modifiers":[],"name":"parseTomlString","nameLocation":"70914:15:19","parameters":{"id":15462,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15459,"mutability":"mutable","name":"toml","nameLocation":"70946:4:19","nodeType":"VariableDeclaration","scope":15466,"src":"70930:20:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15458,"name":"string","nodeType":"ElementaryTypeName","src":"70930:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15461,"mutability":"mutable","name":"key","nameLocation":"70968:3:19","nodeType":"VariableDeclaration","scope":15466,"src":"70952:19:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15460,"name":"string","nodeType":"ElementaryTypeName","src":"70952:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"70929:43:19"},"returnParameters":{"id":15465,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15464,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15466,"src":"70996:13:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15463,"name":"string","nodeType":"ElementaryTypeName","src":"70996:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"70995:15:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15477,"nodeType":"FunctionDefinition","src":"71093:113:19","nodes":[],"documentation":{"id":15467,"nodeType":"StructuredDocumentation","src":"71017:71:19","text":"Parses a string of TOML data at `key` and coerces it to `string[]`."},"functionSelector":"9f629281","implemented":false,"kind":"function","modifiers":[],"name":"parseTomlStringArray","nameLocation":"71102:20:19","parameters":{"id":15472,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15469,"mutability":"mutable","name":"toml","nameLocation":"71139:4:19","nodeType":"VariableDeclaration","scope":15477,"src":"71123:20:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15468,"name":"string","nodeType":"ElementaryTypeName","src":"71123:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15471,"mutability":"mutable","name":"key","nameLocation":"71161:3:19","nodeType":"VariableDeclaration","scope":15477,"src":"71145:19:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15470,"name":"string","nodeType":"ElementaryTypeName","src":"71145:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"71122:43:19"},"returnParameters":{"id":15476,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15475,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15477,"src":"71189:15:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":15473,"name":"string","nodeType":"ElementaryTypeName","src":"71189:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":15474,"nodeType":"ArrayTypeName","src":"71189:8:19","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"71188:17:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15487,"nodeType":"FunctionDefinition","src":"71287:98:19","nodes":[],"documentation":{"id":15478,"nodeType":"StructuredDocumentation","src":"71212:70:19","text":"Parses a string of TOML data at `key` and coerces it to `uint256`."},"functionSelector":"cc7b0487","implemented":false,"kind":"function","modifiers":[],"name":"parseTomlUint","nameLocation":"71296:13:19","parameters":{"id":15483,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15480,"mutability":"mutable","name":"toml","nameLocation":"71326:4:19","nodeType":"VariableDeclaration","scope":15487,"src":"71310:20:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15479,"name":"string","nodeType":"ElementaryTypeName","src":"71310:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15482,"mutability":"mutable","name":"key","nameLocation":"71348:3:19","nodeType":"VariableDeclaration","scope":15487,"src":"71332:19:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15481,"name":"string","nodeType":"ElementaryTypeName","src":"71332:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"71309:43:19"},"returnParameters":{"id":15486,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15485,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15487,"src":"71376:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15484,"name":"uint256","nodeType":"ElementaryTypeName","src":"71376:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"71375:9:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15498,"nodeType":"FunctionDefinition","src":"71468:112:19","nodes":[],"documentation":{"id":15488,"nodeType":"StructuredDocumentation","src":"71391:72:19","text":"Parses a string of TOML data at `key` and coerces it to `uint256[]`."},"functionSelector":"b5df27c8","implemented":false,"kind":"function","modifiers":[],"name":"parseTomlUintArray","nameLocation":"71477:18:19","parameters":{"id":15493,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15490,"mutability":"mutable","name":"toml","nameLocation":"71512:4:19","nodeType":"VariableDeclaration","scope":15498,"src":"71496:20:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15489,"name":"string","nodeType":"ElementaryTypeName","src":"71496:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15492,"mutability":"mutable","name":"key","nameLocation":"71534:3:19","nodeType":"VariableDeclaration","scope":15498,"src":"71518:19:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15491,"name":"string","nodeType":"ElementaryTypeName","src":"71518:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"71495:43:19"},"returnParameters":{"id":15497,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15496,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15498,"src":"71562:16:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":15494,"name":"uint256","nodeType":"ElementaryTypeName","src":"71562:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":15495,"nodeType":"ArrayTypeName","src":"71562:9:19","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"71561:18:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15506,"nodeType":"FunctionDefinition","src":"71620:93:19","nodes":[],"documentation":{"id":15499,"nodeType":"StructuredDocumentation","src":"71586:29:19","text":"ABI-encodes a TOML table."},"functionSelector":"592151f0","implemented":false,"kind":"function","modifiers":[],"name":"parseToml","nameLocation":"71629:9:19","parameters":{"id":15502,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15501,"mutability":"mutable","name":"toml","nameLocation":"71655:4:19","nodeType":"VariableDeclaration","scope":15506,"src":"71639:20:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15500,"name":"string","nodeType":"ElementaryTypeName","src":"71639:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"71638:22:19"},"returnParameters":{"id":15505,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15504,"mutability":"mutable","name":"abiEncodedData","nameLocation":"71697:14:19","nodeType":"VariableDeclaration","scope":15506,"src":"71684:27:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":15503,"name":"bytes","nodeType":"ElementaryTypeName","src":"71684:5:19","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"71683:29:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15516,"nodeType":"FunctionDefinition","src":"71762:114:19","nodes":[],"documentation":{"id":15507,"nodeType":"StructuredDocumentation","src":"71719:38:19","text":"ABI-encodes a TOML table at `key`."},"functionSelector":"37736e08","implemented":false,"kind":"function","modifiers":[],"name":"parseToml","nameLocation":"71771:9:19","parameters":{"id":15512,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15509,"mutability":"mutable","name":"toml","nameLocation":"71797:4:19","nodeType":"VariableDeclaration","scope":15516,"src":"71781:20:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15508,"name":"string","nodeType":"ElementaryTypeName","src":"71781:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15511,"mutability":"mutable","name":"key","nameLocation":"71819:3:19","nodeType":"VariableDeclaration","scope":15516,"src":"71803:19:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15510,"name":"string","nodeType":"ElementaryTypeName","src":"71803:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"71780:43:19"},"returnParameters":{"id":15515,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15514,"mutability":"mutable","name":"abiEncodedData","nameLocation":"71860:14:19","nodeType":"VariableDeclaration","scope":15516,"src":"71847:27:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":15513,"name":"bytes","nodeType":"ElementaryTypeName","src":"71847:5:19","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"71846:29:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15524,"nodeType":"FunctionDefinition","src":"71969:72:19","nodes":[],"documentation":{"id":15517,"nodeType":"StructuredDocumentation","src":"71882:82:19","text":"Takes serialized JSON, converts to TOML and write a serialized TOML to a file."},"functionSelector":"c0865ba7","implemented":false,"kind":"function","modifiers":[],"name":"writeToml","nameLocation":"71978:9:19","parameters":{"id":15522,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15519,"mutability":"mutable","name":"json","nameLocation":"72004:4:19","nodeType":"VariableDeclaration","scope":15524,"src":"71988:20:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15518,"name":"string","nodeType":"ElementaryTypeName","src":"71988:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15521,"mutability":"mutable","name":"path","nameLocation":"72026:4:19","nodeType":"VariableDeclaration","scope":15524,"src":"72010:20:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15520,"name":"string","nodeType":"ElementaryTypeName","src":"72010:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"71987:44:19"},"returnParameters":{"id":15523,"nodeType":"ParameterList","parameters":[],"src":"72040:0:19"},"scope":15724,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15534,"nodeType":"FunctionDefinition","src":"72310:98:19","nodes":[],"documentation":{"id":15525,"nodeType":"StructuredDocumentation","src":"72047:258:19","text":"Takes serialized JSON, converts to TOML and write a serialized TOML table to an **existing** TOML file, replacing a value with key = <value_key.>\n This is useful to replace a specific value of a TOML file, without having to parse the entire thing."},"functionSelector":"51ac6a33","implemented":false,"kind":"function","modifiers":[],"name":"writeToml","nameLocation":"72319:9:19","parameters":{"id":15532,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15527,"mutability":"mutable","name":"json","nameLocation":"72345:4:19","nodeType":"VariableDeclaration","scope":15534,"src":"72329:20:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15526,"name":"string","nodeType":"ElementaryTypeName","src":"72329:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15529,"mutability":"mutable","name":"path","nameLocation":"72367:4:19","nodeType":"VariableDeclaration","scope":15534,"src":"72351:20:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15528,"name":"string","nodeType":"ElementaryTypeName","src":"72351:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15531,"mutability":"mutable","name":"valueKey","nameLocation":"72389:8:19","nodeType":"VariableDeclaration","scope":15534,"src":"72373:24:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15530,"name":"string","nodeType":"ElementaryTypeName","src":"72373:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"72328:70:19"},"returnParameters":{"id":15533,"nodeType":"ParameterList","parameters":[],"src":"72407:0:19"},"scope":15724,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15546,"nodeType":"FunctionDefinition","src":"72547:141:19","nodes":[],"documentation":{"id":15535,"nodeType":"StructuredDocumentation","src":"72450:92:19","text":"Compute the address of a contract created with CREATE2 using the given CREATE2 deployer."},"functionSelector":"d323826a","implemented":false,"kind":"function","modifiers":[],"name":"computeCreate2Address","nameLocation":"72556:21:19","parameters":{"id":15542,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15537,"mutability":"mutable","name":"salt","nameLocation":"72586:4:19","nodeType":"VariableDeclaration","scope":15546,"src":"72578:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":15536,"name":"bytes32","nodeType":"ElementaryTypeName","src":"72578:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":15539,"mutability":"mutable","name":"initCodeHash","nameLocation":"72600:12:19","nodeType":"VariableDeclaration","scope":15546,"src":"72592:20:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":15538,"name":"bytes32","nodeType":"ElementaryTypeName","src":"72592:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":15541,"mutability":"mutable","name":"deployer","nameLocation":"72622:8:19","nodeType":"VariableDeclaration","scope":15546,"src":"72614:16:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15540,"name":"address","nodeType":"ElementaryTypeName","src":"72614:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"72577:54:19"},"returnParameters":{"id":15545,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15544,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15546,"src":"72679:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15543,"name":"address","nodeType":"ElementaryTypeName","src":"72679:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"72678:9:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15556,"nodeType":"FunctionDefinition","src":"72793:99:19","nodes":[],"documentation":{"id":15547,"nodeType":"StructuredDocumentation","src":"72694:94:19","text":"Compute the address of a contract created with CREATE2 using the default CREATE2 deployer."},"functionSelector":"890c283b","implemented":false,"kind":"function","modifiers":[],"name":"computeCreate2Address","nameLocation":"72802:21:19","parameters":{"id":15552,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15549,"mutability":"mutable","name":"salt","nameLocation":"72832:4:19","nodeType":"VariableDeclaration","scope":15556,"src":"72824:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":15548,"name":"bytes32","nodeType":"ElementaryTypeName","src":"72824:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":15551,"mutability":"mutable","name":"initCodeHash","nameLocation":"72846:12:19","nodeType":"VariableDeclaration","scope":15556,"src":"72838:20:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":15550,"name":"bytes32","nodeType":"ElementaryTypeName","src":"72838:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"72823:36:19"},"returnParameters":{"id":15555,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15554,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15556,"src":"72883:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15553,"name":"address","nodeType":"ElementaryTypeName","src":"72883:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"72882:9:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15566,"nodeType":"FunctionDefinition","src":"72997:95:19","nodes":[],"documentation":{"id":15557,"nodeType":"StructuredDocumentation","src":"72898:94:19","text":"Compute the address a contract will be deployed at for a given deployer address and nonce."},"functionSelector":"74637a7a","implemented":false,"kind":"function","modifiers":[],"name":"computeCreateAddress","nameLocation":"73006:20:19","parameters":{"id":15562,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15559,"mutability":"mutable","name":"deployer","nameLocation":"73035:8:19","nodeType":"VariableDeclaration","scope":15566,"src":"73027:16:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15558,"name":"address","nodeType":"ElementaryTypeName","src":"73027:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15561,"mutability":"mutable","name":"nonce","nameLocation":"73053:5:19","nodeType":"VariableDeclaration","scope":15566,"src":"73045:13:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15560,"name":"uint256","nodeType":"ElementaryTypeName","src":"73045:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"73026:33:19"},"returnParameters":{"id":15565,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15564,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15566,"src":"73083:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15563,"name":"address","nodeType":"ElementaryTypeName","src":"73083:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"73082:9:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15575,"nodeType":"FunctionDefinition","src":"73202:91:19","nodes":[],"documentation":{"id":15567,"nodeType":"StructuredDocumentation","src":"73098:99:19","text":"Derives a private key from the name, labels the account with that name, and returns the wallet."},"functionSelector":"7404f1d2","implemented":false,"kind":"function","modifiers":[],"name":"createWallet","nameLocation":"73211:12:19","parameters":{"id":15570,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15569,"mutability":"mutable","name":"walletLabel","nameLocation":"73240:11:19","nodeType":"VariableDeclaration","scope":15575,"src":"73224:27:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15568,"name":"string","nodeType":"ElementaryTypeName","src":"73224:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"73223:29:19"},"returnParameters":{"id":15574,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15573,"mutability":"mutable","name":"wallet","nameLocation":"73285:6:19","nodeType":"VariableDeclaration","scope":15575,"src":"73271:20:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Wallet_$12634_memory_ptr","typeString":"struct VmSafe.Wallet"},"typeName":{"id":15572,"nodeType":"UserDefinedTypeName","pathNode":{"id":15571,"name":"Wallet","nodeType":"IdentifierPath","referencedDeclaration":12634,"src":"73271:6:19"},"referencedDeclaration":12634,"src":"73271:6:19","typeDescriptions":{"typeIdentifier":"t_struct$_Wallet_$12634_storage_ptr","typeString":"struct VmSafe.Wallet"}},"visibility":"internal"}],"src":"73270:22:19"},"scope":15724,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15584,"nodeType":"FunctionDefinition","src":"73371:82:19","nodes":[],"documentation":{"id":15576,"nodeType":"StructuredDocumentation","src":"73299:67:19","text":"Generates a wallet from the private key and returns the wallet."},"functionSelector":"7a675bb6","implemented":false,"kind":"function","modifiers":[],"name":"createWallet","nameLocation":"73380:12:19","parameters":{"id":15579,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15578,"mutability":"mutable","name":"privateKey","nameLocation":"73401:10:19","nodeType":"VariableDeclaration","scope":15584,"src":"73393:18:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15577,"name":"uint256","nodeType":"ElementaryTypeName","src":"73393:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"73392:20:19"},"returnParameters":{"id":15583,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15582,"mutability":"mutable","name":"wallet","nameLocation":"73445:6:19","nodeType":"VariableDeclaration","scope":15584,"src":"73431:20:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Wallet_$12634_memory_ptr","typeString":"struct VmSafe.Wallet"},"typeName":{"id":15581,"nodeType":"UserDefinedTypeName","pathNode":{"id":15580,"name":"Wallet","nodeType":"IdentifierPath","referencedDeclaration":12634,"src":"73431:6:19"},"referencedDeclaration":12634,"src":"73431:6:19","typeDescriptions":{"typeIdentifier":"t_struct$_Wallet_$12634_storage_ptr","typeString":"struct VmSafe.Wallet"}},"visibility":"internal"}],"src":"73430:22:19"},"scope":15724,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15595,"nodeType":"FunctionDefinition","src":"73567:111:19","nodes":[],"documentation":{"id":15585,"nodeType":"StructuredDocumentation","src":"73459:103:19","text":"Generates a wallet from the private key, labels the account with that name, and returns the wallet."},"functionSelector":"ed7c5462","implemented":false,"kind":"function","modifiers":[],"name":"createWallet","nameLocation":"73576:12:19","parameters":{"id":15590,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15587,"mutability":"mutable","name":"privateKey","nameLocation":"73597:10:19","nodeType":"VariableDeclaration","scope":15595,"src":"73589:18:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15586,"name":"uint256","nodeType":"ElementaryTypeName","src":"73589:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15589,"mutability":"mutable","name":"walletLabel","nameLocation":"73625:11:19","nodeType":"VariableDeclaration","scope":15595,"src":"73609:27:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15588,"name":"string","nodeType":"ElementaryTypeName","src":"73609:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"73588:49:19"},"returnParameters":{"id":15594,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15593,"mutability":"mutable","name":"wallet","nameLocation":"73670:6:19","nodeType":"VariableDeclaration","scope":15595,"src":"73656:20:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Wallet_$12634_memory_ptr","typeString":"struct VmSafe.Wallet"},"typeName":{"id":15592,"nodeType":"UserDefinedTypeName","pathNode":{"id":15591,"name":"Wallet","nodeType":"IdentifierPath","referencedDeclaration":12634,"src":"73656:6:19"},"referencedDeclaration":12634,"src":"73656:6:19","typeDescriptions":{"typeIdentifier":"t_struct$_Wallet_$12634_storage_ptr","typeString":"struct VmSafe.Wallet"}},"visibility":"internal"}],"src":"73655:22:19"},"scope":15724,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15605,"nodeType":"FunctionDefinition","src":"73826:102:19","nodes":[],"documentation":{"id":15596,"nodeType":"StructuredDocumentation","src":"73684:137:19","text":"Derive a private key from a provided mnenomic string (or mnenomic file path)\n at the derivation path `m/44'/60'/0'/0/{index}`."},"functionSelector":"6229498b","implemented":false,"kind":"function","modifiers":[],"name":"deriveKey","nameLocation":"73835:9:19","parameters":{"id":15601,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15598,"mutability":"mutable","name":"mnemonic","nameLocation":"73861:8:19","nodeType":"VariableDeclaration","scope":15605,"src":"73845:24:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15597,"name":"string","nodeType":"ElementaryTypeName","src":"73845:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15600,"mutability":"mutable","name":"index","nameLocation":"73878:5:19","nodeType":"VariableDeclaration","scope":15605,"src":"73871:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":15599,"name":"uint32","nodeType":"ElementaryTypeName","src":"73871:6:19","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"src":"73844:40:19"},"returnParameters":{"id":15604,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15603,"mutability":"mutable","name":"privateKey","nameLocation":"73916:10:19","nodeType":"VariableDeclaration","scope":15605,"src":"73908:18:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15602,"name":"uint256","nodeType":"ElementaryTypeName","src":"73908:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"73907:20:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15617,"nodeType":"FunctionDefinition","src":"74057:158:19","nodes":[],"documentation":{"id":15606,"nodeType":"StructuredDocumentation","src":"73934:118:19","text":"Derive a private key from a provided mnenomic string (or mnenomic file path)\n at `{derivationPath}{index}`."},"functionSelector":"6bcb2c1b","implemented":false,"kind":"function","modifiers":[],"name":"deriveKey","nameLocation":"74066:9:19","parameters":{"id":15613,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15608,"mutability":"mutable","name":"mnemonic","nameLocation":"74092:8:19","nodeType":"VariableDeclaration","scope":15617,"src":"74076:24:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15607,"name":"string","nodeType":"ElementaryTypeName","src":"74076:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15610,"mutability":"mutable","name":"derivationPath","nameLocation":"74118:14:19","nodeType":"VariableDeclaration","scope":15617,"src":"74102:30:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15609,"name":"string","nodeType":"ElementaryTypeName","src":"74102:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15612,"mutability":"mutable","name":"index","nameLocation":"74141:5:19","nodeType":"VariableDeclaration","scope":15617,"src":"74134:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":15611,"name":"uint32","nodeType":"ElementaryTypeName","src":"74134:6:19","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"src":"74075:72:19"},"returnParameters":{"id":15616,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15615,"mutability":"mutable","name":"privateKey","nameLocation":"74203:10:19","nodeType":"VariableDeclaration","scope":15617,"src":"74195:18:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15614,"name":"uint256","nodeType":"ElementaryTypeName","src":"74195:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"74194:20:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15629,"nodeType":"FunctionDefinition","src":"74389:152:19","nodes":[],"documentation":{"id":15618,"nodeType":"StructuredDocumentation","src":"74221:163:19","text":"Derive a private key from a provided mnenomic string (or mnenomic file path) in the specified language\n at the derivation path `m/44'/60'/0'/0/{index}`."},"functionSelector":"32c8176d","implemented":false,"kind":"function","modifiers":[],"name":"deriveKey","nameLocation":"74398:9:19","parameters":{"id":15625,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15620,"mutability":"mutable","name":"mnemonic","nameLocation":"74424:8:19","nodeType":"VariableDeclaration","scope":15629,"src":"74408:24:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15619,"name":"string","nodeType":"ElementaryTypeName","src":"74408:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15622,"mutability":"mutable","name":"index","nameLocation":"74441:5:19","nodeType":"VariableDeclaration","scope":15629,"src":"74434:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":15621,"name":"uint32","nodeType":"ElementaryTypeName","src":"74434:6:19","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"},{"constant":false,"id":15624,"mutability":"mutable","name":"language","nameLocation":"74464:8:19","nodeType":"VariableDeclaration","scope":15629,"src":"74448:24:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15623,"name":"string","nodeType":"ElementaryTypeName","src":"74448:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"74407:66:19"},"returnParameters":{"id":15628,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15627,"mutability":"mutable","name":"privateKey","nameLocation":"74529:10:19","nodeType":"VariableDeclaration","scope":15629,"src":"74521:18:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15626,"name":"uint256","nodeType":"ElementaryTypeName","src":"74521:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"74520:20:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15643,"nodeType":"FunctionDefinition","src":"74696:184:19","nodes":[],"documentation":{"id":15630,"nodeType":"StructuredDocumentation","src":"74547:144:19","text":"Derive a private key from a provided mnenomic string (or mnenomic file path) in the specified language\n at `{derivationPath}{index}`."},"functionSelector":"29233b1f","implemented":false,"kind":"function","modifiers":[],"name":"deriveKey","nameLocation":"74705:9:19","parameters":{"id":15639,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15632,"mutability":"mutable","name":"mnemonic","nameLocation":"74731:8:19","nodeType":"VariableDeclaration","scope":15643,"src":"74715:24:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15631,"name":"string","nodeType":"ElementaryTypeName","src":"74715:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15634,"mutability":"mutable","name":"derivationPath","nameLocation":"74757:14:19","nodeType":"VariableDeclaration","scope":15643,"src":"74741:30:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15633,"name":"string","nodeType":"ElementaryTypeName","src":"74741:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15636,"mutability":"mutable","name":"index","nameLocation":"74780:5:19","nodeType":"VariableDeclaration","scope":15643,"src":"74773:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":15635,"name":"uint32","nodeType":"ElementaryTypeName","src":"74773:6:19","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"},{"constant":false,"id":15638,"mutability":"mutable","name":"language","nameLocation":"74803:8:19","nodeType":"VariableDeclaration","scope":15643,"src":"74787:24:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15637,"name":"string","nodeType":"ElementaryTypeName","src":"74787:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"74714:98:19"},"returnParameters":{"id":15642,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15641,"mutability":"mutable","name":"privateKey","nameLocation":"74868:10:19","nodeType":"VariableDeclaration","scope":15643,"src":"74860:18:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15640,"name":"uint256","nodeType":"ElementaryTypeName","src":"74860:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"74859:20:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15651,"nodeType":"FunctionDefinition","src":"74936:86:19","nodes":[],"documentation":{"id":15644,"nodeType":"StructuredDocumentation","src":"74886:45:19","text":"Gets the label for the specified address."},"functionSelector":"28a249b0","implemented":false,"kind":"function","modifiers":[],"name":"getLabel","nameLocation":"74945:8:19","parameters":{"id":15647,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15646,"mutability":"mutable","name":"account","nameLocation":"74962:7:19","nodeType":"VariableDeclaration","scope":15651,"src":"74954:15:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15645,"name":"address","nodeType":"ElementaryTypeName","src":"74954:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"74953:17:19"},"returnParameters":{"id":15650,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15649,"mutability":"mutable","name":"currentLabel","nameLocation":"75008:12:19","nodeType":"VariableDeclaration","scope":15651,"src":"74994:26:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15648,"name":"string","nodeType":"ElementaryTypeName","src":"74994:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"74993:28:19"},"scope":15724,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":15660,"nodeType":"FunctionDefinition","src":"75060:74:19","nodes":[],"documentation":{"id":15652,"nodeType":"StructuredDocumentation","src":"75028:27:19","text":"Get a `Wallet`'s nonce."},"functionSelector":"a5748aad","implemented":false,"kind":"function","modifiers":[],"name":"getNonce","nameLocation":"75069:8:19","parameters":{"id":15656,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15655,"mutability":"mutable","name":"wallet","nameLocation":"75094:6:19","nodeType":"VariableDeclaration","scope":15660,"src":"75078:22:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_struct$_Wallet_$12634_calldata_ptr","typeString":"struct VmSafe.Wallet"},"typeName":{"id":15654,"nodeType":"UserDefinedTypeName","pathNode":{"id":15653,"name":"Wallet","nodeType":"IdentifierPath","referencedDeclaration":12634,"src":"75078:6:19"},"referencedDeclaration":12634,"src":"75078:6:19","typeDescriptions":{"typeIdentifier":"t_struct$_Wallet_$12634_storage_ptr","typeString":"struct VmSafe.Wallet"}},"visibility":"internal"}],"src":"75077:24:19"},"returnParameters":{"id":15659,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15658,"mutability":"mutable","name":"nonce","nameLocation":"75127:5:19","nodeType":"VariableDeclaration","scope":15660,"src":"75120:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":15657,"name":"uint64","nodeType":"ElementaryTypeName","src":"75120:6:19","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"75119:14:19"},"scope":15724,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15668,"nodeType":"FunctionDefinition","src":"75182:67:19","nodes":[],"documentation":{"id":15661,"nodeType":"StructuredDocumentation","src":"75140:37:19","text":"Labels an address in call traces."},"functionSelector":"c657c718","implemented":false,"kind":"function","modifiers":[],"name":"label","nameLocation":"75191:5:19","parameters":{"id":15666,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15663,"mutability":"mutable","name":"account","nameLocation":"75205:7:19","nodeType":"VariableDeclaration","scope":15668,"src":"75197:15:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15662,"name":"address","nodeType":"ElementaryTypeName","src":"75197:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15665,"mutability":"mutable","name":"newLabel","nameLocation":"75230:8:19","nodeType":"VariableDeclaration","scope":15668,"src":"75214:24:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15664,"name":"string","nodeType":"ElementaryTypeName","src":"75214:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"75196:43:19"},"returnParameters":{"id":15667,"nodeType":"ParameterList","parameters":[],"src":"75248:0:19"},"scope":15724,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15676,"nodeType":"FunctionDefinition","src":"75333:76:19","nodes":[],"documentation":{"id":15669,"nodeType":"StructuredDocumentation","src":"75255:73:19","text":"Adds a private key to the local forge wallet and returns the address."},"functionSelector":"22100064","implemented":false,"kind":"function","modifiers":[],"name":"rememberKey","nameLocation":"75342:11:19","parameters":{"id":15672,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15671,"mutability":"mutable","name":"privateKey","nameLocation":"75362:10:19","nodeType":"VariableDeclaration","scope":15676,"src":"75354:18:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15670,"name":"uint256","nodeType":"ElementaryTypeName","src":"75354:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"75353:20:19"},"returnParameters":{"id":15675,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15674,"mutability":"mutable","name":"keyAddr","nameLocation":"75400:7:19","nodeType":"VariableDeclaration","scope":15676,"src":"75392:15:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15673,"name":"address","nodeType":"ElementaryTypeName","src":"75392:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"75391:17:19"},"scope":15724,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15691,"nodeType":"FunctionDefinition","src":"75451:103:19","nodes":[],"documentation":{"id":15677,"nodeType":"StructuredDocumentation","src":"75415:31:19","text":"Signs data with a `Wallet`."},"functionSelector":"b25c5a25","implemented":false,"kind":"function","modifiers":[],"name":"sign","nameLocation":"75460:4:19","parameters":{"id":15683,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15680,"mutability":"mutable","name":"wallet","nameLocation":"75481:6:19","nodeType":"VariableDeclaration","scope":15691,"src":"75465:22:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_struct$_Wallet_$12634_calldata_ptr","typeString":"struct VmSafe.Wallet"},"typeName":{"id":15679,"nodeType":"UserDefinedTypeName","pathNode":{"id":15678,"name":"Wallet","nodeType":"IdentifierPath","referencedDeclaration":12634,"src":"75465:6:19"},"referencedDeclaration":12634,"src":"75465:6:19","typeDescriptions":{"typeIdentifier":"t_struct$_Wallet_$12634_storage_ptr","typeString":"struct VmSafe.Wallet"}},"visibility":"internal"},{"constant":false,"id":15682,"mutability":"mutable","name":"digest","nameLocation":"75497:6:19","nodeType":"VariableDeclaration","scope":15691,"src":"75489:14:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":15681,"name":"bytes32","nodeType":"ElementaryTypeName","src":"75489:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"75464:40:19"},"returnParameters":{"id":15690,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15685,"mutability":"mutable","name":"v","nameLocation":"75529:1:19","nodeType":"VariableDeclaration","scope":15691,"src":"75523:7:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":15684,"name":"uint8","nodeType":"ElementaryTypeName","src":"75523:5:19","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":15687,"mutability":"mutable","name":"r","nameLocation":"75540:1:19","nodeType":"VariableDeclaration","scope":15691,"src":"75532:9:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":15686,"name":"bytes32","nodeType":"ElementaryTypeName","src":"75532:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":15689,"mutability":"mutable","name":"s","nameLocation":"75551:1:19","nodeType":"VariableDeclaration","scope":15691,"src":"75543:9:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":15688,"name":"bytes32","nodeType":"ElementaryTypeName","src":"75543:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"75522:31:19"},"scope":15724,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15699,"nodeType":"FunctionDefinition","src":"75615:80:19","nodes":[],"documentation":{"id":15692,"nodeType":"StructuredDocumentation","src":"75560:50:19","text":"Encodes a `bytes` value to a base64url string."},"functionSelector":"c8bd0e4a","implemented":false,"kind":"function","modifiers":[],"name":"toBase64URL","nameLocation":"75624:11:19","parameters":{"id":15695,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15694,"mutability":"mutable","name":"data","nameLocation":"75651:4:19","nodeType":"VariableDeclaration","scope":15699,"src":"75636:19:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":15693,"name":"bytes","nodeType":"ElementaryTypeName","src":"75636:5:19","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"75635:21:19"},"returnParameters":{"id":15698,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15697,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15699,"src":"75680:13:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15696,"name":"string","nodeType":"ElementaryTypeName","src":"75680:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"75679:15:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15707,"nodeType":"FunctionDefinition","src":"75757:81:19","nodes":[],"documentation":{"id":15700,"nodeType":"StructuredDocumentation","src":"75701:51:19","text":"Encodes a `string` value to a base64url string."},"functionSelector":"ae3165b3","implemented":false,"kind":"function","modifiers":[],"name":"toBase64URL","nameLocation":"75766:11:19","parameters":{"id":15703,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15702,"mutability":"mutable","name":"data","nameLocation":"75794:4:19","nodeType":"VariableDeclaration","scope":15707,"src":"75778:20:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15701,"name":"string","nodeType":"ElementaryTypeName","src":"75778:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"75777:22:19"},"returnParameters":{"id":15706,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15705,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15707,"src":"75823:13:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15704,"name":"string","nodeType":"ElementaryTypeName","src":"75823:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"75822:15:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15715,"nodeType":"FunctionDefinition","src":"75896:77:19","nodes":[],"documentation":{"id":15708,"nodeType":"StructuredDocumentation","src":"75844:47:19","text":"Encodes a `bytes` value to a base64 string."},"functionSelector":"a5cbfe65","implemented":false,"kind":"function","modifiers":[],"name":"toBase64","nameLocation":"75905:8:19","parameters":{"id":15711,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15710,"mutability":"mutable","name":"data","nameLocation":"75929:4:19","nodeType":"VariableDeclaration","scope":15715,"src":"75914:19:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":15709,"name":"bytes","nodeType":"ElementaryTypeName","src":"75914:5:19","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"75913:21:19"},"returnParameters":{"id":15714,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15713,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15715,"src":"75958:13:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15712,"name":"string","nodeType":"ElementaryTypeName","src":"75958:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"75957:15:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15723,"nodeType":"FunctionDefinition","src":"76032:78:19","nodes":[],"documentation":{"id":15716,"nodeType":"StructuredDocumentation","src":"75979:48:19","text":"Encodes a `string` value to a base64 string."},"functionSelector":"3f8be2c8","implemented":false,"kind":"function","modifiers":[],"name":"toBase64","nameLocation":"76041:8:19","parameters":{"id":15719,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15718,"mutability":"mutable","name":"data","nameLocation":"76066:4:19","nodeType":"VariableDeclaration","scope":15723,"src":"76050:20:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15717,"name":"string","nodeType":"ElementaryTypeName","src":"76050:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"76049:22:19"},"returnParameters":{"id":15722,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15721,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15723,"src":"76095:13:19","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15720,"name":"string","nodeType":"ElementaryTypeName","src":"76095:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"76094:15:19"},"scope":15724,"stateMutability":"pure","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"VmSafe","contractDependencies":[],"contractKind":"interface","documentation":{"id":12538,"nodeType":"StructuredDocumentation","src":"184:225:19","text":"The `VmSafe` interface does not allow manipulation of the EVM state or other actions that may\n result in Script simulations differing from on-chain execution. It is recommended to only use\n these cheats in scripts."},"fullyImplemented":false,"linearizedBaseContracts":[15724],"name":"VmSafe","nameLocation":"419:6:19","scope":16312,"usedErrors":[]},{"id":16311,"nodeType":"ContractDefinition","src":"76285:13912:19","nodes":[{"id":15733,"nodeType":"FunctionDefinition","src":"76445:61:19","nodes":[],"documentation":{"id":15728,"nodeType":"StructuredDocumentation","src":"76344:96:19","text":"Returns the identifier of the currently active fork. Reverts if no fork is currently active."},"functionSelector":"2f103f22","implemented":false,"kind":"function","modifiers":[],"name":"activeFork","nameLocation":"76454:10:19","parameters":{"id":15729,"nodeType":"ParameterList","parameters":[],"src":"76464:2:19"},"returnParameters":{"id":15732,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15731,"mutability":"mutable","name":"forkId","nameLocation":"76498:6:19","nodeType":"VariableDeclaration","scope":15733,"src":"76490:14:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15730,"name":"uint256","nodeType":"ElementaryTypeName","src":"76490:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"76489:16:19"},"scope":16311,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":15739,"nodeType":"FunctionDefinition","src":"76590:51:19","nodes":[],"documentation":{"id":15734,"nodeType":"StructuredDocumentation","src":"76512:73:19","text":"In forking mode, explicitly grant the given address cheatcode access."},"functionSelector":"ea060291","implemented":false,"kind":"function","modifiers":[],"name":"allowCheatcodes","nameLocation":"76599:15:19","parameters":{"id":15737,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15736,"mutability":"mutable","name":"account","nameLocation":"76623:7:19","nodeType":"VariableDeclaration","scope":15739,"src":"76615:15:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15735,"name":"address","nodeType":"ElementaryTypeName","src":"76615:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"76614:17:19"},"returnParameters":{"id":15738,"nodeType":"ParameterList","parameters":[],"src":"76640:0:19"},"scope":16311,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15745,"nodeType":"FunctionDefinition","src":"76680:54:19","nodes":[],"documentation":{"id":15740,"nodeType":"StructuredDocumentation","src":"76647:28:19","text":"Sets `block.blobbasefee`"},"functionSelector":"6d315d7e","implemented":false,"kind":"function","modifiers":[],"name":"blobBaseFee","nameLocation":"76689:11:19","parameters":{"id":15743,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15742,"mutability":"mutable","name":"newBlobBaseFee","nameLocation":"76709:14:19","nodeType":"VariableDeclaration","scope":15745,"src":"76701:22:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15741,"name":"uint256","nodeType":"ElementaryTypeName","src":"76701:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"76700:24:19"},"returnParameters":{"id":15744,"nodeType":"ParameterList","parameters":[],"src":"76733:0:19"},"scope":16311,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15751,"nodeType":"FunctionDefinition","src":"76770:46:19","nodes":[],"documentation":{"id":15746,"nodeType":"StructuredDocumentation","src":"76740:25:19","text":"Sets `block.chainid`."},"functionSelector":"4049ddd2","implemented":false,"kind":"function","modifiers":[],"name":"chainId","nameLocation":"76779:7:19","parameters":{"id":15749,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15748,"mutability":"mutable","name":"newChainId","nameLocation":"76795:10:19","nodeType":"VariableDeclaration","scope":15751,"src":"76787:18:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15747,"name":"uint256","nodeType":"ElementaryTypeName","src":"76787:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"76786:20:19"},"returnParameters":{"id":15750,"nodeType":"ParameterList","parameters":[],"src":"76815:0:19"},"scope":16311,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15755,"nodeType":"FunctionDefinition","src":"76855:37:19","nodes":[],"documentation":{"id":15752,"nodeType":"StructuredDocumentation","src":"76822:28:19","text":"Clears all mocked calls."},"functionSelector":"3fdf4e15","implemented":false,"kind":"function","modifiers":[],"name":"clearMockedCalls","nameLocation":"76864:16:19","parameters":{"id":15753,"nodeType":"ParameterList","parameters":[],"src":"76880:2:19"},"returnParameters":{"id":15754,"nodeType":"ParameterList","parameters":[],"src":"76891:0:19"},"scope":16311,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15761,"nodeType":"FunctionDefinition","src":"76929:48:19","nodes":[],"documentation":{"id":15756,"nodeType":"StructuredDocumentation","src":"76898:26:19","text":"Sets `block.coinbase`."},"functionSelector":"ff483c54","implemented":false,"kind":"function","modifiers":[],"name":"coinbase","nameLocation":"76938:8:19","parameters":{"id":15759,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15758,"mutability":"mutable","name":"newCoinbase","nameLocation":"76955:11:19","nodeType":"VariableDeclaration","scope":15761,"src":"76947:19:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15757,"name":"address","nodeType":"ElementaryTypeName","src":"76947:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"76946:21:19"},"returnParameters":{"id":15760,"nodeType":"ParameterList","parameters":[],"src":"76976:0:19"},"scope":16311,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15769,"nodeType":"FunctionDefinition","src":"77097:82:19","nodes":[],"documentation":{"id":15762,"nodeType":"StructuredDocumentation","src":"76983:109:19","text":"Creates a new fork with the given endpoint and the _latest_ block and returns the identifier of the fork."},"functionSelector":"31ba3498","implemented":false,"kind":"function","modifiers":[],"name":"createFork","nameLocation":"77106:10:19","parameters":{"id":15765,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15764,"mutability":"mutable","name":"urlOrAlias","nameLocation":"77133:10:19","nodeType":"VariableDeclaration","scope":15769,"src":"77117:26:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15763,"name":"string","nodeType":"ElementaryTypeName","src":"77117:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"77116:28:19"},"returnParameters":{"id":15768,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15767,"mutability":"mutable","name":"forkId","nameLocation":"77171:6:19","nodeType":"VariableDeclaration","scope":15769,"src":"77163:14:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15766,"name":"uint256","nodeType":"ElementaryTypeName","src":"77163:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"77162:16:19"},"scope":16311,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15779,"nodeType":"FunctionDefinition","src":"77286:103:19","nodes":[],"documentation":{"id":15770,"nodeType":"StructuredDocumentation","src":"77185:96:19","text":"Creates a new fork with the given endpoint and block and returns the identifier of the fork."},"functionSelector":"6ba3ba2b","implemented":false,"kind":"function","modifiers":[],"name":"createFork","nameLocation":"77295:10:19","parameters":{"id":15775,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15772,"mutability":"mutable","name":"urlOrAlias","nameLocation":"77322:10:19","nodeType":"VariableDeclaration","scope":15779,"src":"77306:26:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15771,"name":"string","nodeType":"ElementaryTypeName","src":"77306:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15774,"mutability":"mutable","name":"blockNumber","nameLocation":"77342:11:19","nodeType":"VariableDeclaration","scope":15779,"src":"77334:19:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15773,"name":"uint256","nodeType":"ElementaryTypeName","src":"77334:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"77305:49:19"},"returnParameters":{"id":15778,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15777,"mutability":"mutable","name":"forkId","nameLocation":"77381:6:19","nodeType":"VariableDeclaration","scope":15779,"src":"77373:14:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15776,"name":"uint256","nodeType":"ElementaryTypeName","src":"77373:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"77372:16:19"},"scope":16311,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15789,"nodeType":"FunctionDefinition","src":"77614:98:19","nodes":[],"documentation":{"id":15780,"nodeType":"StructuredDocumentation","src":"77395:214:19","text":"Creates a new fork with the given endpoint and at the block the given transaction was mined in,\n replays all transaction mined in the block before the transaction, and returns the identifier of the fork."},"functionSelector":"7ca29682","implemented":false,"kind":"function","modifiers":[],"name":"createFork","nameLocation":"77623:10:19","parameters":{"id":15785,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15782,"mutability":"mutable","name":"urlOrAlias","nameLocation":"77650:10:19","nodeType":"VariableDeclaration","scope":15789,"src":"77634:26:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15781,"name":"string","nodeType":"ElementaryTypeName","src":"77634:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15784,"mutability":"mutable","name":"txHash","nameLocation":"77670:6:19","nodeType":"VariableDeclaration","scope":15789,"src":"77662:14:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":15783,"name":"bytes32","nodeType":"ElementaryTypeName","src":"77662:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"77633:44:19"},"returnParameters":{"id":15788,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15787,"mutability":"mutable","name":"forkId","nameLocation":"77704:6:19","nodeType":"VariableDeclaration","scope":15789,"src":"77696:14:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15786,"name":"uint256","nodeType":"ElementaryTypeName","src":"77696:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"77695:16:19"},"scope":16311,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15797,"nodeType":"FunctionDefinition","src":"77847:88:19","nodes":[],"documentation":{"id":15790,"nodeType":"StructuredDocumentation","src":"77718:124:19","text":"Creates and also selects a new fork with the given endpoint and the latest block and returns the identifier of the fork."},"functionSelector":"98680034","implemented":false,"kind":"function","modifiers":[],"name":"createSelectFork","nameLocation":"77856:16:19","parameters":{"id":15793,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15792,"mutability":"mutable","name":"urlOrAlias","nameLocation":"77889:10:19","nodeType":"VariableDeclaration","scope":15797,"src":"77873:26:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15791,"name":"string","nodeType":"ElementaryTypeName","src":"77873:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"77872:28:19"},"returnParameters":{"id":15796,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15795,"mutability":"mutable","name":"forkId","nameLocation":"77927:6:19","nodeType":"VariableDeclaration","scope":15797,"src":"77919:14:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15794,"name":"uint256","nodeType":"ElementaryTypeName","src":"77919:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"77918:16:19"},"scope":16311,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15807,"nodeType":"FunctionDefinition","src":"78059:109:19","nodes":[],"documentation":{"id":15798,"nodeType":"StructuredDocumentation","src":"77941:113:19","text":"Creates and also selects a new fork with the given endpoint and block and returns the identifier of the fork."},"functionSelector":"71ee464d","implemented":false,"kind":"function","modifiers":[],"name":"createSelectFork","nameLocation":"78068:16:19","parameters":{"id":15803,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15800,"mutability":"mutable","name":"urlOrAlias","nameLocation":"78101:10:19","nodeType":"VariableDeclaration","scope":15807,"src":"78085:26:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15799,"name":"string","nodeType":"ElementaryTypeName","src":"78085:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15802,"mutability":"mutable","name":"blockNumber","nameLocation":"78121:11:19","nodeType":"VariableDeclaration","scope":15807,"src":"78113:19:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15801,"name":"uint256","nodeType":"ElementaryTypeName","src":"78113:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"78084:49:19"},"returnParameters":{"id":15806,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15805,"mutability":"mutable","name":"forkId","nameLocation":"78160:6:19","nodeType":"VariableDeclaration","scope":15807,"src":"78152:14:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15804,"name":"uint256","nodeType":"ElementaryTypeName","src":"78152:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"78151:16:19"},"scope":16311,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15817,"nodeType":"FunctionDefinition","src":"78404:104:19","nodes":[],"documentation":{"id":15808,"nodeType":"StructuredDocumentation","src":"78174:225:19","text":"Creates and also selects new fork with the given endpoint and at the block the given transaction was mined in,\n replays all transaction mined in the block before the transaction, returns the identifier of the fork."},"functionSelector":"84d52b7a","implemented":false,"kind":"function","modifiers":[],"name":"createSelectFork","nameLocation":"78413:16:19","parameters":{"id":15813,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15810,"mutability":"mutable","name":"urlOrAlias","nameLocation":"78446:10:19","nodeType":"VariableDeclaration","scope":15817,"src":"78430:26:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15809,"name":"string","nodeType":"ElementaryTypeName","src":"78430:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15812,"mutability":"mutable","name":"txHash","nameLocation":"78466:6:19","nodeType":"VariableDeclaration","scope":15817,"src":"78458:14:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":15811,"name":"bytes32","nodeType":"ElementaryTypeName","src":"78458:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"78429:44:19"},"returnParameters":{"id":15816,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15815,"mutability":"mutable","name":"forkId","nameLocation":"78500:6:19","nodeType":"VariableDeclaration","scope":15817,"src":"78492:14:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15814,"name":"uint256","nodeType":"ElementaryTypeName","src":"78492:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"78491:16:19"},"scope":16311,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15825,"nodeType":"FunctionDefinition","src":"78548:60:19","nodes":[],"documentation":{"id":15818,"nodeType":"StructuredDocumentation","src":"78514:29:19","text":"Sets an address' balance."},"functionSelector":"c88a5e6d","implemented":false,"kind":"function","modifiers":[],"name":"deal","nameLocation":"78557:4:19","parameters":{"id":15823,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15820,"mutability":"mutable","name":"account","nameLocation":"78570:7:19","nodeType":"VariableDeclaration","scope":15825,"src":"78562:15:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15819,"name":"address","nodeType":"ElementaryTypeName","src":"78562:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15822,"mutability":"mutable","name":"newBalance","nameLocation":"78587:10:19","nodeType":"VariableDeclaration","scope":15825,"src":"78579:18:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15821,"name":"uint256","nodeType":"ElementaryTypeName","src":"78579:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"78561:37:19"},"returnParameters":{"id":15824,"nodeType":"ParameterList","parameters":[],"src":"78607:0:19"},"scope":16311,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15833,"nodeType":"FunctionDefinition","src":"78846:76:19","nodes":[],"documentation":{"id":15826,"nodeType":"StructuredDocumentation","src":"78614:227:19","text":"Removes the snapshot with the given ID created by `snapshot`.\n Takes the snapshot ID to delete.\n Returns `true` if the snapshot was successfully deleted.\n Returns `false` if the snapshot does not exist."},"functionSelector":"a6368557","implemented":false,"kind":"function","modifiers":[],"name":"deleteSnapshot","nameLocation":"78855:14:19","parameters":{"id":15829,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15828,"mutability":"mutable","name":"snapshotId","nameLocation":"78878:10:19","nodeType":"VariableDeclaration","scope":15833,"src":"78870:18:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15827,"name":"uint256","nodeType":"ElementaryTypeName","src":"78870:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"78869:20:19"},"returnParameters":{"id":15832,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15831,"mutability":"mutable","name":"success","nameLocation":"78913:7:19","nodeType":"VariableDeclaration","scope":15833,"src":"78908:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15830,"name":"bool","nodeType":"ElementaryTypeName","src":"78908:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"78907:14:19"},"scope":16311,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15837,"nodeType":"FunctionDefinition","src":"78994:36:19","nodes":[],"documentation":{"id":15834,"nodeType":"StructuredDocumentation","src":"78928:61:19","text":"Removes _all_ snapshots previously created by `snapshot`."},"functionSelector":"421ae469","implemented":false,"kind":"function","modifiers":[],"name":"deleteSnapshots","nameLocation":"79003:15:19","parameters":{"id":15835,"nodeType":"ParameterList","parameters":[],"src":"79018:2:19"},"returnParameters":{"id":15836,"nodeType":"ParameterList","parameters":[],"src":"79029:0:19"},"scope":16311,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15843,"nodeType":"FunctionDefinition","src":"79206:52:19","nodes":[],"documentation":{"id":15838,"nodeType":"StructuredDocumentation","src":"79036:165:19","text":"Sets `block.difficulty`.\n Not available on EVM versions from Paris onwards. Use `prevrandao` instead.\n Reverts if used on unsupported EVM versions."},"functionSelector":"46cc92d9","implemented":false,"kind":"function","modifiers":[],"name":"difficulty","nameLocation":"79215:10:19","parameters":{"id":15841,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15840,"mutability":"mutable","name":"newDifficulty","nameLocation":"79234:13:19","nodeType":"VariableDeclaration","scope":15843,"src":"79226:21:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15839,"name":"uint256","nodeType":"ElementaryTypeName","src":"79226:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"79225:23:19"},"returnParameters":{"id":15842,"nodeType":"ParameterList","parameters":[],"src":"79257:0:19"},"scope":16311,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15849,"nodeType":"FunctionDefinition","src":"79317:61:19","nodes":[],"documentation":{"id":15844,"nodeType":"StructuredDocumentation","src":"79264:48:19","text":"Dump a genesis JSON file's `allocs` to disk."},"functionSelector":"709ecd3f","implemented":false,"kind":"function","modifiers":[],"name":"dumpState","nameLocation":"79326:9:19","parameters":{"id":15847,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15846,"mutability":"mutable","name":"pathToStateJson","nameLocation":"79352:15:19","nodeType":"VariableDeclaration","scope":15849,"src":"79336:31:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15845,"name":"string","nodeType":"ElementaryTypeName","src":"79336:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"79335:33:19"},"returnParameters":{"id":15848,"nodeType":"ParameterList","parameters":[],"src":"79377:0:19"},"scope":16311,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15857,"nodeType":"FunctionDefinition","src":"79415:74:19","nodes":[],"documentation":{"id":15850,"nodeType":"StructuredDocumentation","src":"79384:26:19","text":"Sets an address' code."},"functionSelector":"b4d6c782","implemented":false,"kind":"function","modifiers":[],"name":"etch","nameLocation":"79424:4:19","parameters":{"id":15855,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15852,"mutability":"mutable","name":"target","nameLocation":"79437:6:19","nodeType":"VariableDeclaration","scope":15857,"src":"79429:14:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15851,"name":"address","nodeType":"ElementaryTypeName","src":"79429:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15854,"mutability":"mutable","name":"newRuntimeBytecode","nameLocation":"79460:18:19","nodeType":"VariableDeclaration","scope":15857,"src":"79445:33:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":15853,"name":"bytes","nodeType":"ElementaryTypeName","src":"79445:5:19","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"79428:51:19"},"returnParameters":{"id":15856,"nodeType":"ParameterList","parameters":[],"src":"79488:0:19"},"scope":16311,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15863,"nodeType":"FunctionDefinition","src":"79525:42:19","nodes":[],"documentation":{"id":15858,"nodeType":"StructuredDocumentation","src":"79495:25:19","text":"Sets `block.basefee`."},"functionSelector":"39b37ab0","implemented":false,"kind":"function","modifiers":[],"name":"fee","nameLocation":"79534:3:19","parameters":{"id":15861,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15860,"mutability":"mutable","name":"newBasefee","nameLocation":"79546:10:19","nodeType":"VariableDeclaration","scope":15863,"src":"79538:18:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15859,"name":"uint256","nodeType":"ElementaryTypeName","src":"79538:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"79537:20:19"},"returnParameters":{"id":15862,"nodeType":"ParameterList","parameters":[],"src":"79566:0:19"},"scope":16311,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15871,"nodeType":"FunctionDefinition","src":"79634:79:19","nodes":[],"documentation":{"id":15864,"nodeType":"StructuredDocumentation","src":"79573:56:19","text":"Returns true if the account is marked as persistent."},"functionSelector":"d92d8efd","implemented":false,"kind":"function","modifiers":[],"name":"isPersistent","nameLocation":"79643:12:19","parameters":{"id":15867,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15866,"mutability":"mutable","name":"account","nameLocation":"79664:7:19","nodeType":"VariableDeclaration","scope":15871,"src":"79656:15:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15865,"name":"address","nodeType":"ElementaryTypeName","src":"79656:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"79655:17:19"},"returnParameters":{"id":15870,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15869,"mutability":"mutable","name":"persistent","nameLocation":"79701:10:19","nodeType":"VariableDeclaration","scope":15871,"src":"79696:15:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15868,"name":"bool","nodeType":"ElementaryTypeName","src":"79696:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"79695:17:19"},"scope":16311,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":15877,"nodeType":"FunctionDefinition","src":"79794:63:19","nodes":[],"documentation":{"id":15872,"nodeType":"StructuredDocumentation","src":"79719:70:19","text":"Load a genesis JSON file's `allocs` into the in-memory revm state."},"functionSelector":"b3a056d7","implemented":false,"kind":"function","modifiers":[],"name":"loadAllocs","nameLocation":"79803:10:19","parameters":{"id":15875,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15874,"mutability":"mutable","name":"pathToAllocsJson","nameLocation":"79830:16:19","nodeType":"VariableDeclaration","scope":15877,"src":"79814:32:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15873,"name":"string","nodeType":"ElementaryTypeName","src":"79814:6:19","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"79813:34:19"},"returnParameters":{"id":15876,"nodeType":"ParameterList","parameters":[],"src":"79856:0:19"},"scope":16311,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15883,"nodeType":"FunctionDefinition","src":"80060:50:19","nodes":[],"documentation":{"id":15878,"nodeType":"StructuredDocumentation","src":"79863:192:19","text":"Marks that the account(s) should use persistent storage across fork swaps in a multifork setup\n Meaning, changes made to the state of this account will be kept when switching forks."},"functionSelector":"57e22dde","implemented":false,"kind":"function","modifiers":[],"name":"makePersistent","nameLocation":"80069:14:19","parameters":{"id":15881,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15880,"mutability":"mutable","name":"account","nameLocation":"80092:7:19","nodeType":"VariableDeclaration","scope":15883,"src":"80084:15:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15879,"name":"address","nodeType":"ElementaryTypeName","src":"80084:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"80083:17:19"},"returnParameters":{"id":15882,"nodeType":"ParameterList","parameters":[],"src":"80109:0:19"},"scope":16311,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15891,"nodeType":"FunctionDefinition","src":"80155:69:19","nodes":[],"documentation":{"id":15884,"nodeType":"StructuredDocumentation","src":"80116:34:19","text":"See `makePersistent(address)`."},"functionSelector":"4074e0a8","implemented":false,"kind":"function","modifiers":[],"name":"makePersistent","nameLocation":"80164:14:19","parameters":{"id":15889,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15886,"mutability":"mutable","name":"account0","nameLocation":"80187:8:19","nodeType":"VariableDeclaration","scope":15891,"src":"80179:16:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15885,"name":"address","nodeType":"ElementaryTypeName","src":"80179:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15888,"mutability":"mutable","name":"account1","nameLocation":"80205:8:19","nodeType":"VariableDeclaration","scope":15891,"src":"80197:16:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15887,"name":"address","nodeType":"ElementaryTypeName","src":"80197:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"80178:36:19"},"returnParameters":{"id":15890,"nodeType":"ParameterList","parameters":[],"src":"80223:0:19"},"scope":16311,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15901,"nodeType":"FunctionDefinition","src":"80269:87:19","nodes":[],"documentation":{"id":15892,"nodeType":"StructuredDocumentation","src":"80230:34:19","text":"See `makePersistent(address)`."},"functionSelector":"efb77a75","implemented":false,"kind":"function","modifiers":[],"name":"makePersistent","nameLocation":"80278:14:19","parameters":{"id":15899,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15894,"mutability":"mutable","name":"account0","nameLocation":"80301:8:19","nodeType":"VariableDeclaration","scope":15901,"src":"80293:16:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15893,"name":"address","nodeType":"ElementaryTypeName","src":"80293:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15896,"mutability":"mutable","name":"account1","nameLocation":"80319:8:19","nodeType":"VariableDeclaration","scope":15901,"src":"80311:16:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15895,"name":"address","nodeType":"ElementaryTypeName","src":"80311:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15898,"mutability":"mutable","name":"account2","nameLocation":"80337:8:19","nodeType":"VariableDeclaration","scope":15901,"src":"80329:16:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15897,"name":"address","nodeType":"ElementaryTypeName","src":"80329:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"80292:54:19"},"returnParameters":{"id":15900,"nodeType":"ParameterList","parameters":[],"src":"80355:0:19"},"scope":16311,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15908,"nodeType":"FunctionDefinition","src":"80401:62:19","nodes":[],"documentation":{"id":15902,"nodeType":"StructuredDocumentation","src":"80362:34:19","text":"See `makePersistent(address)`."},"functionSelector":"1d9e269e","implemented":false,"kind":"function","modifiers":[],"name":"makePersistent","nameLocation":"80410:14:19","parameters":{"id":15906,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15905,"mutability":"mutable","name":"accounts","nameLocation":"80444:8:19","nodeType":"VariableDeclaration","scope":15908,"src":"80425:27:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":15903,"name":"address","nodeType":"ElementaryTypeName","src":"80425:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":15904,"nodeType":"ArrayTypeName","src":"80425:9:19","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"80424:29:19"},"returnParameters":{"id":15907,"nodeType":"ParameterList","parameters":[],"src":"80462:0:19"},"scope":16311,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15918,"nodeType":"FunctionDefinition","src":"80534:97:19","nodes":[],"documentation":{"id":15909,"nodeType":"StructuredDocumentation","src":"80469:60:19","text":"Reverts a call to an address with specified revert data."},"functionSelector":"dbaad147","implemented":false,"kind":"function","modifiers":[],"name":"mockCallRevert","nameLocation":"80543:14:19","parameters":{"id":15916,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15911,"mutability":"mutable","name":"callee","nameLocation":"80566:6:19","nodeType":"VariableDeclaration","scope":15918,"src":"80558:14:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15910,"name":"address","nodeType":"ElementaryTypeName","src":"80558:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15913,"mutability":"mutable","name":"data","nameLocation":"80589:4:19","nodeType":"VariableDeclaration","scope":15918,"src":"80574:19:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":15912,"name":"bytes","nodeType":"ElementaryTypeName","src":"80574:5:19","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":15915,"mutability":"mutable","name":"revertData","nameLocation":"80610:10:19","nodeType":"VariableDeclaration","scope":15918,"src":"80595:25:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":15914,"name":"bytes","nodeType":"ElementaryTypeName","src":"80595:5:19","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"80557:64:19"},"returnParameters":{"id":15917,"nodeType":"ParameterList","parameters":[],"src":"80630:0:19"},"scope":16311,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15930,"nodeType":"FunctionDefinition","src":"80731:123:19","nodes":[],"documentation":{"id":15919,"nodeType":"StructuredDocumentation","src":"80637:89:19","text":"Reverts a call to an address with a specific `msg.value`, with specified revert data."},"functionSelector":"d23cd037","implemented":false,"kind":"function","modifiers":[],"name":"mockCallRevert","nameLocation":"80740:14:19","parameters":{"id":15928,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15921,"mutability":"mutable","name":"callee","nameLocation":"80763:6:19","nodeType":"VariableDeclaration","scope":15930,"src":"80755:14:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15920,"name":"address","nodeType":"ElementaryTypeName","src":"80755:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15923,"mutability":"mutable","name":"msgValue","nameLocation":"80779:8:19","nodeType":"VariableDeclaration","scope":15930,"src":"80771:16:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15922,"name":"uint256","nodeType":"ElementaryTypeName","src":"80771:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15925,"mutability":"mutable","name":"data","nameLocation":"80804:4:19","nodeType":"VariableDeclaration","scope":15930,"src":"80789:19:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":15924,"name":"bytes","nodeType":"ElementaryTypeName","src":"80789:5:19","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":15927,"mutability":"mutable","name":"revertData","nameLocation":"80825:10:19","nodeType":"VariableDeclaration","scope":15930,"src":"80810:25:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":15926,"name":"bytes","nodeType":"ElementaryTypeName","src":"80810:5:19","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"80754:82:19"},"returnParameters":{"id":15929,"nodeType":"ParameterList","parameters":[],"src":"80853:0:19"},"scope":16311,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15940,"nodeType":"FunctionDefinition","src":"81114:91:19","nodes":[],"documentation":{"id":15931,"nodeType":"StructuredDocumentation","src":"80860:249:19","text":"Mocks a call to an address, returning specified data.\n Calldata can either be strict or a partial match, e.g. if you only\n pass a Solidity selector to the expected calldata, then the entire Solidity\n function will be mocked."},"functionSelector":"b96213e4","implemented":false,"kind":"function","modifiers":[],"name":"mockCall","nameLocation":"81123:8:19","parameters":{"id":15938,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15933,"mutability":"mutable","name":"callee","nameLocation":"81140:6:19","nodeType":"VariableDeclaration","scope":15940,"src":"81132:14:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15932,"name":"address","nodeType":"ElementaryTypeName","src":"81132:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15935,"mutability":"mutable","name":"data","nameLocation":"81163:4:19","nodeType":"VariableDeclaration","scope":15940,"src":"81148:19:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":15934,"name":"bytes","nodeType":"ElementaryTypeName","src":"81148:5:19","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":15937,"mutability":"mutable","name":"returnData","nameLocation":"81184:10:19","nodeType":"VariableDeclaration","scope":15940,"src":"81169:25:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":15936,"name":"bytes","nodeType":"ElementaryTypeName","src":"81169:5:19","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"81131:64:19"},"returnParameters":{"id":15939,"nodeType":"ParameterList","parameters":[],"src":"81204:0:19"},"scope":16311,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15952,"nodeType":"FunctionDefinition","src":"81380:109:19","nodes":[],"documentation":{"id":15941,"nodeType":"StructuredDocumentation","src":"81211:164:19","text":"Mocks a call to an address with a specific `msg.value`, returning specified data.\n Calldata match takes precedence over `msg.value` in case of ambiguity."},"functionSelector":"81409b91","implemented":false,"kind":"function","modifiers":[],"name":"mockCall","nameLocation":"81389:8:19","parameters":{"id":15950,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15943,"mutability":"mutable","name":"callee","nameLocation":"81406:6:19","nodeType":"VariableDeclaration","scope":15952,"src":"81398:14:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15942,"name":"address","nodeType":"ElementaryTypeName","src":"81398:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15945,"mutability":"mutable","name":"msgValue","nameLocation":"81422:8:19","nodeType":"VariableDeclaration","scope":15952,"src":"81414:16:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15944,"name":"uint256","nodeType":"ElementaryTypeName","src":"81414:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15947,"mutability":"mutable","name":"data","nameLocation":"81447:4:19","nodeType":"VariableDeclaration","scope":15952,"src":"81432:19:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":15946,"name":"bytes","nodeType":"ElementaryTypeName","src":"81432:5:19","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":15949,"mutability":"mutable","name":"returnData","nameLocation":"81468:10:19","nodeType":"VariableDeclaration","scope":15952,"src":"81453:25:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":15948,"name":"bytes","nodeType":"ElementaryTypeName","src":"81453:5:19","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"81397:82:19"},"returnParameters":{"id":15951,"nodeType":"ParameterList","parameters":[],"src":"81488:0:19"},"scope":16311,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15958,"nodeType":"FunctionDefinition","src":"81564:43:19","nodes":[],"documentation":{"id":15953,"nodeType":"StructuredDocumentation","src":"81495:64:19","text":"Sets the *next* call's `msg.sender` to be the input address."},"functionSelector":"ca669fa7","implemented":false,"kind":"function","modifiers":[],"name":"prank","nameLocation":"81573:5:19","parameters":{"id":15956,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15955,"mutability":"mutable","name":"msgSender","nameLocation":"81587:9:19","nodeType":"VariableDeclaration","scope":15958,"src":"81579:17:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15954,"name":"address","nodeType":"ElementaryTypeName","src":"81579:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"81578:19:19"},"returnParameters":{"id":15957,"nodeType":"ParameterList","parameters":[],"src":"81606:0:19"},"scope":16311,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15966,"nodeType":"FunctionDefinition","src":"81726:61:19","nodes":[],"documentation":{"id":15959,"nodeType":"StructuredDocumentation","src":"81613:108:19","text":"Sets the *next* call's `msg.sender` to be the input address, and the `tx.origin` to be the second input."},"functionSelector":"47e50cce","implemented":false,"kind":"function","modifiers":[],"name":"prank","nameLocation":"81735:5:19","parameters":{"id":15964,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15961,"mutability":"mutable","name":"msgSender","nameLocation":"81749:9:19","nodeType":"VariableDeclaration","scope":15966,"src":"81741:17:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15960,"name":"address","nodeType":"ElementaryTypeName","src":"81741:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15963,"mutability":"mutable","name":"txOrigin","nameLocation":"81768:8:19","nodeType":"VariableDeclaration","scope":15966,"src":"81760:16:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15962,"name":"address","nodeType":"ElementaryTypeName","src":"81760:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"81740:37:19"},"returnParameters":{"id":15965,"nodeType":"ParameterList","parameters":[],"src":"81786:0:19"},"scope":16311,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15972,"nodeType":"FunctionDefinition","src":"81964:52:19","nodes":[],"documentation":{"id":15967,"nodeType":"StructuredDocumentation","src":"81793:166:19","text":"Sets `block.prevrandao`.\n Not available on EVM versions before Paris. Use `difficulty` instead.\n If used on unsupported EVM versions it will revert."},"functionSelector":"3b925549","implemented":false,"kind":"function","modifiers":[],"name":"prevrandao","nameLocation":"81973:10:19","parameters":{"id":15970,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15969,"mutability":"mutable","name":"newPrevrandao","nameLocation":"81992:13:19","nodeType":"VariableDeclaration","scope":15972,"src":"81984:21:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":15968,"name":"bytes32","nodeType":"ElementaryTypeName","src":"81984:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"81983:23:19"},"returnParameters":{"id":15971,"nodeType":"ParameterList","parameters":[],"src":"82015:0:19"},"scope":16311,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15978,"nodeType":"FunctionDefinition","src":"82193:52:19","nodes":[],"documentation":{"id":15973,"nodeType":"StructuredDocumentation","src":"82022:166:19","text":"Sets `block.prevrandao`.\n Not available on EVM versions before Paris. Use `difficulty` instead.\n If used on unsupported EVM versions it will revert."},"functionSelector":"9cb1c0d4","implemented":false,"kind":"function","modifiers":[],"name":"prevrandao","nameLocation":"82202:10:19","parameters":{"id":15976,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15975,"mutability":"mutable","name":"newPrevrandao","nameLocation":"82221:13:19","nodeType":"VariableDeclaration","scope":15978,"src":"82213:21:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15974,"name":"uint256","nodeType":"ElementaryTypeName","src":"82213:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"82212:23:19"},"returnParameters":{"id":15977,"nodeType":"ParameterList","parameters":[],"src":"82244:0:19"},"scope":16311,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15989,"nodeType":"FunctionDefinition","src":"82373:101:19","nodes":[],"documentation":{"id":15979,"nodeType":"StructuredDocumentation","src":"82251:117:19","text":"Reads the current `msg.sender` and `tx.origin` from state and reports if there is any active caller modification."},"functionSelector":"4ad0bac9","implemented":false,"kind":"function","modifiers":[],"name":"readCallers","nameLocation":"82382:11:19","parameters":{"id":15980,"nodeType":"ParameterList","parameters":[],"src":"82393:2:19"},"returnParameters":{"id":15988,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15983,"mutability":"mutable","name":"callerMode","nameLocation":"82425:10:19","nodeType":"VariableDeclaration","scope":15989,"src":"82414:21:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_CallerMode_$12544","typeString":"enum VmSafe.CallerMode"},"typeName":{"id":15982,"nodeType":"UserDefinedTypeName","pathNode":{"id":15981,"name":"CallerMode","nodeType":"IdentifierPath","referencedDeclaration":12544,"src":"82414:10:19"},"referencedDeclaration":12544,"src":"82414:10:19","typeDescriptions":{"typeIdentifier":"t_enum$_CallerMode_$12544","typeString":"enum VmSafe.CallerMode"}},"visibility":"internal"},{"constant":false,"id":15985,"mutability":"mutable","name":"msgSender","nameLocation":"82445:9:19","nodeType":"VariableDeclaration","scope":15989,"src":"82437:17:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15984,"name":"address","nodeType":"ElementaryTypeName","src":"82437:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15987,"mutability":"mutable","name":"txOrigin","nameLocation":"82464:8:19","nodeType":"VariableDeclaration","scope":15989,"src":"82456:16:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15986,"name":"address","nodeType":"ElementaryTypeName","src":"82456:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"82413:60:19"},"scope":16311,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15995,"nodeType":"FunctionDefinition","src":"82562:46:19","nodes":[],"documentation":{"id":15990,"nodeType":"StructuredDocumentation","src":"82480:77:19","text":"Resets the nonce of an account to 0 for EOAs and 1 for contract accounts."},"functionSelector":"1c72346d","implemented":false,"kind":"function","modifiers":[],"name":"resetNonce","nameLocation":"82571:10:19","parameters":{"id":15993,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15992,"mutability":"mutable","name":"account","nameLocation":"82590:7:19","nodeType":"VariableDeclaration","scope":15995,"src":"82582:15:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15991,"name":"address","nodeType":"ElementaryTypeName","src":"82582:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"82581:17:19"},"returnParameters":{"id":15994,"nodeType":"ParameterList","parameters":[],"src":"82607:0:19"},"scope":16311,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":16003,"nodeType":"FunctionDefinition","src":"82951:70:19","nodes":[],"documentation":{"id":15996,"nodeType":"StructuredDocumentation","src":"82614:332:19","text":"Revert the state of the EVM to a previous snapshot\n Takes the snapshot ID to revert to.\n Returns `true` if the snapshot was successfully reverted.\n Returns `false` if the snapshot does not exist.\n **Note:** This does not automatically delete the snapshot. To delete the snapshot use `deleteSnapshot`."},"functionSelector":"44d7f0a4","implemented":false,"kind":"function","modifiers":[],"name":"revertTo","nameLocation":"82960:8:19","parameters":{"id":15999,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15998,"mutability":"mutable","name":"snapshotId","nameLocation":"82977:10:19","nodeType":"VariableDeclaration","scope":16003,"src":"82969:18:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15997,"name":"uint256","nodeType":"ElementaryTypeName","src":"82969:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"82968:20:19"},"returnParameters":{"id":16002,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16001,"mutability":"mutable","name":"success","nameLocation":"83012:7:19","nodeType":"VariableDeclaration","scope":16003,"src":"83007:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16000,"name":"bool","nodeType":"ElementaryTypeName","src":"83007:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"83006:14:19"},"scope":16311,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":16011,"nodeType":"FunctionDefinition","src":"83304:79:19","nodes":[],"documentation":{"id":16004,"nodeType":"StructuredDocumentation","src":"83027:272:19","text":"Revert the state of the EVM to a previous snapshot and automatically deletes the snapshots\n Takes the snapshot ID to revert to.\n Returns `true` if the snapshot was successfully reverted and deleted.\n Returns `false` if the snapshot does not exist."},"functionSelector":"03e0aca9","implemented":false,"kind":"function","modifiers":[],"name":"revertToAndDelete","nameLocation":"83313:17:19","parameters":{"id":16007,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16006,"mutability":"mutable","name":"snapshotId","nameLocation":"83339:10:19","nodeType":"VariableDeclaration","scope":16011,"src":"83331:18:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16005,"name":"uint256","nodeType":"ElementaryTypeName","src":"83331:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"83330:20:19"},"returnParameters":{"id":16010,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16009,"mutability":"mutable","name":"success","nameLocation":"83374:7:19","nodeType":"VariableDeclaration","scope":16011,"src":"83369:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16008,"name":"bool","nodeType":"ElementaryTypeName","src":"83369:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"83368:14:19"},"scope":16311,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":16017,"nodeType":"FunctionDefinition","src":"83480:52:19","nodes":[],"documentation":{"id":16012,"nodeType":"StructuredDocumentation","src":"83389:86:19","text":"Revokes persistent status from the address, previously added via `makePersistent`."},"functionSelector":"997a0222","implemented":false,"kind":"function","modifiers":[],"name":"revokePersistent","nameLocation":"83489:16:19","parameters":{"id":16015,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16014,"mutability":"mutable","name":"account","nameLocation":"83514:7:19","nodeType":"VariableDeclaration","scope":16017,"src":"83506:15:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16013,"name":"address","nodeType":"ElementaryTypeName","src":"83506:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"83505:17:19"},"returnParameters":{"id":16016,"nodeType":"ParameterList","parameters":[],"src":"83531:0:19"},"scope":16311,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":16024,"nodeType":"FunctionDefinition","src":"83579:64:19","nodes":[],"documentation":{"id":16018,"nodeType":"StructuredDocumentation","src":"83538:36:19","text":"See `revokePersistent(address)`."},"functionSelector":"3ce969e6","implemented":false,"kind":"function","modifiers":[],"name":"revokePersistent","nameLocation":"83588:16:19","parameters":{"id":16022,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16021,"mutability":"mutable","name":"accounts","nameLocation":"83624:8:19","nodeType":"VariableDeclaration","scope":16024,"src":"83605:27:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":16019,"name":"address","nodeType":"ElementaryTypeName","src":"83605:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":16020,"nodeType":"ArrayTypeName","src":"83605:9:19","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"83604:29:19"},"returnParameters":{"id":16023,"nodeType":"ParameterList","parameters":[],"src":"83642:0:19"},"scope":16311,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":16030,"nodeType":"FunctionDefinition","src":"83678:42:19","nodes":[],"documentation":{"id":16025,"nodeType":"StructuredDocumentation","src":"83649:24:19","text":"Sets `block.height`."},"functionSelector":"1f7b4f30","implemented":false,"kind":"function","modifiers":[],"name":"roll","nameLocation":"83687:4:19","parameters":{"id":16028,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16027,"mutability":"mutable","name":"newHeight","nameLocation":"83700:9:19","nodeType":"VariableDeclaration","scope":16030,"src":"83692:17:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16026,"name":"uint256","nodeType":"ElementaryTypeName","src":"83692:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"83691:19:19"},"returnParameters":{"id":16029,"nodeType":"ParameterList","parameters":[],"src":"83719:0:19"},"scope":16311,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":16036,"nodeType":"FunctionDefinition","src":"83859:48:19","nodes":[],"documentation":{"id":16031,"nodeType":"StructuredDocumentation","src":"83726:128:19","text":"Updates the currently active fork to given block number\n This is similar to `roll` but for the currently active fork."},"functionSelector":"d9bbf3a1","implemented":false,"kind":"function","modifiers":[],"name":"rollFork","nameLocation":"83868:8:19","parameters":{"id":16034,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16033,"mutability":"mutable","name":"blockNumber","nameLocation":"83885:11:19","nodeType":"VariableDeclaration","scope":16036,"src":"83877:19:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16032,"name":"uint256","nodeType":"ElementaryTypeName","src":"83877:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"83876:21:19"},"returnParameters":{"id":16035,"nodeType":"ParameterList","parameters":[],"src":"83906:0:19"},"scope":16311,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":16042,"nodeType":"FunctionDefinition","src":"84122:43:19","nodes":[],"documentation":{"id":16037,"nodeType":"StructuredDocumentation","src":"83913:204:19","text":"Updates the currently active fork to given transaction. This will `rollFork` with the number\n of the block the transaction was mined in and replays all transaction mined before it in the block."},"functionSelector":"0f29772b","implemented":false,"kind":"function","modifiers":[],"name":"rollFork","nameLocation":"84131:8:19","parameters":{"id":16040,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16039,"mutability":"mutable","name":"txHash","nameLocation":"84148:6:19","nodeType":"VariableDeclaration","scope":16042,"src":"84140:14:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":16038,"name":"bytes32","nodeType":"ElementaryTypeName","src":"84140:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"84139:16:19"},"returnParameters":{"id":16041,"nodeType":"ParameterList","parameters":[],"src":"84164:0:19"},"scope":16311,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":16050,"nodeType":"FunctionDefinition","src":"84225:64:19","nodes":[],"documentation":{"id":16043,"nodeType":"StructuredDocumentation","src":"84171:49:19","text":"Updates the given fork to given block number."},"functionSelector":"d74c83a4","implemented":false,"kind":"function","modifiers":[],"name":"rollFork","nameLocation":"84234:8:19","parameters":{"id":16048,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16045,"mutability":"mutable","name":"forkId","nameLocation":"84251:6:19","nodeType":"VariableDeclaration","scope":16050,"src":"84243:14:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16044,"name":"uint256","nodeType":"ElementaryTypeName","src":"84243:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16047,"mutability":"mutable","name":"blockNumber","nameLocation":"84267:11:19","nodeType":"VariableDeclaration","scope":16050,"src":"84259:19:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16046,"name":"uint256","nodeType":"ElementaryTypeName","src":"84259:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"84242:37:19"},"returnParameters":{"id":16049,"nodeType":"ParameterList","parameters":[],"src":"84288:0:19"},"scope":16311,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":16058,"nodeType":"FunctionDefinition","src":"84425:59:19","nodes":[],"documentation":{"id":16051,"nodeType":"StructuredDocumentation","src":"84295:125:19","text":"Updates the given fork to block number of the given transaction and replays all transaction mined before it in the block."},"functionSelector":"f2830f7b","implemented":false,"kind":"function","modifiers":[],"name":"rollFork","nameLocation":"84434:8:19","parameters":{"id":16056,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16053,"mutability":"mutable","name":"forkId","nameLocation":"84451:6:19","nodeType":"VariableDeclaration","scope":16058,"src":"84443:14:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16052,"name":"uint256","nodeType":"ElementaryTypeName","src":"84443:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16055,"mutability":"mutable","name":"txHash","nameLocation":"84467:6:19","nodeType":"VariableDeclaration","scope":16058,"src":"84459:14:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":16054,"name":"bytes32","nodeType":"ElementaryTypeName","src":"84459:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"84442:32:19"},"returnParameters":{"id":16057,"nodeType":"ParameterList","parameters":[],"src":"84483:0:19"},"scope":16311,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":16064,"nodeType":"FunctionDefinition","src":"84597:45:19","nodes":[],"documentation":{"id":16059,"nodeType":"StructuredDocumentation","src":"84490:102:19","text":"Takes a fork identifier created by `createFork` and sets the corresponding forked state as active."},"functionSelector":"9ebf6827","implemented":false,"kind":"function","modifiers":[],"name":"selectFork","nameLocation":"84606:10:19","parameters":{"id":16062,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16061,"mutability":"mutable","name":"forkId","nameLocation":"84625:6:19","nodeType":"VariableDeclaration","scope":16064,"src":"84617:14:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16060,"name":"uint256","nodeType":"ElementaryTypeName","src":"84617:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"84616:16:19"},"returnParameters":{"id":16063,"nodeType":"ParameterList","parameters":[],"src":"84641:0:19"},"scope":16311,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":16072,"nodeType":"FunctionDefinition","src":"84740:61:19","nodes":[],"documentation":{"id":16065,"nodeType":"StructuredDocumentation","src":"84648:87:19","text":"Sets the nonce of an account. Must be higher than the current nonce of the account."},"functionSelector":"f8e18b57","implemented":false,"kind":"function","modifiers":[],"name":"setNonce","nameLocation":"84749:8:19","parameters":{"id":16070,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16067,"mutability":"mutable","name":"account","nameLocation":"84766:7:19","nodeType":"VariableDeclaration","scope":16072,"src":"84758:15:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16066,"name":"address","nodeType":"ElementaryTypeName","src":"84758:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16069,"mutability":"mutable","name":"newNonce","nameLocation":"84782:8:19","nodeType":"VariableDeclaration","scope":16072,"src":"84775:15:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":16068,"name":"uint64","nodeType":"ElementaryTypeName","src":"84775:6:19","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"84757:34:19"},"returnParameters":{"id":16071,"nodeType":"ParameterList","parameters":[],"src":"84800:0:19"},"scope":16311,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":16080,"nodeType":"FunctionDefinition","src":"84867:67:19","nodes":[],"documentation":{"id":16073,"nodeType":"StructuredDocumentation","src":"84807:55:19","text":"Sets the nonce of an account to an arbitrary value."},"functionSelector":"9b67b21c","implemented":false,"kind":"function","modifiers":[],"name":"setNonceUnsafe","nameLocation":"84876:14:19","parameters":{"id":16078,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16075,"mutability":"mutable","name":"account","nameLocation":"84899:7:19","nodeType":"VariableDeclaration","scope":16080,"src":"84891:15:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16074,"name":"address","nodeType":"ElementaryTypeName","src":"84891:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16077,"mutability":"mutable","name":"newNonce","nameLocation":"84915:8:19","nodeType":"VariableDeclaration","scope":16080,"src":"84908:15:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":16076,"name":"uint64","nodeType":"ElementaryTypeName","src":"84908:6:19","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"84890:34:19"},"returnParameters":{"id":16079,"nodeType":"ParameterList","parameters":[],"src":"84933:0:19"},"scope":16311,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":16086,"nodeType":"FunctionDefinition","src":"85089:58:19","nodes":[],"documentation":{"id":16081,"nodeType":"StructuredDocumentation","src":"84940:144:19","text":"Snapshot the current state of the evm.\n Returns the ID of the snapshot that was created.\n To revert a snapshot use `revertTo`."},"functionSelector":"9711715a","implemented":false,"kind":"function","modifiers":[],"name":"snapshot","nameLocation":"85098:8:19","parameters":{"id":16082,"nodeType":"ParameterList","parameters":[],"src":"85106:2:19"},"returnParameters":{"id":16085,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16084,"mutability":"mutable","name":"snapshotId","nameLocation":"85135:10:19","nodeType":"VariableDeclaration","scope":16086,"src":"85127:18:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16083,"name":"uint256","nodeType":"ElementaryTypeName","src":"85127:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"85126:20:19"},"scope":16311,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":16092,"nodeType":"FunctionDefinition","src":"85254:48:19","nodes":[],"documentation":{"id":16087,"nodeType":"StructuredDocumentation","src":"85153:96:19","text":"Sets all subsequent calls' `msg.sender` to be the input address until `stopPrank` is called."},"functionSelector":"06447d56","implemented":false,"kind":"function","modifiers":[],"name":"startPrank","nameLocation":"85263:10:19","parameters":{"id":16090,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16089,"mutability":"mutable","name":"msgSender","nameLocation":"85282:9:19","nodeType":"VariableDeclaration","scope":16092,"src":"85274:17:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16088,"name":"address","nodeType":"ElementaryTypeName","src":"85274:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"85273:19:19"},"returnParameters":{"id":16091,"nodeType":"ParameterList","parameters":[],"src":"85301:0:19"},"scope":16311,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":16100,"nodeType":"FunctionDefinition","src":"85453:66:19","nodes":[],"documentation":{"id":16093,"nodeType":"StructuredDocumentation","src":"85308:140:19","text":"Sets all subsequent calls' `msg.sender` to be the input address until `stopPrank` is called, and the `tx.origin` to be the second input."},"functionSelector":"45b56078","implemented":false,"kind":"function","modifiers":[],"name":"startPrank","nameLocation":"85462:10:19","parameters":{"id":16098,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16095,"mutability":"mutable","name":"msgSender","nameLocation":"85481:9:19","nodeType":"VariableDeclaration","scope":16100,"src":"85473:17:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16094,"name":"address","nodeType":"ElementaryTypeName","src":"85473:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16097,"mutability":"mutable","name":"txOrigin","nameLocation":"85500:8:19","nodeType":"VariableDeclaration","scope":16100,"src":"85492:16:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16096,"name":"address","nodeType":"ElementaryTypeName","src":"85492:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"85472:37:19"},"returnParameters":{"id":16099,"nodeType":"ParameterList","parameters":[],"src":"85518:0:19"},"scope":16311,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":16104,"nodeType":"FunctionDefinition","src":"85594:30:19","nodes":[],"documentation":{"id":16101,"nodeType":"StructuredDocumentation","src":"85525:64:19","text":"Resets subsequent calls' `msg.sender` to be `address(this)`."},"functionSelector":"90c5013b","implemented":false,"kind":"function","modifiers":[],"name":"stopPrank","nameLocation":"85603:9:19","parameters":{"id":16102,"nodeType":"ParameterList","parameters":[],"src":"85612:2:19"},"returnParameters":{"id":16103,"nodeType":"ParameterList","parameters":[],"src":"85623:0:19"},"scope":16311,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":16114,"nodeType":"FunctionDefinition","src":"85682:69:19","nodes":[],"documentation":{"id":16105,"nodeType":"StructuredDocumentation","src":"85630:47:19","text":"Stores a value to an address' storage slot."},"functionSelector":"70ca10bb","implemented":false,"kind":"function","modifiers":[],"name":"store","nameLocation":"85691:5:19","parameters":{"id":16112,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16107,"mutability":"mutable","name":"target","nameLocation":"85705:6:19","nodeType":"VariableDeclaration","scope":16114,"src":"85697:14:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16106,"name":"address","nodeType":"ElementaryTypeName","src":"85697:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16109,"mutability":"mutable","name":"slot","nameLocation":"85721:4:19","nodeType":"VariableDeclaration","scope":16114,"src":"85713:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":16108,"name":"bytes32","nodeType":"ElementaryTypeName","src":"85713:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":16111,"mutability":"mutable","name":"value","nameLocation":"85735:5:19","nodeType":"VariableDeclaration","scope":16114,"src":"85727:13:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":16110,"name":"bytes32","nodeType":"ElementaryTypeName","src":"85727:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"85696:45:19"},"returnParameters":{"id":16113,"nodeType":"ParameterList","parameters":[],"src":"85750:0:19"},"scope":16311,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":16120,"nodeType":"FunctionDefinition","src":"85854:43:19","nodes":[],"documentation":{"id":16115,"nodeType":"StructuredDocumentation","src":"85757:92:19","text":"Fetches the given transaction from the active fork and executes it on the current state."},"functionSelector":"be646da1","implemented":false,"kind":"function","modifiers":[],"name":"transact","nameLocation":"85863:8:19","parameters":{"id":16118,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16117,"mutability":"mutable","name":"txHash","nameLocation":"85880:6:19","nodeType":"VariableDeclaration","scope":16120,"src":"85872:14:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":16116,"name":"bytes32","nodeType":"ElementaryTypeName","src":"85872:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"85871:16:19"},"returnParameters":{"id":16119,"nodeType":"ParameterList","parameters":[],"src":"85896:0:19"},"scope":16311,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":16128,"nodeType":"FunctionDefinition","src":"85999:59:19","nodes":[],"documentation":{"id":16121,"nodeType":"StructuredDocumentation","src":"85903:91:19","text":"Fetches the given transaction from the given fork and executes it on the current state."},"functionSelector":"4d8abc4b","implemented":false,"kind":"function","modifiers":[],"name":"transact","nameLocation":"86008:8:19","parameters":{"id":16126,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16123,"mutability":"mutable","name":"forkId","nameLocation":"86025:6:19","nodeType":"VariableDeclaration","scope":16128,"src":"86017:14:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16122,"name":"uint256","nodeType":"ElementaryTypeName","src":"86017:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16125,"mutability":"mutable","name":"txHash","nameLocation":"86041:6:19","nodeType":"VariableDeclaration","scope":16128,"src":"86033:14:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":16124,"name":"bytes32","nodeType":"ElementaryTypeName","src":"86033:7:19","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"86016:32:19"},"returnParameters":{"id":16127,"nodeType":"ParameterList","parameters":[],"src":"86057:0:19"},"scope":16311,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":16134,"nodeType":"FunctionDefinition","src":"86092:50:19","nodes":[],"documentation":{"id":16129,"nodeType":"StructuredDocumentation","src":"86064:23:19","text":"Sets `tx.gasprice`."},"functionSelector":"48f50c0f","implemented":false,"kind":"function","modifiers":[],"name":"txGasPrice","nameLocation":"86101:10:19","parameters":{"id":16132,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16131,"mutability":"mutable","name":"newGasPrice","nameLocation":"86120:11:19","nodeType":"VariableDeclaration","scope":16134,"src":"86112:19:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16130,"name":"uint256","nodeType":"ElementaryTypeName","src":"86112:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"86111:21:19"},"returnParameters":{"id":16133,"nodeType":"ParameterList","parameters":[],"src":"86141:0:19"},"scope":16311,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":16140,"nodeType":"FunctionDefinition","src":"86180:45:19","nodes":[],"documentation":{"id":16135,"nodeType":"StructuredDocumentation","src":"86148:27:19","text":"Sets `block.timestamp`."},"functionSelector":"e5d6bf02","implemented":false,"kind":"function","modifiers":[],"name":"warp","nameLocation":"86189:4:19","parameters":{"id":16138,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16137,"mutability":"mutable","name":"newTimestamp","nameLocation":"86202:12:19","nodeType":"VariableDeclaration","scope":16140,"src":"86194:20:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16136,"name":"uint256","nodeType":"ElementaryTypeName","src":"86194:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"86193:22:19"},"returnParameters":{"id":16139,"nodeType":"ParameterList","parameters":[],"src":"86224:0:19"},"scope":16311,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":16152,"nodeType":"FunctionDefinition","src":"86377:105:19","nodes":[],"documentation":{"id":16141,"nodeType":"StructuredDocumentation","src":"86265:107:19","text":"Expect a call to an address with the specified `msg.value` and calldata, and a *minimum* amount of gas."},"functionSelector":"08e4e116","implemented":false,"kind":"function","modifiers":[],"name":"expectCallMinGas","nameLocation":"86386:16:19","parameters":{"id":16150,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16143,"mutability":"mutable","name":"callee","nameLocation":"86411:6:19","nodeType":"VariableDeclaration","scope":16152,"src":"86403:14:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16142,"name":"address","nodeType":"ElementaryTypeName","src":"86403:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16145,"mutability":"mutable","name":"msgValue","nameLocation":"86427:8:19","nodeType":"VariableDeclaration","scope":16152,"src":"86419:16:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16144,"name":"uint256","nodeType":"ElementaryTypeName","src":"86419:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16147,"mutability":"mutable","name":"minGas","nameLocation":"86444:6:19","nodeType":"VariableDeclaration","scope":16152,"src":"86437:13:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":16146,"name":"uint64","nodeType":"ElementaryTypeName","src":"86437:6:19","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":16149,"mutability":"mutable","name":"data","nameLocation":"86467:4:19","nodeType":"VariableDeclaration","scope":16152,"src":"86452:19:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":16148,"name":"bytes","nodeType":"ElementaryTypeName","src":"86452:5:19","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"86402:70:19"},"returnParameters":{"id":16151,"nodeType":"ParameterList","parameters":[],"src":"86481:0:19"},"scope":16311,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":16166,"nodeType":"FunctionDefinition","src":"86615:127:19","nodes":[],"documentation":{"id":16153,"nodeType":"StructuredDocumentation","src":"86488:122:19","text":"Expect given number of calls to an address with the specified `msg.value` and calldata, and a *minimum* amount of gas."},"functionSelector":"e13a1834","implemented":false,"kind":"function","modifiers":[],"name":"expectCallMinGas","nameLocation":"86624:16:19","parameters":{"id":16164,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16155,"mutability":"mutable","name":"callee","nameLocation":"86649:6:19","nodeType":"VariableDeclaration","scope":16166,"src":"86641:14:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16154,"name":"address","nodeType":"ElementaryTypeName","src":"86641:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16157,"mutability":"mutable","name":"msgValue","nameLocation":"86665:8:19","nodeType":"VariableDeclaration","scope":16166,"src":"86657:16:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16156,"name":"uint256","nodeType":"ElementaryTypeName","src":"86657:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16159,"mutability":"mutable","name":"minGas","nameLocation":"86682:6:19","nodeType":"VariableDeclaration","scope":16166,"src":"86675:13:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":16158,"name":"uint64","nodeType":"ElementaryTypeName","src":"86675:6:19","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":16161,"mutability":"mutable","name":"data","nameLocation":"86705:4:19","nodeType":"VariableDeclaration","scope":16166,"src":"86690:19:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":16160,"name":"bytes","nodeType":"ElementaryTypeName","src":"86690:5:19","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":16163,"mutability":"mutable","name":"count","nameLocation":"86718:5:19","nodeType":"VariableDeclaration","scope":16166,"src":"86711:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":16162,"name":"uint64","nodeType":"ElementaryTypeName","src":"86711:6:19","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"86640:84:19"},"returnParameters":{"id":16165,"nodeType":"ParameterList","parameters":[],"src":"86741:0:19"},"scope":16311,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":16174,"nodeType":"FunctionDefinition","src":"86874:66:19","nodes":[],"documentation":{"id":16167,"nodeType":"StructuredDocumentation","src":"86748:121:19","text":"Expects a call to an address with the specified calldata.\n Calldata can either be a strict or a partial match."},"functionSelector":"bd6af434","implemented":false,"kind":"function","modifiers":[],"name":"expectCall","nameLocation":"86883:10:19","parameters":{"id":16172,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16169,"mutability":"mutable","name":"callee","nameLocation":"86902:6:19","nodeType":"VariableDeclaration","scope":16174,"src":"86894:14:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16168,"name":"address","nodeType":"ElementaryTypeName","src":"86894:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16171,"mutability":"mutable","name":"data","nameLocation":"86925:4:19","nodeType":"VariableDeclaration","scope":16174,"src":"86910:19:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":16170,"name":"bytes","nodeType":"ElementaryTypeName","src":"86910:5:19","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"86893:37:19"},"returnParameters":{"id":16173,"nodeType":"ParameterList","parameters":[],"src":"86939:0:19"},"scope":16311,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":16184,"nodeType":"FunctionDefinition","src":"87027:80:19","nodes":[],"documentation":{"id":16175,"nodeType":"StructuredDocumentation","src":"86946:76:19","text":"Expects given number of calls to an address with the specified calldata."},"functionSelector":"c1adbbff","implemented":false,"kind":"function","modifiers":[],"name":"expectCall","nameLocation":"87036:10:19","parameters":{"id":16182,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16177,"mutability":"mutable","name":"callee","nameLocation":"87055:6:19","nodeType":"VariableDeclaration","scope":16184,"src":"87047:14:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16176,"name":"address","nodeType":"ElementaryTypeName","src":"87047:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16179,"mutability":"mutable","name":"data","nameLocation":"87078:4:19","nodeType":"VariableDeclaration","scope":16184,"src":"87063:19:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":16178,"name":"bytes","nodeType":"ElementaryTypeName","src":"87063:5:19","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":16181,"mutability":"mutable","name":"count","nameLocation":"87091:5:19","nodeType":"VariableDeclaration","scope":16184,"src":"87084:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":16180,"name":"uint64","nodeType":"ElementaryTypeName","src":"87084:6:19","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"87046:51:19"},"returnParameters":{"id":16183,"nodeType":"ParameterList","parameters":[],"src":"87106:0:19"},"scope":16311,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":16194,"nodeType":"FunctionDefinition","src":"87195:84:19","nodes":[],"documentation":{"id":16185,"nodeType":"StructuredDocumentation","src":"87113:77:19","text":"Expects a call to an address with the specified `msg.value` and calldata."},"functionSelector":"f30c7ba3","implemented":false,"kind":"function","modifiers":[],"name":"expectCall","nameLocation":"87204:10:19","parameters":{"id":16192,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16187,"mutability":"mutable","name":"callee","nameLocation":"87223:6:19","nodeType":"VariableDeclaration","scope":16194,"src":"87215:14:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16186,"name":"address","nodeType":"ElementaryTypeName","src":"87215:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16189,"mutability":"mutable","name":"msgValue","nameLocation":"87239:8:19","nodeType":"VariableDeclaration","scope":16194,"src":"87231:16:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16188,"name":"uint256","nodeType":"ElementaryTypeName","src":"87231:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16191,"mutability":"mutable","name":"data","nameLocation":"87264:4:19","nodeType":"VariableDeclaration","scope":16194,"src":"87249:19:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":16190,"name":"bytes","nodeType":"ElementaryTypeName","src":"87249:5:19","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"87214:55:19"},"returnParameters":{"id":16193,"nodeType":"ParameterList","parameters":[],"src":"87278:0:19"},"scope":16311,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":16206,"nodeType":"FunctionDefinition","src":"87382:98:19","nodes":[],"documentation":{"id":16195,"nodeType":"StructuredDocumentation","src":"87285:92:19","text":"Expects given number of calls to an address with the specified `msg.value` and calldata."},"functionSelector":"a2b1a1ae","implemented":false,"kind":"function","modifiers":[],"name":"expectCall","nameLocation":"87391:10:19","parameters":{"id":16204,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16197,"mutability":"mutable","name":"callee","nameLocation":"87410:6:19","nodeType":"VariableDeclaration","scope":16206,"src":"87402:14:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16196,"name":"address","nodeType":"ElementaryTypeName","src":"87402:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16199,"mutability":"mutable","name":"msgValue","nameLocation":"87426:8:19","nodeType":"VariableDeclaration","scope":16206,"src":"87418:16:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16198,"name":"uint256","nodeType":"ElementaryTypeName","src":"87418:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16201,"mutability":"mutable","name":"data","nameLocation":"87451:4:19","nodeType":"VariableDeclaration","scope":16206,"src":"87436:19:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":16200,"name":"bytes","nodeType":"ElementaryTypeName","src":"87436:5:19","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":16203,"mutability":"mutable","name":"count","nameLocation":"87464:5:19","nodeType":"VariableDeclaration","scope":16206,"src":"87457:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":16202,"name":"uint64","nodeType":"ElementaryTypeName","src":"87457:6:19","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"87401:69:19"},"returnParameters":{"id":16205,"nodeType":"ParameterList","parameters":[],"src":"87479:0:19"},"scope":16311,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":16218,"nodeType":"FunctionDefinition","src":"87573:96:19","nodes":[],"documentation":{"id":16207,"nodeType":"StructuredDocumentation","src":"87486:82:19","text":"Expect a call to an address with the specified `msg.value`, gas, and calldata."},"functionSelector":"23361207","implemented":false,"kind":"function","modifiers":[],"name":"expectCall","nameLocation":"87582:10:19","parameters":{"id":16216,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16209,"mutability":"mutable","name":"callee","nameLocation":"87601:6:19","nodeType":"VariableDeclaration","scope":16218,"src":"87593:14:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16208,"name":"address","nodeType":"ElementaryTypeName","src":"87593:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16211,"mutability":"mutable","name":"msgValue","nameLocation":"87617:8:19","nodeType":"VariableDeclaration","scope":16218,"src":"87609:16:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16210,"name":"uint256","nodeType":"ElementaryTypeName","src":"87609:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16213,"mutability":"mutable","name":"gas","nameLocation":"87634:3:19","nodeType":"VariableDeclaration","scope":16218,"src":"87627:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":16212,"name":"uint64","nodeType":"ElementaryTypeName","src":"87627:6:19","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":16215,"mutability":"mutable","name":"data","nameLocation":"87654:4:19","nodeType":"VariableDeclaration","scope":16218,"src":"87639:19:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":16214,"name":"bytes","nodeType":"ElementaryTypeName","src":"87639:5:19","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"87592:67:19"},"returnParameters":{"id":16217,"nodeType":"ParameterList","parameters":[],"src":"87668:0:19"},"scope":16311,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":16232,"nodeType":"FunctionDefinition","src":"87778:110:19","nodes":[],"documentation":{"id":16219,"nodeType":"StructuredDocumentation","src":"87675:98:19","text":"Expects given number of calls to an address with the specified `msg.value`, gas, and calldata."},"functionSelector":"65b7b7cc","implemented":false,"kind":"function","modifiers":[],"name":"expectCall","nameLocation":"87787:10:19","parameters":{"id":16230,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16221,"mutability":"mutable","name":"callee","nameLocation":"87806:6:19","nodeType":"VariableDeclaration","scope":16232,"src":"87798:14:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16220,"name":"address","nodeType":"ElementaryTypeName","src":"87798:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":16223,"mutability":"mutable","name":"msgValue","nameLocation":"87822:8:19","nodeType":"VariableDeclaration","scope":16232,"src":"87814:16:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":16222,"name":"uint256","nodeType":"ElementaryTypeName","src":"87814:7:19","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":16225,"mutability":"mutable","name":"gas","nameLocation":"87839:3:19","nodeType":"VariableDeclaration","scope":16232,"src":"87832:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":16224,"name":"uint64","nodeType":"ElementaryTypeName","src":"87832:6:19","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":16227,"mutability":"mutable","name":"data","nameLocation":"87859:4:19","nodeType":"VariableDeclaration","scope":16232,"src":"87844:19:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":16226,"name":"bytes","nodeType":"ElementaryTypeName","src":"87844:5:19","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":16229,"mutability":"mutable","name":"count","nameLocation":"87872:5:19","nodeType":"VariableDeclaration","scope":16232,"src":"87865:12:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":16228,"name":"uint64","nodeType":"ElementaryTypeName","src":"87865:6:19","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"87797:81:19"},"returnParameters":{"id":16231,"nodeType":"ParameterList","parameters":[],"src":"87887:0:19"},"scope":16311,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":16244,"nodeType":"FunctionDefinition","src":"88227:99:19","nodes":[],"documentation":{"id":16233,"nodeType":"StructuredDocumentation","src":"87894:328:19","text":"Prepare an expected log with (bool checkTopic1, bool checkTopic2, bool checkTopic3, bool checkData.).\n Call this function, then emit an event, then call a function. Internally after the call, we check if\n logs were emitted in the expected order with the expected topics and data (as specified by the booleans)."},"functionSelector":"491cc7c2","implemented":false,"kind":"function","modifiers":[],"name":"expectEmit","nameLocation":"88236:10:19","parameters":{"id":16242,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16235,"mutability":"mutable","name":"checkTopic1","nameLocation":"88252:11:19","nodeType":"VariableDeclaration","scope":16244,"src":"88247:16:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16234,"name":"bool","nodeType":"ElementaryTypeName","src":"88247:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":16237,"mutability":"mutable","name":"checkTopic2","nameLocation":"88270:11:19","nodeType":"VariableDeclaration","scope":16244,"src":"88265:16:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16236,"name":"bool","nodeType":"ElementaryTypeName","src":"88265:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":16239,"mutability":"mutable","name":"checkTopic3","nameLocation":"88288:11:19","nodeType":"VariableDeclaration","scope":16244,"src":"88283:16:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16238,"name":"bool","nodeType":"ElementaryTypeName","src":"88283:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":16241,"mutability":"mutable","name":"checkData","nameLocation":"88306:9:19","nodeType":"VariableDeclaration","scope":16244,"src":"88301:14:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16240,"name":"bool","nodeType":"ElementaryTypeName","src":"88301:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"88246:70:19"},"returnParameters":{"id":16243,"nodeType":"ParameterList","parameters":[],"src":"88325:0:19"},"scope":16311,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":16258,"nodeType":"FunctionDefinition","src":"88429:124:19","nodes":[],"documentation":{"id":16245,"nodeType":"StructuredDocumentation","src":"88332:92:19","text":"Same as the previous method, but also checks supplied address against emitting contract."},"functionSelector":"81bad6f3","implemented":false,"kind":"function","modifiers":[],"name":"expectEmit","nameLocation":"88438:10:19","parameters":{"id":16256,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16247,"mutability":"mutable","name":"checkTopic1","nameLocation":"88454:11:19","nodeType":"VariableDeclaration","scope":16258,"src":"88449:16:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16246,"name":"bool","nodeType":"ElementaryTypeName","src":"88449:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":16249,"mutability":"mutable","name":"checkTopic2","nameLocation":"88472:11:19","nodeType":"VariableDeclaration","scope":16258,"src":"88467:16:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16248,"name":"bool","nodeType":"ElementaryTypeName","src":"88467:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":16251,"mutability":"mutable","name":"checkTopic3","nameLocation":"88490:11:19","nodeType":"VariableDeclaration","scope":16258,"src":"88485:16:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16250,"name":"bool","nodeType":"ElementaryTypeName","src":"88485:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":16253,"mutability":"mutable","name":"checkData","nameLocation":"88508:9:19","nodeType":"VariableDeclaration","scope":16258,"src":"88503:14:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16252,"name":"bool","nodeType":"ElementaryTypeName","src":"88503:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":16255,"mutability":"mutable","name":"emitter","nameLocation":"88527:7:19","nodeType":"VariableDeclaration","scope":16258,"src":"88519:15:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16254,"name":"address","nodeType":"ElementaryTypeName","src":"88519:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"88448:87:19"},"returnParameters":{"id":16257,"nodeType":"ParameterList","parameters":[],"src":"88552:0:19"},"scope":16311,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":16262,"nodeType":"FunctionDefinition","src":"88823:31:19","nodes":[],"documentation":{"id":16259,"nodeType":"StructuredDocumentation","src":"88559:259:19","text":"Prepare an expected log with all topic and data checks enabled.\n Call this function, then emit an event, then call a function. Internally after the call, we check if\n logs were emitted in the expected order with the expected topics and data."},"functionSelector":"440ed10d","implemented":false,"kind":"function","modifiers":[],"name":"expectEmit","nameLocation":"88832:10:19","parameters":{"id":16260,"nodeType":"ParameterList","parameters":[],"src":"88842:2:19"},"returnParameters":{"id":16261,"nodeType":"ParameterList","parameters":[],"src":"88853:0:19"},"scope":16311,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":16268,"nodeType":"FunctionDefinition","src":"88957:46:19","nodes":[],"documentation":{"id":16263,"nodeType":"StructuredDocumentation","src":"88860:92:19","text":"Same as the previous method, but also checks supplied address against emitting contract."},"functionSelector":"86b9620d","implemented":false,"kind":"function","modifiers":[],"name":"expectEmit","nameLocation":"88966:10:19","parameters":{"id":16266,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16265,"mutability":"mutable","name":"emitter","nameLocation":"88985:7:19","nodeType":"VariableDeclaration","scope":16268,"src":"88977:15:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":16264,"name":"address","nodeType":"ElementaryTypeName","src":"88977:7:19","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"88976:17:19"},"returnParameters":{"id":16267,"nodeType":"ParameterList","parameters":[],"src":"89002:0:19"},"scope":16311,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":16272,"nodeType":"FunctionDefinition","src":"89069:33:19","nodes":[],"documentation":{"id":16269,"nodeType":"StructuredDocumentation","src":"89009:55:19","text":"Expects an error on next call with any revert data."},"functionSelector":"f4844814","implemented":false,"kind":"function","modifiers":[],"name":"expectRevert","nameLocation":"89078:12:19","parameters":{"id":16270,"nodeType":"ParameterList","parameters":[],"src":"89090:2:19"},"returnParameters":{"id":16271,"nodeType":"ParameterList","parameters":[],"src":"89101:0:19"},"scope":16311,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":16278,"nodeType":"FunctionDefinition","src":"89180:50:19","nodes":[],"documentation":{"id":16273,"nodeType":"StructuredDocumentation","src":"89108:67:19","text":"Expects an error on next call that starts with the revert data."},"functionSelector":"c31eb0e0","implemented":false,"kind":"function","modifiers":[],"name":"expectRevert","nameLocation":"89189:12:19","parameters":{"id":16276,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16275,"mutability":"mutable","name":"revertData","nameLocation":"89209:10:19","nodeType":"VariableDeclaration","scope":16278,"src":"89202:17:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":16274,"name":"bytes4","nodeType":"ElementaryTypeName","src":"89202:6:19","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"89201:19:19"},"returnParameters":{"id":16277,"nodeType":"ParameterList","parameters":[],"src":"89229:0:19"},"scope":16311,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":16284,"nodeType":"FunctionDefinition","src":"89312:58:19","nodes":[],"documentation":{"id":16279,"nodeType":"StructuredDocumentation","src":"89236:71:19","text":"Expects an error on next call that exactly matches the revert data."},"functionSelector":"f28dceb3","implemented":false,"kind":"function","modifiers":[],"name":"expectRevert","nameLocation":"89321:12:19","parameters":{"id":16282,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16281,"mutability":"mutable","name":"revertData","nameLocation":"89349:10:19","nodeType":"VariableDeclaration","scope":16284,"src":"89334:25:19","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":16280,"name":"bytes","nodeType":"ElementaryTypeName","src":"89334:5:19","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"89333:27:19"},"returnParameters":{"id":16283,"nodeType":"ParameterList","parameters":[],"src":"89369:0:19"},"scope":16311,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":16292,"nodeType":"FunctionDefinition","src":"89599:59:19","nodes":[],"documentation":{"id":16285,"nodeType":"StructuredDocumentation","src":"89376:218:19","text":"Only allows memory writes to offsets [0x00, 0x60) ∪ [min, max) in the current subcontext. If any other\n memory is written to, the test will fail. Can be called multiple times to add more ranges to the set."},"functionSelector":"6d016688","implemented":false,"kind":"function","modifiers":[],"name":"expectSafeMemory","nameLocation":"89608:16:19","parameters":{"id":16290,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16287,"mutability":"mutable","name":"min","nameLocation":"89632:3:19","nodeType":"VariableDeclaration","scope":16292,"src":"89625:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":16286,"name":"uint64","nodeType":"ElementaryTypeName","src":"89625:6:19","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":16289,"mutability":"mutable","name":"max","nameLocation":"89644:3:19","nodeType":"VariableDeclaration","scope":16292,"src":"89637:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":16288,"name":"uint64","nodeType":"ElementaryTypeName","src":"89637:6:19","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"89624:24:19"},"returnParameters":{"id":16291,"nodeType":"ParameterList","parameters":[],"src":"89657:0:19"},"scope":16311,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":16300,"nodeType":"FunctionDefinition","src":"89900:63:19","nodes":[],"documentation":{"id":16293,"nodeType":"StructuredDocumentation","src":"89664:231:19","text":"Only allows memory writes to offsets [0x00, 0x60) ∪ [min, max) in the next created subcontext.\n If any other memory is written to, the test will fail. Can be called multiple times to add more ranges\n to the set."},"functionSelector":"05838bf4","implemented":false,"kind":"function","modifiers":[],"name":"expectSafeMemoryCall","nameLocation":"89909:20:19","parameters":{"id":16298,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16295,"mutability":"mutable","name":"min","nameLocation":"89937:3:19","nodeType":"VariableDeclaration","scope":16300,"src":"89930:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":16294,"name":"uint64","nodeType":"ElementaryTypeName","src":"89930:6:19","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":16297,"mutability":"mutable","name":"max","nameLocation":"89949:3:19","nodeType":"VariableDeclaration","scope":16300,"src":"89942:10:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":16296,"name":"uint64","nodeType":"ElementaryTypeName","src":"89942:6:19","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"89929:24:19"},"returnParameters":{"id":16299,"nodeType":"ParameterList","parameters":[],"src":"89962:0:19"},"scope":16311,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":16306,"nodeType":"FunctionDefinition","src":"90041:38:19","nodes":[],"documentation":{"id":16301,"nodeType":"StructuredDocumentation","src":"89969:67:19","text":"Marks a test as skipped. Must be called at the top of the test."},"functionSelector":"dd82d13e","implemented":false,"kind":"function","modifiers":[],"name":"skip","nameLocation":"90050:4:19","parameters":{"id":16304,"nodeType":"ParameterList","parameters":[{"constant":false,"id":16303,"mutability":"mutable","name":"skipTest","nameLocation":"90060:8:19","nodeType":"VariableDeclaration","scope":16306,"src":"90055:13:19","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":16302,"name":"bool","nodeType":"ElementaryTypeName","src":"90055:4:19","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"90054:15:19"},"returnParameters":{"id":16305,"nodeType":"ParameterList","parameters":[],"src":"90078:0:19"},"scope":16311,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":16310,"nodeType":"FunctionDefinition","src":"90154:41:19","nodes":[],"documentation":{"id":16307,"nodeType":"StructuredDocumentation","src":"90085:64:19","text":"Stops all safe memory expectation in the current subcontext."},"functionSelector":"0956441b","implemented":false,"kind":"function","modifiers":[],"name":"stopExpectSafeMemory","nameLocation":"90163:20:19","parameters":{"id":16308,"nodeType":"ParameterList","parameters":[],"src":"90183:2:19"},"returnParameters":{"id":16309,"nodeType":"ParameterList","parameters":[],"src":"90194:0:19"},"scope":16311,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[{"baseName":{"id":15726,"name":"VmSafe","nodeType":"IdentifierPath","referencedDeclaration":15724,"src":"76301:6:19"},"id":15727,"nodeType":"InheritanceSpecifier","src":"76301:6:19"}],"canonicalName":"Vm","contractDependencies":[],"contractKind":"interface","documentation":{"id":15725,"nodeType":"StructuredDocumentation","src":"76114:171:19","text":"The `Vm` interface does allow manipulation of the EVM state. These are all intended to be used\n in tests, but it is not recommended to use these cheats in scripts."},"fullyImplemented":false,"linearizedBaseContracts":[16311,15724],"name":"Vm","nameLocation":"76295:2:19","scope":16312,"usedErrors":[]}],"license":"MIT OR Apache-2.0"},"id":19}