{"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.26+commit.8a97fa7a\"},\"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\":\"cancun\",\"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.26+commit.8a97fa7a"},"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":"cancun","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":15858,"exportedSymbols":{"Vm":[15857],"VmSafe":[15270]},"nodeType":"SourceUnit","src":"117:90081:14","nodes":[{"id":12068,"nodeType":"PragmaDirective","src":"117:31:14","nodes":[],"literals":["solidity",">=","0.6",".2","<","0.9",".0"]},{"id":12069,"nodeType":"PragmaDirective","src":"149:33:14","nodes":[],"literals":["experimental","ABIEncoderV2"]},{"id":15270,"nodeType":"ContractDefinition","src":"409:75703:14","nodes":[{"id":12077,"nodeType":"EnumDefinition","src":"529:533:14","nodes":[],"canonicalName":"VmSafe.CallerMode","documentation":{"id":12071,"nodeType":"StructuredDocumentation","src":"432:92:14","text":"A modification applied to either `msg.sender` or `tx.origin`. Returned by `readCallers`."},"members":[{"id":12072,"name":"None","nameLocation":"610:4:14","nodeType":"EnumValue","src":"610:4:14"},{"id":12073,"name":"Broadcast","nameLocation":"714:9:14","nodeType":"EnumValue","src":"714:9:14"},{"id":12074,"name":"RecurrentBroadcast","nameLocation":"829:18:14","nodeType":"EnumValue","src":"829:18:14"},{"id":12075,"name":"Prank","nameLocation":"939:5:14","nodeType":"EnumValue","src":"939:5:14"},{"id":12076,"name":"RecurrentPrank","nameLocation":"1042:14:14","nodeType":"EnumValue","src":"1042:14:14"}],"name":"CallerMode","nameLocation":"534:10:14"},{"id":12090,"nodeType":"EnumDefinition","src":"1118:791:14","nodes":[],"canonicalName":"VmSafe.AccountAccessKind","documentation":{"id":12078,"nodeType":"StructuredDocumentation","src":"1068:45:14","text":"The kind of account access that occurred."},"members":[{"id":12079,"name":"Call","nameLocation":"1186:4:14","nodeType":"EnumValue","src":"1186:4:14"},{"id":12080,"name":"DelegateCall","nameLocation":"1252:12:14","nodeType":"EnumValue","src":"1252:12:14"},{"id":12081,"name":"CallCode","nameLocation":"1322:8:14","nodeType":"EnumValue","src":"1322:8:14"},{"id":12082,"name":"StaticCall","nameLocation":"1390:10:14","nodeType":"EnumValue","src":"1390:10:14"},{"id":12083,"name":"Create","nameLocation":"1446:6:14","nodeType":"EnumValue","src":"1446:6:14"},{"id":12084,"name":"SelfDestruct","nameLocation":"1505:12:14","nodeType":"EnumValue","src":"1505:12:14"},{"id":12085,"name":"Resume","nameLocation":"1644:6:14","nodeType":"EnumValue","src":"1644:6:14"},{"id":12086,"name":"Balance","nameLocation":"1703:7:14","nodeType":"EnumValue","src":"1703:7:14"},{"id":12087,"name":"Extcodesize","nameLocation":"1764:11:14","nodeType":"EnumValue","src":"1764:11:14"},{"id":12088,"name":"Extcodehash","nameLocation":"1829:11:14","nodeType":"EnumValue","src":"1829:11:14"},{"id":12089,"name":"Extcodecopy","nameLocation":"1892:11:14","nodeType":"EnumValue","src":"1892:11:14"}],"name":"AccountAccessKind","nameLocation":"1123:17:14"},{"id":12101,"nodeType":"EnumDefinition","src":"1949:683:14","nodes":[],"canonicalName":"VmSafe.ForgeContext","documentation":{"id":12091,"nodeType":"StructuredDocumentation","src":"1915:29:14","text":"Forge execution contexts."},"members":[{"id":12092,"name":"TestGroup","nameLocation":"2047:9:14","nodeType":"EnumValue","src":"2047:9:14"},{"id":12093,"name":"Test","nameLocation":"2109:4:14","nodeType":"EnumValue","src":"2109:4:14"},{"id":12094,"name":"Coverage","nameLocation":"2170:8:14","nodeType":"EnumValue","src":"2170:8:14"},{"id":12095,"name":"Snapshot","nameLocation":"2235:8:14","nodeType":"EnumValue","src":"2235:8:14"},{"id":12096,"name":"ScriptGroup","nameLocation":"2327:11:14","nodeType":"EnumValue","src":"2327:11:14"},{"id":12097,"name":"ScriptDryRun","nameLocation":"2393:12:14","nodeType":"EnumValue","src":"2393:12:14"},{"id":12098,"name":"ScriptBroadcast","nameLocation":"2472:15:14","nodeType":"EnumValue","src":"2472:15:14"},{"id":12099,"name":"ScriptResume","nameLocation":"2551:12:14","nodeType":"EnumValue","src":"2551:12:14"},{"id":12100,"name":"Unknown","nameLocation":"2619:7:14","nodeType":"EnumValue","src":"2619:7:14"}],"name":"ForgeContext","nameLocation":"1954:12:14"},{"id":12110,"nodeType":"StructDefinition","src":"2694:237:14","nodes":[],"canonicalName":"VmSafe.Log","documentation":{"id":12102,"nodeType":"StructuredDocumentation","src":"2638:51:14","text":"An Ethereum log. Returned by `getRecordedLogs`."},"members":[{"constant":false,"id":12105,"mutability":"mutable","name":"topics","nameLocation":"2792:6:14","nodeType":"VariableDeclaration","scope":12110,"src":"2782:16:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":12103,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2782:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":12104,"nodeType":"ArrayTypeName","src":"2782:9:14","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":12107,"mutability":"mutable","name":"data","nameLocation":"2850:4:14","nodeType":"VariableDeclaration","scope":12110,"src":"2844:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":12106,"name":"bytes","nodeType":"ElementaryTypeName","src":"2844:5:14","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":12109,"mutability":"mutable","name":"emitter","nameLocation":"2917:7:14","nodeType":"VariableDeclaration","scope":12110,"src":"2909:15:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12108,"name":"address","nodeType":"ElementaryTypeName","src":"2909:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"name":"Log","nameLocation":"2701:3:14","scope":15270,"visibility":"public"},{"id":12116,"nodeType":"StructDefinition","src":"3000:119:14","nodes":[],"canonicalName":"VmSafe.Rpc","documentation":{"id":12111,"nodeType":"StructuredDocumentation","src":"2937:58:14","text":"An RPC URL and its alias. Returned by `rpcUrlStructs`."},"members":[{"constant":false,"id":12113,"mutability":"mutable","name":"key","nameLocation":"3065:3:14","nodeType":"VariableDeclaration","scope":12116,"src":"3058:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":12112,"name":"string","nodeType":"ElementaryTypeName","src":"3058:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12115,"mutability":"mutable","name":"url","nameLocation":"3109:3:14","nodeType":"VariableDeclaration","scope":12116,"src":"3102:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":12114,"name":"string","nodeType":"ElementaryTypeName","src":"3102:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"name":"Rpc","nameLocation":"3007:3:14","scope":15270,"visibility":"public"},{"id":12137,"nodeType":"StructDefinition","src":"3179:615:14","nodes":[],"canonicalName":"VmSafe.EthGetLogs","documentation":{"id":12117,"nodeType":"StructuredDocumentation","src":"3125:49:14","text":"An RPC log object. Returned by `eth_getLogs`."},"members":[{"constant":false,"id":12119,"mutability":"mutable","name":"emitter","nameLocation":"3260:7:14","nodeType":"VariableDeclaration","scope":12137,"src":"3252:15:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12118,"name":"address","nodeType":"ElementaryTypeName","src":"3252:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12122,"mutability":"mutable","name":"topics","nameLocation":"3354:6:14","nodeType":"VariableDeclaration","scope":12137,"src":"3344:16:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":12120,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3344:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":12121,"nodeType":"ArrayTypeName","src":"3344:9:14","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":12124,"mutability":"mutable","name":"data","nameLocation":"3412:4:14","nodeType":"VariableDeclaration","scope":12137,"src":"3406:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":12123,"name":"bytes","nodeType":"ElementaryTypeName","src":"3406:5:14","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":12126,"mutability":"mutable","name":"blockHash","nameLocation":"3461:9:14","nodeType":"VariableDeclaration","scope":12137,"src":"3453:17:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12125,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3453:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":12128,"mutability":"mutable","name":"blockNumber","nameLocation":"3516:11:14","nodeType":"VariableDeclaration","scope":12137,"src":"3509:18:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":12127,"name":"uint64","nodeType":"ElementaryTypeName","src":"3509:6:14","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":12130,"mutability":"mutable","name":"transactionHash","nameLocation":"3578:15:14","nodeType":"VariableDeclaration","scope":12137,"src":"3570:23:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12129,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3570:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":12132,"mutability":"mutable","name":"transactionIndex","nameLocation":"3657:16:14","nodeType":"VariableDeclaration","scope":12137,"src":"3650:23:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":12131,"name":"uint64","nodeType":"ElementaryTypeName","src":"3650:6:14","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":12134,"mutability":"mutable","name":"logIndex","nameLocation":"3717:8:14","nodeType":"VariableDeclaration","scope":12137,"src":"3709:16:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12133,"name":"uint256","nodeType":"ElementaryTypeName","src":"3709:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":12136,"mutability":"mutable","name":"removed","nameLocation":"3780:7:14","nodeType":"VariableDeclaration","scope":12137,"src":"3775:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12135,"name":"bool","nodeType":"ElementaryTypeName","src":"3775:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"name":"EthGetLogs","nameLocation":"3186:10:14","scope":15270,"visibility":"public"},{"id":12149,"nodeType":"StructDefinition","src":"3870:334:14","nodes":[],"canonicalName":"VmSafe.DirEntry","documentation":{"id":12138,"nodeType":"StructuredDocumentation","src":"3800:65:14","text":"A single entry in a directory listing. Returned by `readDir`."},"members":[{"constant":false,"id":12140,"mutability":"mutable","name":"errorMessage","nameLocation":"3941:12:14","nodeType":"VariableDeclaration","scope":12149,"src":"3934:19:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":12139,"name":"string","nodeType":"ElementaryTypeName","src":"3934:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12142,"mutability":"mutable","name":"path","nameLocation":"4004:4:14","nodeType":"VariableDeclaration","scope":12149,"src":"3997:11:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":12141,"name":"string","nodeType":"ElementaryTypeName","src":"3997:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12144,"mutability":"mutable","name":"depth","nameLocation":"4060:5:14","nodeType":"VariableDeclaration","scope":12149,"src":"4053:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":12143,"name":"uint64","nodeType":"ElementaryTypeName","src":"4053:6:14","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":12146,"mutability":"mutable","name":"isDir","nameLocation":"4125:5:14","nodeType":"VariableDeclaration","scope":12149,"src":"4120:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12145,"name":"bool","nodeType":"ElementaryTypeName","src":"4120:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":12148,"mutability":"mutable","name":"isSymlink","nameLocation":"4188:9:14","nodeType":"VariableDeclaration","scope":12149,"src":"4183:14:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12147,"name":"bool","nodeType":"ElementaryTypeName","src":"4183:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"name":"DirEntry","nameLocation":"3877:8:14","scope":15270,"visibility":"public"},{"id":12165,"nodeType":"StructDefinition","src":"4434:599:14","nodes":[],"canonicalName":"VmSafe.FsMetadata","documentation":{"id":12150,"nodeType":"StructuredDocumentation","src":"4210:219:14","text":"Metadata information about a file.\n This structure is returned from the `fsMetadata` function and represents known\n metadata about a file such as its permissions, size, modification\n times, etc."},"members":[{"constant":false,"id":12152,"mutability":"mutable","name":"isDir","nameLocation":"4520:5:14","nodeType":"VariableDeclaration","scope":12165,"src":"4515:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12151,"name":"bool","nodeType":"ElementaryTypeName","src":"4515:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":12154,"mutability":"mutable","name":"isSymlink","nameLocation":"4591:9:14","nodeType":"VariableDeclaration","scope":12165,"src":"4586:14:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12153,"name":"bool","nodeType":"ElementaryTypeName","src":"4586:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":12156,"mutability":"mutable","name":"length","nameLocation":"4683:6:14","nodeType":"VariableDeclaration","scope":12165,"src":"4675:14:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12155,"name":"uint256","nodeType":"ElementaryTypeName","src":"4675:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":12158,"mutability":"mutable","name":"readOnly","nameLocation":"4774:8:14","nodeType":"VariableDeclaration","scope":12165,"src":"4769:13:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12157,"name":"bool","nodeType":"ElementaryTypeName","src":"4769:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":12160,"mutability":"mutable","name":"modified","nameLocation":"4863:8:14","nodeType":"VariableDeclaration","scope":12165,"src":"4855:16:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12159,"name":"uint256","nodeType":"ElementaryTypeName","src":"4855:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":12162,"mutability":"mutable","name":"accessed","nameLocation":"4939:8:14","nodeType":"VariableDeclaration","scope":12165,"src":"4931:16:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12161,"name":"uint256","nodeType":"ElementaryTypeName","src":"4931:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":12164,"mutability":"mutable","name":"created","nameLocation":"5019:7:14","nodeType":"VariableDeclaration","scope":12165,"src":"5011:15:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12163,"name":"uint256","nodeType":"ElementaryTypeName","src":"5011:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"FsMetadata","nameLocation":"4441:10:14","scope":15270,"visibility":"public"},{"id":12175,"nodeType":"StructDefinition","src":"5087:277:14","nodes":[],"canonicalName":"VmSafe.Wallet","documentation":{"id":12166,"nodeType":"StructuredDocumentation","src":"5039:43:14","text":"A wallet with a public and private key."},"members":[{"constant":false,"id":12168,"mutability":"mutable","name":"addr","nameLocation":"5152:4:14","nodeType":"VariableDeclaration","scope":12175,"src":"5144:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12167,"name":"address","nodeType":"ElementaryTypeName","src":"5144:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12170,"mutability":"mutable","name":"publicKeyX","nameLocation":"5214:10:14","nodeType":"VariableDeclaration","scope":12175,"src":"5206:18:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12169,"name":"uint256","nodeType":"ElementaryTypeName","src":"5206:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":12172,"mutability":"mutable","name":"publicKeyY","nameLocation":"5282:10:14","nodeType":"VariableDeclaration","scope":12175,"src":"5274:18:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12171,"name":"uint256","nodeType":"ElementaryTypeName","src":"5274:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":12174,"mutability":"mutable","name":"privateKey","nameLocation":"5347:10:14","nodeType":"VariableDeclaration","scope":12175,"src":"5339:18:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12173,"name":"uint256","nodeType":"ElementaryTypeName","src":"5339:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"Wallet","nameLocation":"5094:6:14","scope":15270,"visibility":"public"},{"id":12183,"nodeType":"StructDefinition","src":"5409:213:14","nodes":[],"canonicalName":"VmSafe.FfiResult","documentation":{"id":12176,"nodeType":"StructuredDocumentation","src":"5370:34:14","text":"The result of a `tryFfi` call."},"members":[{"constant":false,"id":12178,"mutability":"mutable","name":"exitCode","nameLocation":"5480:8:14","nodeType":"VariableDeclaration","scope":12183,"src":"5474:14:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":12177,"name":"int32","nodeType":"ElementaryTypeName","src":"5474:5:14","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"visibility":"internal"},{"constant":false,"id":12180,"mutability":"mutable","name":"stdout","nameLocation":"5557:6:14","nodeType":"VariableDeclaration","scope":12183,"src":"5551:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":12179,"name":"bytes","nodeType":"ElementaryTypeName","src":"5551:5:14","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":12182,"mutability":"mutable","name":"stderr","nameLocation":"5609:6:14","nodeType":"VariableDeclaration","scope":12183,"src":"5603:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":12181,"name":"bytes","nodeType":"ElementaryTypeName","src":"5603:5:14","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"name":"FfiResult","nameLocation":"5416:9:14","scope":15270,"visibility":"public"},{"id":12189,"nodeType":"StructDefinition","src":"5671:184:14","nodes":[],"canonicalName":"VmSafe.ChainInfo","documentation":{"id":12184,"nodeType":"StructuredDocumentation","src":"5628:38:14","text":"Information on the chain and fork."},"members":[{"constant":false,"id":12186,"mutability":"mutable","name":"forkId","nameLocation":"5772:6:14","nodeType":"VariableDeclaration","scope":12189,"src":"5764:14:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12185,"name":"uint256","nodeType":"ElementaryTypeName","src":"5764:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":12188,"mutability":"mutable","name":"chainId","nameLocation":"5841:7:14","nodeType":"VariableDeclaration","scope":12189,"src":"5833:15:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12187,"name":"uint256","nodeType":"ElementaryTypeName","src":"5833:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"ChainInfo","nameLocation":"5678:9:14","scope":15270,"visibility":"public"},{"id":12221,"nodeType":"StructDefinition","src":"5916:1837:14","nodes":[],"canonicalName":"VmSafe.AccountAccess","documentation":{"id":12190,"nodeType":"StructuredDocumentation","src":"5861:50:14","text":"The result of a `stopAndReturnStateDiff` call."},"members":[{"constant":false,"id":12193,"mutability":"mutable","name":"chainInfo","nameLocation":"6008:9:14","nodeType":"VariableDeclaration","scope":12221,"src":"5998:19:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_ChainInfo_$12189_storage_ptr","typeString":"struct VmSafe.ChainInfo"},"typeName":{"id":12192,"nodeType":"UserDefinedTypeName","pathNode":{"id":12191,"name":"ChainInfo","nameLocations":["5998:9:14"],"nodeType":"IdentifierPath","referencedDeclaration":12189,"src":"5998:9:14"},"referencedDeclaration":12189,"src":"5998:9:14","typeDescriptions":{"typeIdentifier":"t_struct$_ChainInfo_$12189_storage_ptr","typeString":"struct VmSafe.ChainInfo"}},"visibility":"internal"},{"constant":false,"id":12196,"mutability":"mutable","name":"kind","nameLocation":"6471:4:14","nodeType":"VariableDeclaration","scope":12221,"src":"6453:22:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_AccountAccessKind_$12090","typeString":"enum VmSafe.AccountAccessKind"},"typeName":{"id":12195,"nodeType":"UserDefinedTypeName","pathNode":{"id":12194,"name":"AccountAccessKind","nameLocations":["6453:17:14"],"nodeType":"IdentifierPath","referencedDeclaration":12090,"src":"6453:17:14"},"referencedDeclaration":12090,"src":"6453:17:14","typeDescriptions":{"typeIdentifier":"t_enum$_AccountAccessKind_$12090","typeString":"enum VmSafe.AccountAccessKind"}},"visibility":"internal"},{"constant":false,"id":12198,"mutability":"mutable","name":"account","nameLocation":"6648:7:14","nodeType":"VariableDeclaration","scope":12221,"src":"6640:15:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12197,"name":"address","nodeType":"ElementaryTypeName","src":"6640:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12200,"mutability":"mutable","name":"accessor","nameLocation":"6711:8:14","nodeType":"VariableDeclaration","scope":12221,"src":"6703:16:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12199,"name":"address","nodeType":"ElementaryTypeName","src":"6703:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12202,"mutability":"mutable","name":"initialized","nameLocation":"6922:11:14","nodeType":"VariableDeclaration","scope":12221,"src":"6917:16:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12201,"name":"bool","nodeType":"ElementaryTypeName","src":"6917:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":12204,"mutability":"mutable","name":"oldBalance","nameLocation":"7008:10:14","nodeType":"VariableDeclaration","scope":12221,"src":"7000:18:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12203,"name":"uint256","nodeType":"ElementaryTypeName","src":"7000:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":12206,"mutability":"mutable","name":"newBalance","nameLocation":"7183:10:14","nodeType":"VariableDeclaration","scope":12221,"src":"7175:18:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12205,"name":"uint256","nodeType":"ElementaryTypeName","src":"7175:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":12208,"mutability":"mutable","name":"deployedCode","nameLocation":"7260:12:14","nodeType":"VariableDeclaration","scope":12221,"src":"7254:18:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":12207,"name":"bytes","nodeType":"ElementaryTypeName","src":"7254:5:14","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":12210,"mutability":"mutable","name":"value","nameLocation":"7344:5:14","nodeType":"VariableDeclaration","scope":12221,"src":"7336:13:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12209,"name":"uint256","nodeType":"ElementaryTypeName","src":"7336:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":12212,"mutability":"mutable","name":"data","nameLocation":"7418:4:14","nodeType":"VariableDeclaration","scope":12221,"src":"7412:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":12211,"name":"bytes","nodeType":"ElementaryTypeName","src":"7412:5:14","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":12214,"mutability":"mutable","name":"reverted","nameLocation":"7513:8:14","nodeType":"VariableDeclaration","scope":12221,"src":"7508:13:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12213,"name":"bool","nodeType":"ElementaryTypeName","src":"7508:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":12218,"mutability":"mutable","name":"storageAccesses","nameLocation":"7635:15:14","nodeType":"VariableDeclaration","scope":12221,"src":"7619:31:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_StorageAccess_$12235_storage_$dyn_storage_ptr","typeString":"struct VmSafe.StorageAccess[]"},"typeName":{"baseType":{"id":12216,"nodeType":"UserDefinedTypeName","pathNode":{"id":12215,"name":"StorageAccess","nameLocations":["7619:13:14"],"nodeType":"IdentifierPath","referencedDeclaration":12235,"src":"7619:13:14"},"referencedDeclaration":12235,"src":"7619:13:14","typeDescriptions":{"typeIdentifier":"t_struct$_StorageAccess_$12235_storage_ptr","typeString":"struct VmSafe.StorageAccess"}},"id":12217,"nodeType":"ArrayTypeName","src":"7619:15:14","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_StorageAccess_$12235_storage_$dyn_storage_ptr","typeString":"struct VmSafe.StorageAccess[]"}},"visibility":"internal"},{"constant":false,"id":12220,"mutability":"mutable","name":"depth","nameLocation":"7741:5:14","nodeType":"VariableDeclaration","scope":12221,"src":"7734:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":12219,"name":"uint64","nodeType":"ElementaryTypeName","src":"7734:6:14","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"name":"AccountAccess","nameLocation":"5923:13:14","scope":15270,"visibility":"public"},{"id":12235,"nodeType":"StructDefinition","src":"7815:425:14","nodes":[],"canonicalName":"VmSafe.StorageAccess","documentation":{"id":12222,"nodeType":"StructuredDocumentation","src":"7759:51:14","text":"The storage accessed during an `AccountAccess`."},"members":[{"constant":false,"id":12224,"mutability":"mutable","name":"account","nameLocation":"7905:7:14","nodeType":"VariableDeclaration","scope":12235,"src":"7897:15:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12223,"name":"address","nodeType":"ElementaryTypeName","src":"7897:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12226,"mutability":"mutable","name":"slot","nameLocation":"7969:4:14","nodeType":"VariableDeclaration","scope":12235,"src":"7961:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12225,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7961:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":12228,"mutability":"mutable","name":"isWrite","nameLocation":"8026:7:14","nodeType":"VariableDeclaration","scope":12235,"src":"8021:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12227,"name":"bool","nodeType":"ElementaryTypeName","src":"8021:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":12230,"mutability":"mutable","name":"previousValue","nameLocation":"8094:13:14","nodeType":"VariableDeclaration","scope":12235,"src":"8086:21:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12229,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8086:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":12232,"mutability":"mutable","name":"newValue","nameLocation":"8163:8:14","nodeType":"VariableDeclaration","scope":12235,"src":"8155:16:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12231,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8155:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":12234,"mutability":"mutable","name":"reverted","nameLocation":"8225:8:14","nodeType":"VariableDeclaration","scope":12235,"src":"8220:13:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12233,"name":"bool","nodeType":"ElementaryTypeName","src":"8220:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"name":"StorageAccess","nameLocation":"7822:13:14","scope":15270,"visibility":"public"},{"id":12247,"nodeType":"StructDefinition","src":"8291:362:14","nodes":[],"canonicalName":"VmSafe.Gas","documentation":{"id":12236,"nodeType":"StructuredDocumentation","src":"8246:40:14","text":"Gas used. Returned by `lastCallGas`."},"members":[{"constant":false,"id":12238,"mutability":"mutable","name":"gasLimit","nameLocation":"8357:8:14","nodeType":"VariableDeclaration","scope":12247,"src":"8350:15:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":12237,"name":"uint64","nodeType":"ElementaryTypeName","src":"8350:6:14","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":12240,"mutability":"mutable","name":"gasTotalUsed","nameLocation":"8413:12:14","nodeType":"VariableDeclaration","scope":12247,"src":"8406:19:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":12239,"name":"uint64","nodeType":"ElementaryTypeName","src":"8406:6:14","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":12242,"mutability":"mutable","name":"gasMemoryUsed","nameLocation":"8498:13:14","nodeType":"VariableDeclaration","scope":12247,"src":"8491:20:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":12241,"name":"uint64","nodeType":"ElementaryTypeName","src":"8491:6:14","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":12244,"mutability":"mutable","name":"gasRefunded","nameLocation":"8566:11:14","nodeType":"VariableDeclaration","scope":12247,"src":"8560:17:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":12243,"name":"int64","nodeType":"ElementaryTypeName","src":"8560:5:14","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"},{"constant":false,"id":12246,"mutability":"mutable","name":"gasRemaining","nameLocation":"8634:12:14","nodeType":"VariableDeclaration","scope":12247,"src":"8627:19:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":12245,"name":"uint64","nodeType":"ElementaryTypeName","src":"8627:6:14","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"name":"Gas","nameLocation":"8298:3:14","scope":15270,"visibility":"public"},{"id":12255,"nodeType":"FunctionDefinition","src":"8840:80:14","nodes":[],"documentation":{"id":12248,"nodeType":"StructuredDocumentation","src":"8697:138:14","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:14","parameters":{"id":12251,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12250,"mutability":"mutable","name":"name","nameLocation":"8876:4:14","nodeType":"VariableDeclaration","scope":12255,"src":"8860:20:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12249,"name":"string","nodeType":"ElementaryTypeName","src":"8860:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8859:22:14"},"returnParameters":{"id":12254,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12253,"mutability":"mutable","name":"value","nameLocation":"8913:5:14","nodeType":"VariableDeclaration","scope":12255,"src":"8905:13:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12252,"name":"address","nodeType":"ElementaryTypeName","src":"8905:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8904:15:14"},"scope":15270,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":12266,"nodeType":"FunctionDefinition","src":"9103:112:14","nodes":[],"documentation":{"id":12256,"nodeType":"StructuredDocumentation","src":"8926:172:14","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:14","parameters":{"id":12261,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12258,"mutability":"mutable","name":"name","nameLocation":"9139:4:14","nodeType":"VariableDeclaration","scope":12266,"src":"9123:20:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12257,"name":"string","nodeType":"ElementaryTypeName","src":"9123:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12260,"mutability":"mutable","name":"delim","nameLocation":"9161:5:14","nodeType":"VariableDeclaration","scope":12266,"src":"9145:21:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12259,"name":"string","nodeType":"ElementaryTypeName","src":"9145:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9122:45:14"},"returnParameters":{"id":12265,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12264,"mutability":"mutable","name":"value","nameLocation":"9208:5:14","nodeType":"VariableDeclaration","scope":12266,"src":"9191:22:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":12262,"name":"address","nodeType":"ElementaryTypeName","src":"9191:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":12263,"nodeType":"ArrayTypeName","src":"9191:9:14","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"9190:24:14"},"scope":15270,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":12274,"nodeType":"FunctionDefinition","src":"9361:74:14","nodes":[],"documentation":{"id":12267,"nodeType":"StructuredDocumentation","src":"9221:135:14","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:14","parameters":{"id":12270,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12269,"mutability":"mutable","name":"name","nameLocation":"9394:4:14","nodeType":"VariableDeclaration","scope":12274,"src":"9378:20:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12268,"name":"string","nodeType":"ElementaryTypeName","src":"9378:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9377:22:14"},"returnParameters":{"id":12273,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12272,"mutability":"mutable","name":"value","nameLocation":"9428:5:14","nodeType":"VariableDeclaration","scope":12274,"src":"9423:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12271,"name":"bool","nodeType":"ElementaryTypeName","src":"9423:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"9422:12:14"},"scope":15270,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":12285,"nodeType":"FunctionDefinition","src":"9615:106:14","nodes":[],"documentation":{"id":12275,"nodeType":"StructuredDocumentation","src":"9441:169:14","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:14","parameters":{"id":12280,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12277,"mutability":"mutable","name":"name","nameLocation":"9648:4:14","nodeType":"VariableDeclaration","scope":12285,"src":"9632:20:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12276,"name":"string","nodeType":"ElementaryTypeName","src":"9632:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12279,"mutability":"mutable","name":"delim","nameLocation":"9670:5:14","nodeType":"VariableDeclaration","scope":12285,"src":"9654:21:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12278,"name":"string","nodeType":"ElementaryTypeName","src":"9654:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9631:45:14"},"returnParameters":{"id":12284,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12283,"mutability":"mutable","name":"value","nameLocation":"9714:5:14","nodeType":"VariableDeclaration","scope":12285,"src":"9700:19:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":12281,"name":"bool","nodeType":"ElementaryTypeName","src":"9700:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":12282,"nodeType":"ArrayTypeName","src":"9700:6:14","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"}],"src":"9699:21:14"},"scope":15270,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":12293,"nodeType":"FunctionDefinition","src":"9870:80:14","nodes":[],"documentation":{"id":12286,"nodeType":"StructuredDocumentation","src":"9727:138:14","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:14","parameters":{"id":12289,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12288,"mutability":"mutable","name":"name","nameLocation":"9906:4:14","nodeType":"VariableDeclaration","scope":12293,"src":"9890:20:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12287,"name":"string","nodeType":"ElementaryTypeName","src":"9890:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9889:22:14"},"returnParameters":{"id":12292,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12291,"mutability":"mutable","name":"value","nameLocation":"9943:5:14","nodeType":"VariableDeclaration","scope":12293,"src":"9935:13:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12290,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9935:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"9934:15:14"},"scope":15270,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":12304,"nodeType":"FunctionDefinition","src":"10133:112:14","nodes":[],"documentation":{"id":12294,"nodeType":"StructuredDocumentation","src":"9956:172:14","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:14","parameters":{"id":12299,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12296,"mutability":"mutable","name":"name","nameLocation":"10169:4:14","nodeType":"VariableDeclaration","scope":12304,"src":"10153:20:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12295,"name":"string","nodeType":"ElementaryTypeName","src":"10153:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12298,"mutability":"mutable","name":"delim","nameLocation":"10191:5:14","nodeType":"VariableDeclaration","scope":12304,"src":"10175:21:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12297,"name":"string","nodeType":"ElementaryTypeName","src":"10175:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"10152:45:14"},"returnParameters":{"id":12303,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12302,"mutability":"mutable","name":"value","nameLocation":"10238:5:14","nodeType":"VariableDeclaration","scope":12304,"src":"10221:22:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":12300,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10221:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":12301,"nodeType":"ArrayTypeName","src":"10221:9:14","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"10220:24:14"},"scope":15270,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":12312,"nodeType":"FunctionDefinition","src":"10392:83:14","nodes":[],"documentation":{"id":12305,"nodeType":"StructuredDocumentation","src":"10251:136:14","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:14","parameters":{"id":12308,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12307,"mutability":"mutable","name":"name","nameLocation":"10426:4:14","nodeType":"VariableDeclaration","scope":12312,"src":"10410:20:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12306,"name":"string","nodeType":"ElementaryTypeName","src":"10410:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"10409:22:14"},"returnParameters":{"id":12311,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12310,"mutability":"mutable","name":"value","nameLocation":"10468:5:14","nodeType":"VariableDeclaration","scope":12312,"src":"10455:18:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":12309,"name":"bytes","nodeType":"ElementaryTypeName","src":"10455:5:14","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"10454:20:14"},"scope":15270,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":12323,"nodeType":"FunctionDefinition","src":"10656:108:14","nodes":[],"documentation":{"id":12313,"nodeType":"StructuredDocumentation","src":"10481:170:14","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:14","parameters":{"id":12318,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12315,"mutability":"mutable","name":"name","nameLocation":"10690:4:14","nodeType":"VariableDeclaration","scope":12323,"src":"10674:20:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12314,"name":"string","nodeType":"ElementaryTypeName","src":"10674:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12317,"mutability":"mutable","name":"delim","nameLocation":"10712:5:14","nodeType":"VariableDeclaration","scope":12323,"src":"10696:21:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12316,"name":"string","nodeType":"ElementaryTypeName","src":"10696:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"10673:45:14"},"returnParameters":{"id":12322,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12321,"mutability":"mutable","name":"value","nameLocation":"10757:5:14","nodeType":"VariableDeclaration","scope":12323,"src":"10742:20:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":12319,"name":"bytes","nodeType":"ElementaryTypeName","src":"10742:5:14","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":12320,"nodeType":"ArrayTypeName","src":"10742:7:14","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"10741:22:14"},"scope":15270,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":12331,"nodeType":"FunctionDefinition","src":"10866:77:14","nodes":[],"documentation":{"id":12324,"nodeType":"StructuredDocumentation","src":"10770:91:14","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:14","parameters":{"id":12327,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12326,"mutability":"mutable","name":"name","nameLocation":"10901:4:14","nodeType":"VariableDeclaration","scope":12331,"src":"10885:20:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12325,"name":"string","nodeType":"ElementaryTypeName","src":"10885:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"10884:22:14"},"returnParameters":{"id":12330,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12329,"mutability":"mutable","name":"result","nameLocation":"10935:6:14","nodeType":"VariableDeclaration","scope":12331,"src":"10930:11:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12328,"name":"bool","nodeType":"ElementaryTypeName","src":"10930:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"10929:13:14"},"scope":15270,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":12339,"nodeType":"FunctionDefinition","src":"11091:75:14","nodes":[],"documentation":{"id":12332,"nodeType":"StructuredDocumentation","src":"10949:137:14","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:14","parameters":{"id":12335,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12334,"mutability":"mutable","name":"name","nameLocation":"11123:4:14","nodeType":"VariableDeclaration","scope":12339,"src":"11107:20:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12333,"name":"string","nodeType":"ElementaryTypeName","src":"11107:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"11106:22:14"},"returnParameters":{"id":12338,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12337,"mutability":"mutable","name":"value","nameLocation":"11159:5:14","nodeType":"VariableDeclaration","scope":12339,"src":"11152:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":12336,"name":"int256","nodeType":"ElementaryTypeName","src":"11152:6:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"11151:14:14"},"scope":15270,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":12350,"nodeType":"FunctionDefinition","src":"11348:107:14","nodes":[],"documentation":{"id":12340,"nodeType":"StructuredDocumentation","src":"11172:171:14","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:14","parameters":{"id":12345,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12342,"mutability":"mutable","name":"name","nameLocation":"11380:4:14","nodeType":"VariableDeclaration","scope":12350,"src":"11364:20:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12341,"name":"string","nodeType":"ElementaryTypeName","src":"11364:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12344,"mutability":"mutable","name":"delim","nameLocation":"11402:5:14","nodeType":"VariableDeclaration","scope":12350,"src":"11386:21:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12343,"name":"string","nodeType":"ElementaryTypeName","src":"11386:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"11363:45:14"},"returnParameters":{"id":12349,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12348,"mutability":"mutable","name":"value","nameLocation":"11448:5:14","nodeType":"VariableDeclaration","scope":12350,"src":"11432:21:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":12346,"name":"int256","nodeType":"ElementaryTypeName","src":"11432:6:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":12347,"nodeType":"ArrayTypeName","src":"11432:8:14","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"11431:23:14"},"scope":15270,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":12360,"nodeType":"FunctionDefinition","src":"11646:91:14","nodes":[],"documentation":{"id":12351,"nodeType":"StructuredDocumentation","src":"11461:180:14","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:14","parameters":{"id":12356,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12353,"mutability":"mutable","name":"name","nameLocation":"11677:4:14","nodeType":"VariableDeclaration","scope":12360,"src":"11661:20:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12352,"name":"string","nodeType":"ElementaryTypeName","src":"11661:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12355,"mutability":"mutable","name":"defaultValue","nameLocation":"11688:12:14","nodeType":"VariableDeclaration","scope":12360,"src":"11683:17:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12354,"name":"bool","nodeType":"ElementaryTypeName","src":"11683:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"11660:41:14"},"returnParameters":{"id":12359,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12358,"mutability":"mutable","name":"value","nameLocation":"11730:5:14","nodeType":"VariableDeclaration","scope":12360,"src":"11725:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12357,"name":"bool","nodeType":"ElementaryTypeName","src":"11725:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"11724:12:14"},"scope":15270,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":12370,"nodeType":"FunctionDefinition","src":"11931:97:14","nodes":[],"documentation":{"id":12361,"nodeType":"StructuredDocumentation","src":"11743:183:14","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:14","parameters":{"id":12366,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12363,"mutability":"mutable","name":"name","nameLocation":"11962:4:14","nodeType":"VariableDeclaration","scope":12370,"src":"11946:20:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12362,"name":"string","nodeType":"ElementaryTypeName","src":"11946:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12365,"mutability":"mutable","name":"defaultValue","nameLocation":"11976:12:14","nodeType":"VariableDeclaration","scope":12370,"src":"11968:20:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12364,"name":"uint256","nodeType":"ElementaryTypeName","src":"11968:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11945:44:14"},"returnParameters":{"id":12369,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12368,"mutability":"mutable","name":"value","nameLocation":"12021:5:14","nodeType":"VariableDeclaration","scope":12370,"src":"12013:13:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12367,"name":"uint256","nodeType":"ElementaryTypeName","src":"12013:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12012:15:14"},"scope":15270,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":12384,"nodeType":"FunctionDefinition","src":"12256:164:14","nodes":[],"documentation":{"id":12371,"nodeType":"StructuredDocumentation","src":"12034:217:14","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:14","parameters":{"id":12379,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12373,"mutability":"mutable","name":"name","nameLocation":"12287:4:14","nodeType":"VariableDeclaration","scope":12384,"src":"12271:20:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12372,"name":"string","nodeType":"ElementaryTypeName","src":"12271:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12375,"mutability":"mutable","name":"delim","nameLocation":"12309:5:14","nodeType":"VariableDeclaration","scope":12384,"src":"12293:21:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12374,"name":"string","nodeType":"ElementaryTypeName","src":"12293:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12378,"mutability":"mutable","name":"defaultValue","nameLocation":"12335:12:14","nodeType":"VariableDeclaration","scope":12384,"src":"12316:31:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":12376,"name":"address","nodeType":"ElementaryTypeName","src":"12316:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":12377,"nodeType":"ArrayTypeName","src":"12316:9:14","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"12270:78:14"},"returnParameters":{"id":12383,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12382,"mutability":"mutable","name":"value","nameLocation":"12413:5:14","nodeType":"VariableDeclaration","scope":12384,"src":"12396:22:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":12380,"name":"address","nodeType":"ElementaryTypeName","src":"12396:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":12381,"nodeType":"ArrayTypeName","src":"12396:9:14","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"12395:24:14"},"scope":15270,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":12398,"nodeType":"FunctionDefinition","src":"12648:164:14","nodes":[],"documentation":{"id":12385,"nodeType":"StructuredDocumentation","src":"12426:217:14","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:14","parameters":{"id":12393,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12387,"mutability":"mutable","name":"name","nameLocation":"12679:4:14","nodeType":"VariableDeclaration","scope":12398,"src":"12663:20:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12386,"name":"string","nodeType":"ElementaryTypeName","src":"12663:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12389,"mutability":"mutable","name":"delim","nameLocation":"12701:5:14","nodeType":"VariableDeclaration","scope":12398,"src":"12685:21:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12388,"name":"string","nodeType":"ElementaryTypeName","src":"12685:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12392,"mutability":"mutable","name":"defaultValue","nameLocation":"12727:12:14","nodeType":"VariableDeclaration","scope":12398,"src":"12708:31:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_calldata_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":12390,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12708:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":12391,"nodeType":"ArrayTypeName","src":"12708:9:14","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"12662:78:14"},"returnParameters":{"id":12397,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12396,"mutability":"mutable","name":"value","nameLocation":"12805:5:14","nodeType":"VariableDeclaration","scope":12398,"src":"12788:22:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":12394,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12788:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":12395,"nodeType":"ArrayTypeName","src":"12788:9:14","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"12787:24:14"},"scope":15270,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":12412,"nodeType":"FunctionDefinition","src":"13039:162:14","nodes":[],"documentation":{"id":12399,"nodeType":"StructuredDocumentation","src":"12818:216:14","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:14","parameters":{"id":12407,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12401,"mutability":"mutable","name":"name","nameLocation":"13070:4:14","nodeType":"VariableDeclaration","scope":12412,"src":"13054:20:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12400,"name":"string","nodeType":"ElementaryTypeName","src":"13054:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12403,"mutability":"mutable","name":"delim","nameLocation":"13092:5:14","nodeType":"VariableDeclaration","scope":12412,"src":"13076:21:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12402,"name":"string","nodeType":"ElementaryTypeName","src":"13076:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12406,"mutability":"mutable","name":"defaultValue","nameLocation":"13117:12:14","nodeType":"VariableDeclaration","scope":12412,"src":"13099:30:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_string_calldata_ptr_$dyn_calldata_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":12404,"name":"string","nodeType":"ElementaryTypeName","src":"13099:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":12405,"nodeType":"ArrayTypeName","src":"13099:8:14","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"13053:77:14"},"returnParameters":{"id":12411,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12410,"mutability":"mutable","name":"value","nameLocation":"13194:5:14","nodeType":"VariableDeclaration","scope":12412,"src":"13178:21:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":12408,"name":"string","nodeType":"ElementaryTypeName","src":"13178:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":12409,"nodeType":"ArrayTypeName","src":"13178:8:14","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"13177:23:14"},"scope":15270,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":12426,"nodeType":"FunctionDefinition","src":"13427:160:14","nodes":[],"documentation":{"id":12413,"nodeType":"StructuredDocumentation","src":"13207:215:14","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:14","parameters":{"id":12421,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12415,"mutability":"mutable","name":"name","nameLocation":"13458:4:14","nodeType":"VariableDeclaration","scope":12426,"src":"13442:20:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12414,"name":"string","nodeType":"ElementaryTypeName","src":"13442:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12417,"mutability":"mutable","name":"delim","nameLocation":"13480:5:14","nodeType":"VariableDeclaration","scope":12426,"src":"13464:21:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12416,"name":"string","nodeType":"ElementaryTypeName","src":"13464:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12420,"mutability":"mutable","name":"defaultValue","nameLocation":"13504:12:14","nodeType":"VariableDeclaration","scope":12426,"src":"13487:29:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":12418,"name":"bytes","nodeType":"ElementaryTypeName","src":"13487:5:14","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":12419,"nodeType":"ArrayTypeName","src":"13487:7:14","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"13441:76:14"},"returnParameters":{"id":12425,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12424,"mutability":"mutable","name":"value","nameLocation":"13580:5:14","nodeType":"VariableDeclaration","scope":12426,"src":"13565:20:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":12422,"name":"bytes","nodeType":"ElementaryTypeName","src":"13565:5:14","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":12423,"nodeType":"ArrayTypeName","src":"13565:7:14","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"13564:22:14"},"scope":15270,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":12436,"nodeType":"FunctionDefinition","src":"13780:95:14","nodes":[],"documentation":{"id":12427,"nodeType":"StructuredDocumentation","src":"13593:182:14","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:14","parameters":{"id":12432,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12429,"mutability":"mutable","name":"name","nameLocation":"13811:4:14","nodeType":"VariableDeclaration","scope":12436,"src":"13795:20:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12428,"name":"string","nodeType":"ElementaryTypeName","src":"13795:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12431,"mutability":"mutable","name":"defaultValue","nameLocation":"13824:12:14","nodeType":"VariableDeclaration","scope":12436,"src":"13817:19:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":12430,"name":"int256","nodeType":"ElementaryTypeName","src":"13817:6:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"13794:43:14"},"returnParameters":{"id":12435,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12434,"mutability":"mutable","name":"value","nameLocation":"13868:5:14","nodeType":"VariableDeclaration","scope":12436,"src":"13861:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":12433,"name":"int256","nodeType":"ElementaryTypeName","src":"13861:6:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"13860:14:14"},"scope":15270,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":12446,"nodeType":"FunctionDefinition","src":"14069:97:14","nodes":[],"documentation":{"id":12437,"nodeType":"StructuredDocumentation","src":"13881:183:14","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:14","parameters":{"id":12442,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12439,"mutability":"mutable","name":"name","nameLocation":"14100:4:14","nodeType":"VariableDeclaration","scope":12446,"src":"14084:20:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12438,"name":"string","nodeType":"ElementaryTypeName","src":"14084:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12441,"mutability":"mutable","name":"defaultValue","nameLocation":"14114:12:14","nodeType":"VariableDeclaration","scope":12446,"src":"14106:20:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12440,"name":"address","nodeType":"ElementaryTypeName","src":"14106:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"14083:44:14"},"returnParameters":{"id":12445,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12444,"mutability":"mutable","name":"value","nameLocation":"14159:5:14","nodeType":"VariableDeclaration","scope":12446,"src":"14151:13:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12443,"name":"address","nodeType":"ElementaryTypeName","src":"14151:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"14150:15:14"},"scope":15270,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":12456,"nodeType":"FunctionDefinition","src":"14360:97:14","nodes":[],"documentation":{"id":12447,"nodeType":"StructuredDocumentation","src":"14172:183:14","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:14","parameters":{"id":12452,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12449,"mutability":"mutable","name":"name","nameLocation":"14391:4:14","nodeType":"VariableDeclaration","scope":12456,"src":"14375:20:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12448,"name":"string","nodeType":"ElementaryTypeName","src":"14375:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12451,"mutability":"mutable","name":"defaultValue","nameLocation":"14405:12:14","nodeType":"VariableDeclaration","scope":12456,"src":"14397:20:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12450,"name":"bytes32","nodeType":"ElementaryTypeName","src":"14397:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"14374:44:14"},"returnParameters":{"id":12455,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12454,"mutability":"mutable","name":"value","nameLocation":"14450:5:14","nodeType":"VariableDeclaration","scope":12456,"src":"14442:13:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12453,"name":"bytes32","nodeType":"ElementaryTypeName","src":"14442:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"14441:15:14"},"scope":15270,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":12466,"nodeType":"FunctionDefinition","src":"14650:111:14","nodes":[],"documentation":{"id":12457,"nodeType":"StructuredDocumentation","src":"14463:182:14","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:14","parameters":{"id":12462,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12459,"mutability":"mutable","name":"name","nameLocation":"14681:4:14","nodeType":"VariableDeclaration","scope":12466,"src":"14665:20:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12458,"name":"string","nodeType":"ElementaryTypeName","src":"14665:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12461,"mutability":"mutable","name":"defaultValue","nameLocation":"14703:12:14","nodeType":"VariableDeclaration","scope":12466,"src":"14687:28:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12460,"name":"string","nodeType":"ElementaryTypeName","src":"14687:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"14664:52:14"},"returnParameters":{"id":12465,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12464,"mutability":"mutable","name":"value","nameLocation":"14754:5:14","nodeType":"VariableDeclaration","scope":12466,"src":"14740:19:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12463,"name":"string","nodeType":"ElementaryTypeName","src":"14740:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"14739:21:14"},"scope":15270,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":12476,"nodeType":"FunctionDefinition","src":"14953:109:14","nodes":[],"documentation":{"id":12467,"nodeType":"StructuredDocumentation","src":"14767:181:14","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:14","parameters":{"id":12472,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12469,"mutability":"mutable","name":"name","nameLocation":"14984:4:14","nodeType":"VariableDeclaration","scope":12476,"src":"14968:20:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12468,"name":"string","nodeType":"ElementaryTypeName","src":"14968:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12471,"mutability":"mutable","name":"defaultValue","nameLocation":"15005:12:14","nodeType":"VariableDeclaration","scope":12476,"src":"14990:27:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":12470,"name":"bytes","nodeType":"ElementaryTypeName","src":"14990:5:14","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"14967:51:14"},"returnParameters":{"id":12475,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12474,"mutability":"mutable","name":"value","nameLocation":"15055:5:14","nodeType":"VariableDeclaration","scope":12476,"src":"15042:18:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":12473,"name":"bytes","nodeType":"ElementaryTypeName","src":"15042:5:14","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"15041:20:14"},"scope":15270,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":12490,"nodeType":"FunctionDefinition","src":"15287:158:14","nodes":[],"documentation":{"id":12477,"nodeType":"StructuredDocumentation","src":"15068:214:14","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:14","parameters":{"id":12485,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12479,"mutability":"mutable","name":"name","nameLocation":"15318:4:14","nodeType":"VariableDeclaration","scope":12490,"src":"15302:20:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12478,"name":"string","nodeType":"ElementaryTypeName","src":"15302:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12481,"mutability":"mutable","name":"delim","nameLocation":"15340:5:14","nodeType":"VariableDeclaration","scope":12490,"src":"15324:21:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12480,"name":"string","nodeType":"ElementaryTypeName","src":"15324:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12484,"mutability":"mutable","name":"defaultValue","nameLocation":"15363:12:14","nodeType":"VariableDeclaration","scope":12490,"src":"15347:28:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_calldata_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":12482,"name":"bool","nodeType":"ElementaryTypeName","src":"15347:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":12483,"nodeType":"ArrayTypeName","src":"15347:6:14","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"}],"src":"15301:75:14"},"returnParameters":{"id":12489,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12488,"mutability":"mutable","name":"value","nameLocation":"15438:5:14","nodeType":"VariableDeclaration","scope":12490,"src":"15424:19:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":12486,"name":"bool","nodeType":"ElementaryTypeName","src":"15424:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":12487,"nodeType":"ArrayTypeName","src":"15424:6:14","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"}],"src":"15423:21:14"},"scope":15270,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":12504,"nodeType":"FunctionDefinition","src":"15673:164:14","nodes":[],"documentation":{"id":12491,"nodeType":"StructuredDocumentation","src":"15451:217:14","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:14","parameters":{"id":12499,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12493,"mutability":"mutable","name":"name","nameLocation":"15704:4:14","nodeType":"VariableDeclaration","scope":12504,"src":"15688:20:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12492,"name":"string","nodeType":"ElementaryTypeName","src":"15688:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12495,"mutability":"mutable","name":"delim","nameLocation":"15726:5:14","nodeType":"VariableDeclaration","scope":12504,"src":"15710:21:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12494,"name":"string","nodeType":"ElementaryTypeName","src":"15710:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12498,"mutability":"mutable","name":"defaultValue","nameLocation":"15752:12:14","nodeType":"VariableDeclaration","scope":12504,"src":"15733:31:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":12496,"name":"uint256","nodeType":"ElementaryTypeName","src":"15733:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":12497,"nodeType":"ArrayTypeName","src":"15733:9:14","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"15687:78:14"},"returnParameters":{"id":12503,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12502,"mutability":"mutable","name":"value","nameLocation":"15830:5:14","nodeType":"VariableDeclaration","scope":12504,"src":"15813:22:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":12500,"name":"uint256","nodeType":"ElementaryTypeName","src":"15813:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":12501,"nodeType":"ArrayTypeName","src":"15813:9:14","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"15812:24:14"},"scope":15270,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":12518,"nodeType":"FunctionDefinition","src":"16064:162:14","nodes":[],"documentation":{"id":12505,"nodeType":"StructuredDocumentation","src":"15843:216:14","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:14","parameters":{"id":12513,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12507,"mutability":"mutable","name":"name","nameLocation":"16095:4:14","nodeType":"VariableDeclaration","scope":12518,"src":"16079:20:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12506,"name":"string","nodeType":"ElementaryTypeName","src":"16079:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12509,"mutability":"mutable","name":"delim","nameLocation":"16117:5:14","nodeType":"VariableDeclaration","scope":12518,"src":"16101:21:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12508,"name":"string","nodeType":"ElementaryTypeName","src":"16101:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12512,"mutability":"mutable","name":"defaultValue","nameLocation":"16142:12:14","nodeType":"VariableDeclaration","scope":12518,"src":"16124:30:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_calldata_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":12510,"name":"int256","nodeType":"ElementaryTypeName","src":"16124:6:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":12511,"nodeType":"ArrayTypeName","src":"16124:8:14","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"16078:77:14"},"returnParameters":{"id":12517,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12516,"mutability":"mutable","name":"value","nameLocation":"16219:5:14","nodeType":"VariableDeclaration","scope":12518,"src":"16203:21:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":12514,"name":"int256","nodeType":"ElementaryTypeName","src":"16203:6:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":12515,"nodeType":"ArrayTypeName","src":"16203:8:14","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"16202:23:14"},"scope":15270,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":12526,"nodeType":"FunctionDefinition","src":"16374:85:14","nodes":[],"documentation":{"id":12519,"nodeType":"StructuredDocumentation","src":"16232:137:14","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:14","parameters":{"id":12522,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12521,"mutability":"mutable","name":"name","nameLocation":"16409:4:14","nodeType":"VariableDeclaration","scope":12526,"src":"16393:20:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12520,"name":"string","nodeType":"ElementaryTypeName","src":"16393:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"16392:22:14"},"returnParameters":{"id":12525,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12524,"mutability":"mutable","name":"value","nameLocation":"16452:5:14","nodeType":"VariableDeclaration","scope":12526,"src":"16438:19:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12523,"name":"string","nodeType":"ElementaryTypeName","src":"16438:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"16437:21:14"},"scope":15270,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":12537,"nodeType":"FunctionDefinition","src":"16641:110:14","nodes":[],"documentation":{"id":12527,"nodeType":"StructuredDocumentation","src":"16465:171:14","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:14","parameters":{"id":12532,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12529,"mutability":"mutable","name":"name","nameLocation":"16676:4:14","nodeType":"VariableDeclaration","scope":12537,"src":"16660:20:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12528,"name":"string","nodeType":"ElementaryTypeName","src":"16660:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12531,"mutability":"mutable","name":"delim","nameLocation":"16698:5:14","nodeType":"VariableDeclaration","scope":12537,"src":"16682:21:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12530,"name":"string","nodeType":"ElementaryTypeName","src":"16682:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"16659:45:14"},"returnParameters":{"id":12536,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12535,"mutability":"mutable","name":"value","nameLocation":"16744:5:14","nodeType":"VariableDeclaration","scope":12537,"src":"16728:21:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":12533,"name":"string","nodeType":"ElementaryTypeName","src":"16728:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":12534,"nodeType":"ArrayTypeName","src":"16728:8:14","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"16727:23:14"},"scope":15270,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":12545,"nodeType":"FunctionDefinition","src":"16900:77:14","nodes":[],"documentation":{"id":12538,"nodeType":"StructuredDocumentation","src":"16757:138:14","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:14","parameters":{"id":12541,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12540,"mutability":"mutable","name":"name","nameLocation":"16933:4:14","nodeType":"VariableDeclaration","scope":12545,"src":"16917:20:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12539,"name":"string","nodeType":"ElementaryTypeName","src":"16917:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"16916:22:14"},"returnParameters":{"id":12544,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12543,"mutability":"mutable","name":"value","nameLocation":"16970:5:14","nodeType":"VariableDeclaration","scope":12545,"src":"16962:13:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12542,"name":"uint256","nodeType":"ElementaryTypeName","src":"16962:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16961:15:14"},"scope":15270,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":12556,"nodeType":"FunctionDefinition","src":"17160:109:14","nodes":[],"documentation":{"id":12546,"nodeType":"StructuredDocumentation","src":"16983:172:14","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:14","parameters":{"id":12551,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12548,"mutability":"mutable","name":"name","nameLocation":"17193:4:14","nodeType":"VariableDeclaration","scope":12556,"src":"17177:20:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12547,"name":"string","nodeType":"ElementaryTypeName","src":"17177:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12550,"mutability":"mutable","name":"delim","nameLocation":"17215:5:14","nodeType":"VariableDeclaration","scope":12556,"src":"17199:21:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12549,"name":"string","nodeType":"ElementaryTypeName","src":"17199:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"17176:45:14"},"returnParameters":{"id":12555,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12554,"mutability":"mutable","name":"value","nameLocation":"17262:5:14","nodeType":"VariableDeclaration","scope":12556,"src":"17245:22:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":12552,"name":"uint256","nodeType":"ElementaryTypeName","src":"17245:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":12553,"nodeType":"ArrayTypeName","src":"17245:9:14","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"17244:24:14"},"scope":15270,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":12565,"nodeType":"FunctionDefinition","src":"17346:77:14","nodes":[],"documentation":{"id":12557,"nodeType":"StructuredDocumentation","src":"17275:66:14","text":"Returns true if `forge` command was executed in given context."},"functionSelector":"64af255d","implemented":false,"kind":"function","modifiers":[],"name":"isContext","nameLocation":"17355:9:14","parameters":{"id":12561,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12560,"mutability":"mutable","name":"context","nameLocation":"17378:7:14","nodeType":"VariableDeclaration","scope":12565,"src":"17365:20:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ForgeContext_$12101","typeString":"enum VmSafe.ForgeContext"},"typeName":{"id":12559,"nodeType":"UserDefinedTypeName","pathNode":{"id":12558,"name":"ForgeContext","nameLocations":["17365:12:14"],"nodeType":"IdentifierPath","referencedDeclaration":12101,"src":"17365:12:14"},"referencedDeclaration":12101,"src":"17365:12:14","typeDescriptions":{"typeIdentifier":"t_enum$_ForgeContext_$12101","typeString":"enum VmSafe.ForgeContext"}},"visibility":"internal"}],"src":"17364:22:14"},"returnParameters":{"id":12564,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12563,"mutability":"mutable","name":"result","nameLocation":"17415:6:14","nodeType":"VariableDeclaration","scope":12565,"src":"17410:11:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12562,"name":"bool","nodeType":"ElementaryTypeName","src":"17410:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"17409:13:14"},"scope":15270,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":12573,"nodeType":"FunctionDefinition","src":"17465:70:14","nodes":[],"documentation":{"id":12566,"nodeType":"StructuredDocumentation","src":"17429:31:14","text":"Sets environment variables."},"functionSelector":"3d5923ee","implemented":false,"kind":"function","modifiers":[],"name":"setEnv","nameLocation":"17474:6:14","parameters":{"id":12571,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12568,"mutability":"mutable","name":"name","nameLocation":"17497:4:14","nodeType":"VariableDeclaration","scope":12573,"src":"17481:20:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12567,"name":"string","nodeType":"ElementaryTypeName","src":"17481:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12570,"mutability":"mutable","name":"value","nameLocation":"17519:5:14","nodeType":"VariableDeclaration","scope":12573,"src":"17503:21:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12569,"name":"string","nodeType":"ElementaryTypeName","src":"17503:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"17480:45:14"},"returnParameters":{"id":12572,"nodeType":"ParameterList","parameters":[],"src":"17534:0:14"},"scope":15270,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":12585,"nodeType":"FunctionDefinition","src":"17667:109:14","nodes":[],"documentation":{"id":12574,"nodeType":"StructuredDocumentation","src":"17571:91:14","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:14","parameters":{"id":12577,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12576,"mutability":"mutable","name":"target","nameLocation":"17693:6:14","nodeType":"VariableDeclaration","scope":12585,"src":"17685:14:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12575,"name":"address","nodeType":"ElementaryTypeName","src":"17685:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"17684:16:14"},"returnParameters":{"id":12584,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12580,"mutability":"mutable","name":"readSlots","nameLocation":"17736:9:14","nodeType":"VariableDeclaration","scope":12585,"src":"17719:26:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":12578,"name":"bytes32","nodeType":"ElementaryTypeName","src":"17719:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":12579,"nodeType":"ArrayTypeName","src":"17719:9:14","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":12583,"mutability":"mutable","name":"writeSlots","nameLocation":"17764:10:14","nodeType":"VariableDeclaration","scope":12585,"src":"17747:27:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":12581,"name":"bytes32","nodeType":"ElementaryTypeName","src":"17747:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":12582,"nodeType":"ArrayTypeName","src":"17747:9:14","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"17718:57:14"},"scope":15270,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":12593,"nodeType":"FunctionDefinition","src":"17832:74:14","nodes":[],"documentation":{"id":12586,"nodeType":"StructuredDocumentation","src":"17782:45:14","text":"Gets the address for a given private key."},"functionSelector":"ffa18649","implemented":false,"kind":"function","modifiers":[],"name":"addr","nameLocation":"17841:4:14","parameters":{"id":12589,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12588,"mutability":"mutable","name":"privateKey","nameLocation":"17854:10:14","nodeType":"VariableDeclaration","scope":12593,"src":"17846:18:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12587,"name":"uint256","nodeType":"ElementaryTypeName","src":"17846:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17845:20:14"},"returnParameters":{"id":12592,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12591,"mutability":"mutable","name":"keyAddr","nameLocation":"17897:7:14","nodeType":"VariableDeclaration","scope":12593,"src":"17889:15:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12590,"name":"address","nodeType":"ElementaryTypeName","src":"17889:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"17888:17:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":12610,"nodeType":"FunctionDefinition","src":"17969:160:14","nodes":[],"documentation":{"id":12594,"nodeType":"StructuredDocumentation","src":"17912:52:14","text":"Gets all the logs according to specified filter."},"functionSelector":"35e1349b","implemented":false,"kind":"function","modifiers":[],"name":"eth_getLogs","nameLocation":"17978:11:14","parameters":{"id":12604,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12596,"mutability":"mutable","name":"fromBlock","nameLocation":"17998:9:14","nodeType":"VariableDeclaration","scope":12610,"src":"17990:17:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12595,"name":"uint256","nodeType":"ElementaryTypeName","src":"17990:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":12598,"mutability":"mutable","name":"toBlock","nameLocation":"18017:7:14","nodeType":"VariableDeclaration","scope":12610,"src":"18009:15:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12597,"name":"uint256","nodeType":"ElementaryTypeName","src":"18009:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":12600,"mutability":"mutable","name":"target","nameLocation":"18034:6:14","nodeType":"VariableDeclaration","scope":12610,"src":"18026:14:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12599,"name":"address","nodeType":"ElementaryTypeName","src":"18026:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12603,"mutability":"mutable","name":"topics","nameLocation":"18061:6:14","nodeType":"VariableDeclaration","scope":12610,"src":"18042:25:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_calldata_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":12601,"name":"bytes32","nodeType":"ElementaryTypeName","src":"18042:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":12602,"nodeType":"ArrayTypeName","src":"18042:9:14","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"17989:79:14"},"returnParameters":{"id":12609,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12608,"mutability":"mutable","name":"logs","nameLocation":"18123:4:14","nodeType":"VariableDeclaration","scope":12610,"src":"18103:24:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_EthGetLogs_$12137_memory_ptr_$dyn_memory_ptr","typeString":"struct VmSafe.EthGetLogs[]"},"typeName":{"baseType":{"id":12606,"nodeType":"UserDefinedTypeName","pathNode":{"id":12605,"name":"EthGetLogs","nameLocations":["18103:10:14"],"nodeType":"IdentifierPath","referencedDeclaration":12137,"src":"18103:10:14"},"referencedDeclaration":12137,"src":"18103:10:14","typeDescriptions":{"typeIdentifier":"t_struct$_EthGetLogs_$12137_storage_ptr","typeString":"struct VmSafe.EthGetLogs"}},"id":12607,"nodeType":"ArrayTypeName","src":"18103:12:14","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_EthGetLogs_$12137_storage_$dyn_storage_ptr","typeString":"struct VmSafe.EthGetLogs[]"}},"visibility":"internal"}],"src":"18102:26:14"},"scope":15270,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":12616,"nodeType":"FunctionDefinition","src":"18466:70:14","nodes":[],"documentation":{"id":12611,"nodeType":"StructuredDocumentation","src":"18135:326:14","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:14","parameters":{"id":12612,"nodeType":"ParameterList","parameters":[],"src":"18489:2:14"},"returnParameters":{"id":12615,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12614,"mutability":"mutable","name":"blobBaseFee","nameLocation":"18523:11:14","nodeType":"VariableDeclaration","scope":12616,"src":"18515:19:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12613,"name":"uint256","nodeType":"ElementaryTypeName","src":"18515:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18514:21:14"},"scope":15270,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":12622,"nodeType":"FunctionDefinition","src":"18851:65:14","nodes":[],"documentation":{"id":12617,"nodeType":"StructuredDocumentation","src":"18542:304:14","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:14","parameters":{"id":12618,"nodeType":"ParameterList","parameters":[],"src":"18874:2:14"},"returnParameters":{"id":12621,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12620,"mutability":"mutable","name":"height","nameLocation":"18908:6:14","nodeType":"VariableDeclaration","scope":12622,"src":"18900:14:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12619,"name":"uint256","nodeType":"ElementaryTypeName","src":"18900:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18899:16:14"},"scope":15270,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":12628,"nodeType":"FunctionDefinition","src":"19240:71:14","nodes":[],"documentation":{"id":12623,"nodeType":"StructuredDocumentation","src":"18922:313:14","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:14","parameters":{"id":12624,"nodeType":"ParameterList","parameters":[],"src":"19266:2:14"},"returnParameters":{"id":12627,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12626,"mutability":"mutable","name":"timestamp","nameLocation":"19300:9:14","nodeType":"VariableDeclaration","scope":12628,"src":"19292:17:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12625,"name":"uint256","nodeType":"ElementaryTypeName","src":"19292:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19291:19:14"},"scope":15270,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":12642,"nodeType":"FunctionDefinition","src":"19404:146:14","nodes":[],"documentation":{"id":12629,"nodeType":"StructuredDocumentation","src":"19317:82:14","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:14","parameters":{"id":12634,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12631,"mutability":"mutable","name":"target","nameLocation":"19446:6:14","nodeType":"VariableDeclaration","scope":12642,"src":"19438:14:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12630,"name":"address","nodeType":"ElementaryTypeName","src":"19438:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12633,"mutability":"mutable","name":"elementSlot","nameLocation":"19462:11:14","nodeType":"VariableDeclaration","scope":12642,"src":"19454:19:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12632,"name":"bytes32","nodeType":"ElementaryTypeName","src":"19454:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"19437:37:14"},"returnParameters":{"id":12641,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12636,"mutability":"mutable","name":"found","nameLocation":"19514:5:14","nodeType":"VariableDeclaration","scope":12642,"src":"19509:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12635,"name":"bool","nodeType":"ElementaryTypeName","src":"19509:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":12638,"mutability":"mutable","name":"key","nameLocation":"19529:3:14","nodeType":"VariableDeclaration","scope":12642,"src":"19521:11:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12637,"name":"bytes32","nodeType":"ElementaryTypeName","src":"19521:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":12640,"mutability":"mutable","name":"parent","nameLocation":"19542:6:14","nodeType":"VariableDeclaration","scope":12642,"src":"19534:14:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12639,"name":"bytes32","nodeType":"ElementaryTypeName","src":"19534:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"19508:41:14"},"scope":15270,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":12652,"nodeType":"FunctionDefinition","src":"19647:97:14","nodes":[],"documentation":{"id":12643,"nodeType":"StructuredDocumentation","src":"19556:86:14","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:14","parameters":{"id":12648,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12645,"mutability":"mutable","name":"target","nameLocation":"19681:6:14","nodeType":"VariableDeclaration","scope":12652,"src":"19673:14:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12644,"name":"address","nodeType":"ElementaryTypeName","src":"19673:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12647,"mutability":"mutable","name":"mappingSlot","nameLocation":"19697:11:14","nodeType":"VariableDeclaration","scope":12652,"src":"19689:19:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12646,"name":"bytes32","nodeType":"ElementaryTypeName","src":"19689:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"19672:37:14"},"returnParameters":{"id":12651,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12650,"mutability":"mutable","name":"length","nameLocation":"19736:6:14","nodeType":"VariableDeclaration","scope":12652,"src":"19728:14:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12649,"name":"uint256","nodeType":"ElementaryTypeName","src":"19728:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19727:16:14"},"scope":15270,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":12664,"nodeType":"FunctionDefinition","src":"19948:109:14","nodes":[],"documentation":{"id":12653,"nodeType":"StructuredDocumentation","src":"19750:193:14","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:14","parameters":{"id":12660,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12655,"mutability":"mutable","name":"target","nameLocation":"19982:6:14","nodeType":"VariableDeclaration","scope":12664,"src":"19974:14:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12654,"name":"address","nodeType":"ElementaryTypeName","src":"19974:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12657,"mutability":"mutable","name":"mappingSlot","nameLocation":"19998:11:14","nodeType":"VariableDeclaration","scope":12664,"src":"19990:19:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12656,"name":"bytes32","nodeType":"ElementaryTypeName","src":"19990:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":12659,"mutability":"mutable","name":"idx","nameLocation":"20019:3:14","nodeType":"VariableDeclaration","scope":12664,"src":"20011:11:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12658,"name":"uint256","nodeType":"ElementaryTypeName","src":"20011:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19973:50:14"},"returnParameters":{"id":12663,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12662,"mutability":"mutable","name":"value","nameLocation":"20050:5:14","nodeType":"VariableDeclaration","scope":12664,"src":"20042:13:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12661,"name":"bytes32","nodeType":"ElementaryTypeName","src":"20042:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"20041:15:14"},"scope":15270,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":12672,"nodeType":"FunctionDefinition","src":"20101:72:14","nodes":[],"documentation":{"id":12665,"nodeType":"StructuredDocumentation","src":"20063:33:14","text":"Gets the nonce of an account."},"functionSelector":"2d0335ab","implemented":false,"kind":"function","modifiers":[],"name":"getNonce","nameLocation":"20110:8:14","parameters":{"id":12668,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12667,"mutability":"mutable","name":"account","nameLocation":"20127:7:14","nodeType":"VariableDeclaration","scope":12672,"src":"20119:15:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12666,"name":"address","nodeType":"ElementaryTypeName","src":"20119:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"20118:17:14"},"returnParameters":{"id":12671,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12670,"mutability":"mutable","name":"nonce","nameLocation":"20166:5:14","nodeType":"VariableDeclaration","scope":12672,"src":"20159:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":12669,"name":"uint64","nodeType":"ElementaryTypeName","src":"20159:6:14","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"20158:14:14"},"scope":15270,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":12680,"nodeType":"FunctionDefinition","src":"20215:64:14","nodes":[],"documentation":{"id":12673,"nodeType":"StructuredDocumentation","src":"20179:31:14","text":"Gets all the recorded logs."},"functionSelector":"191553a4","implemented":false,"kind":"function","modifiers":[],"name":"getRecordedLogs","nameLocation":"20224:15:14","parameters":{"id":12674,"nodeType":"ParameterList","parameters":[],"src":"20239:2:14"},"returnParameters":{"id":12679,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12678,"mutability":"mutable","name":"logs","nameLocation":"20273:4:14","nodeType":"VariableDeclaration","scope":12680,"src":"20260:17:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Log_$12110_memory_ptr_$dyn_memory_ptr","typeString":"struct VmSafe.Log[]"},"typeName":{"baseType":{"id":12676,"nodeType":"UserDefinedTypeName","pathNode":{"id":12675,"name":"Log","nameLocations":["20260:3:14"],"nodeType":"IdentifierPath","referencedDeclaration":12110,"src":"20260:3:14"},"referencedDeclaration":12110,"src":"20260:3:14","typeDescriptions":{"typeIdentifier":"t_struct$_Log_$12110_storage_ptr","typeString":"struct VmSafe.Log"}},"id":12677,"nodeType":"ArrayTypeName","src":"20260:5:14","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Log_$12110_storage_$dyn_storage_ptr","typeString":"struct VmSafe.Log[]"}},"visibility":"internal"}],"src":"20259:19:14"},"scope":15270,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":12687,"nodeType":"FunctionDefinition","src":"20329:62:14","nodes":[],"documentation":{"id":12681,"nodeType":"StructuredDocumentation","src":"20285:39:14","text":"Gets the gas used in the last call."},"functionSelector":"2b589b28","implemented":false,"kind":"function","modifiers":[],"name":"lastCallGas","nameLocation":"20338:11:14","parameters":{"id":12682,"nodeType":"ParameterList","parameters":[],"src":"20349:2:14"},"returnParameters":{"id":12686,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12685,"mutability":"mutable","name":"gas","nameLocation":"20386:3:14","nodeType":"VariableDeclaration","scope":12687,"src":"20375:14:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Gas_$12247_memory_ptr","typeString":"struct VmSafe.Gas"},"typeName":{"id":12684,"nodeType":"UserDefinedTypeName","pathNode":{"id":12683,"name":"Gas","nameLocations":["20375:3:14"],"nodeType":"IdentifierPath","referencedDeclaration":12247,"src":"20375:3:14"},"referencedDeclaration":12247,"src":"20375:3:14","typeDescriptions":{"typeIdentifier":"t_struct$_Gas_$12247_storage_ptr","typeString":"struct VmSafe.Gas"}},"visibility":"internal"}],"src":"20374:16:14"},"scope":15270,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":12697,"nodeType":"FunctionDefinition","src":"20443:81:14","nodes":[],"documentation":{"id":12688,"nodeType":"StructuredDocumentation","src":"20397:41:14","text":"Loads a storage slot from an address."},"functionSelector":"667f9d70","implemented":false,"kind":"function","modifiers":[],"name":"load","nameLocation":"20452:4:14","parameters":{"id":12693,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12690,"mutability":"mutable","name":"target","nameLocation":"20465:6:14","nodeType":"VariableDeclaration","scope":12697,"src":"20457:14:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12689,"name":"address","nodeType":"ElementaryTypeName","src":"20457:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12692,"mutability":"mutable","name":"slot","nameLocation":"20481:4:14","nodeType":"VariableDeclaration","scope":12697,"src":"20473:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12691,"name":"bytes32","nodeType":"ElementaryTypeName","src":"20473:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"20456:30:14"},"returnParameters":{"id":12696,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12695,"mutability":"mutable","name":"data","nameLocation":"20518:4:14","nodeType":"VariableDeclaration","scope":12697,"src":"20510:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12694,"name":"bytes32","nodeType":"ElementaryTypeName","src":"20510:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"20509:14:14"},"scope":15270,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":12701,"nodeType":"FunctionDefinition","src":"20615:37:14","nodes":[],"documentation":{"id":12698,"nodeType":"StructuredDocumentation","src":"20530:80:14","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:14","parameters":{"id":12699,"nodeType":"ParameterList","parameters":[],"src":"20640:2:14"},"returnParameters":{"id":12700,"nodeType":"ParameterList","parameters":[],"src":"20651:0:14"},"scope":15270,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":12705,"nodeType":"FunctionDefinition","src":"20704:27:14","nodes":[],"documentation":{"id":12702,"nodeType":"StructuredDocumentation","src":"20658:41:14","text":"Records all storage reads and writes."},"functionSelector":"266cf109","implemented":false,"kind":"function","modifiers":[],"name":"record","nameLocation":"20713:6:14","parameters":{"id":12703,"nodeType":"ParameterList","parameters":[],"src":"20719:2:14"},"returnParameters":{"id":12704,"nodeType":"ParameterList","parameters":[],"src":"20730:0:14"},"scope":15270,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":12709,"nodeType":"FunctionDefinition","src":"20778:31:14","nodes":[],"documentation":{"id":12706,"nodeType":"StructuredDocumentation","src":"20737:36:14","text":"Record all the transaction logs."},"functionSelector":"41af2f52","implemented":false,"kind":"function","modifiers":[],"name":"recordLogs","nameLocation":"20787:10:14","parameters":{"id":12707,"nodeType":"ParameterList","parameters":[],"src":"20797:2:14"},"returnParameters":{"id":12708,"nodeType":"ParameterList","parameters":[],"src":"20808:0:14"},"scope":15270,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":12713,"nodeType":"FunctionDefinition","src":"20899:38:14","nodes":[],"documentation":{"id":12710,"nodeType":"StructuredDocumentation","src":"20815:79:14","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:14","parameters":{"id":12711,"nodeType":"ParameterList","parameters":[],"src":"20925:2:14"},"returnParameters":{"id":12712,"nodeType":"ParameterList","parameters":[],"src":"20936:0:14"},"scope":15270,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":12723,"nodeType":"FunctionDefinition","src":"21014:98:14","nodes":[],"documentation":{"id":12714,"nodeType":"StructuredDocumentation","src":"20943:66:14","text":"Performs an Ethereum JSON-RPC request to the current fork URL."},"functionSelector":"1206c8a8","implemented":false,"kind":"function","modifiers":[],"name":"rpc","nameLocation":"21023:3:14","parameters":{"id":12719,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12716,"mutability":"mutable","name":"method","nameLocation":"21043:6:14","nodeType":"VariableDeclaration","scope":12723,"src":"21027:22:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12715,"name":"string","nodeType":"ElementaryTypeName","src":"21027:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12718,"mutability":"mutable","name":"params","nameLocation":"21067:6:14","nodeType":"VariableDeclaration","scope":12723,"src":"21051:22:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12717,"name":"string","nodeType":"ElementaryTypeName","src":"21051:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"21026:48:14"},"returnParameters":{"id":12722,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12721,"mutability":"mutable","name":"data","nameLocation":"21106:4:14","nodeType":"VariableDeclaration","scope":12723,"src":"21093:17:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":12720,"name":"bytes","nodeType":"ElementaryTypeName","src":"21093:5:14","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"21092:19:14"},"scope":15270,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":12735,"nodeType":"FunctionDefinition","src":"21186:99:14","nodes":[],"documentation":{"id":12724,"nodeType":"StructuredDocumentation","src":"21118:63:14","text":"Signs `digest` with `privateKey` using the secp256r1 curve."},"functionSelector":"83211b40","implemented":false,"kind":"function","modifiers":[],"name":"signP256","nameLocation":"21195:8:14","parameters":{"id":12729,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12726,"mutability":"mutable","name":"privateKey","nameLocation":"21212:10:14","nodeType":"VariableDeclaration","scope":12735,"src":"21204:18:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12725,"name":"uint256","nodeType":"ElementaryTypeName","src":"21204:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":12728,"mutability":"mutable","name":"digest","nameLocation":"21232:6:14","nodeType":"VariableDeclaration","scope":12735,"src":"21224:14:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12727,"name":"bytes32","nodeType":"ElementaryTypeName","src":"21224:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"21203:36:14"},"returnParameters":{"id":12734,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12731,"mutability":"mutable","name":"r","nameLocation":"21271:1:14","nodeType":"VariableDeclaration","scope":12735,"src":"21263:9:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12730,"name":"bytes32","nodeType":"ElementaryTypeName","src":"21263:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":12733,"mutability":"mutable","name":"s","nameLocation":"21282:1:14","nodeType":"VariableDeclaration","scope":12735,"src":"21274:9:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12732,"name":"bytes32","nodeType":"ElementaryTypeName","src":"21274:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"21262:22:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":12749,"nodeType":"FunctionDefinition","src":"21359:104:14","nodes":[],"documentation":{"id":12736,"nodeType":"StructuredDocumentation","src":"21291:63:14","text":"Signs `digest` with `privateKey` using the secp256k1 curve."},"functionSelector":"e341eaa4","implemented":false,"kind":"function","modifiers":[],"name":"sign","nameLocation":"21368:4:14","parameters":{"id":12741,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12738,"mutability":"mutable","name":"privateKey","nameLocation":"21381:10:14","nodeType":"VariableDeclaration","scope":12749,"src":"21373:18:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12737,"name":"uint256","nodeType":"ElementaryTypeName","src":"21373:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":12740,"mutability":"mutable","name":"digest","nameLocation":"21401:6:14","nodeType":"VariableDeclaration","scope":12749,"src":"21393:14:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12739,"name":"bytes32","nodeType":"ElementaryTypeName","src":"21393:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"21372:36:14"},"returnParameters":{"id":12748,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12743,"mutability":"mutable","name":"v","nameLocation":"21438:1:14","nodeType":"VariableDeclaration","scope":12749,"src":"21432:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":12742,"name":"uint8","nodeType":"ElementaryTypeName","src":"21432:5:14","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":12745,"mutability":"mutable","name":"r","nameLocation":"21449:1:14","nodeType":"VariableDeclaration","scope":12749,"src":"21441:9:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12744,"name":"bytes32","nodeType":"ElementaryTypeName","src":"21441:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":12747,"mutability":"mutable","name":"s","nameLocation":"21460:1:14","nodeType":"VariableDeclaration","scope":12749,"src":"21452:9:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12746,"name":"bytes32","nodeType":"ElementaryTypeName","src":"21452:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"21431:31:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":12761,"nodeType":"FunctionDefinition","src":"21902:84:14","nodes":[],"documentation":{"id":12750,"nodeType":"StructuredDocumentation","src":"21469:428:14","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:14","parameters":{"id":12753,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12752,"mutability":"mutable","name":"digest","nameLocation":"21924:6:14","nodeType":"VariableDeclaration","scope":12761,"src":"21916:14:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12751,"name":"bytes32","nodeType":"ElementaryTypeName","src":"21916:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"21915:16:14"},"returnParameters":{"id":12760,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12755,"mutability":"mutable","name":"v","nameLocation":"21961:1:14","nodeType":"VariableDeclaration","scope":12761,"src":"21955:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":12754,"name":"uint8","nodeType":"ElementaryTypeName","src":"21955:5:14","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":12757,"mutability":"mutable","name":"r","nameLocation":"21972:1:14","nodeType":"VariableDeclaration","scope":12761,"src":"21964:9:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12756,"name":"bytes32","nodeType":"ElementaryTypeName","src":"21964:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":12759,"mutability":"mutable","name":"s","nameLocation":"21983:1:14","nodeType":"VariableDeclaration","scope":12761,"src":"21975:9:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12758,"name":"bytes32","nodeType":"ElementaryTypeName","src":"21975:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"21954:31:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":12775,"nodeType":"FunctionDefinition","src":"22163:100:14","nodes":[],"documentation":{"id":12762,"nodeType":"StructuredDocumentation","src":"21992:166:14","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:14","parameters":{"id":12767,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12764,"mutability":"mutable","name":"signer","nameLocation":"22185:6:14","nodeType":"VariableDeclaration","scope":12775,"src":"22177:14:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12763,"name":"address","nodeType":"ElementaryTypeName","src":"22177:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12766,"mutability":"mutable","name":"digest","nameLocation":"22201:6:14","nodeType":"VariableDeclaration","scope":12775,"src":"22193:14:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12765,"name":"bytes32","nodeType":"ElementaryTypeName","src":"22193:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"22176:32:14"},"returnParameters":{"id":12774,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12769,"mutability":"mutable","name":"v","nameLocation":"22238:1:14","nodeType":"VariableDeclaration","scope":12775,"src":"22232:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":12768,"name":"uint8","nodeType":"ElementaryTypeName","src":"22232:5:14","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":12771,"mutability":"mutable","name":"r","nameLocation":"22249:1:14","nodeType":"VariableDeclaration","scope":12775,"src":"22241:9:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12770,"name":"bytes32","nodeType":"ElementaryTypeName","src":"22241:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":12773,"mutability":"mutable","name":"s","nameLocation":"22260:1:14","nodeType":"VariableDeclaration","scope":12775,"src":"22252:9:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12772,"name":"bytes32","nodeType":"ElementaryTypeName","src":"22252:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"22231:31:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":12779,"nodeType":"FunctionDefinition","src":"22331:42:14","nodes":[],"documentation":{"id":12776,"nodeType":"StructuredDocumentation","src":"22269:57:14","text":"Starts recording all map SSTOREs for later retrieval."},"functionSelector":"3e9705c0","implemented":false,"kind":"function","modifiers":[],"name":"startMappingRecording","nameLocation":"22340:21:14","parameters":{"id":12777,"nodeType":"ParameterList","parameters":[],"src":"22361:2:14"},"returnParameters":{"id":12778,"nodeType":"ParameterList","parameters":[],"src":"22372:0:14"},"scope":15270,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":12783,"nodeType":"FunctionDefinition","src":"22517:44:14","nodes":[],"documentation":{"id":12780,"nodeType":"StructuredDocumentation","src":"22379:133:14","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:14","parameters":{"id":12781,"nodeType":"ParameterList","parameters":[],"src":"22549:2:14"},"returnParameters":{"id":12782,"nodeType":"ParameterList","parameters":[],"src":"22560:0:14"},"scope":15270,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":12791,"nodeType":"FunctionDefinition","src":"22669:92:14","nodes":[],"documentation":{"id":12784,"nodeType":"StructuredDocumentation","src":"22567:97:14","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:14","parameters":{"id":12785,"nodeType":"ParameterList","parameters":[],"src":"22700:2:14"},"returnParameters":{"id":12790,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12789,"mutability":"mutable","name":"accountAccesses","nameLocation":"22744:15:14","nodeType":"VariableDeclaration","scope":12791,"src":"22721:38:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AccountAccess_$12221_memory_ptr_$dyn_memory_ptr","typeString":"struct VmSafe.AccountAccess[]"},"typeName":{"baseType":{"id":12787,"nodeType":"UserDefinedTypeName","pathNode":{"id":12786,"name":"AccountAccess","nameLocations":["22721:13:14"],"nodeType":"IdentifierPath","referencedDeclaration":12221,"src":"22721:13:14"},"referencedDeclaration":12221,"src":"22721:13:14","typeDescriptions":{"typeIdentifier":"t_struct$_AccountAccess_$12221_storage_ptr","typeString":"struct VmSafe.AccountAccess"}},"id":12788,"nodeType":"ArrayTypeName","src":"22721:15:14","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AccountAccess_$12221_storage_$dyn_storage_ptr","typeString":"struct VmSafe.AccountAccess[]"}},"visibility":"internal"}],"src":"22720:40:14"},"scope":15270,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":12795,"nodeType":"FunctionDefinition","src":"22857:41:14","nodes":[],"documentation":{"id":12792,"nodeType":"StructuredDocumentation","src":"22767:85:14","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:14","parameters":{"id":12793,"nodeType":"ParameterList","parameters":[],"src":"22886:2:14"},"returnParameters":{"id":12794,"nodeType":"ParameterList","parameters":[],"src":"22897:0:14"},"scope":15270,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":12801,"nodeType":"FunctionDefinition","src":"23097:50:14","nodes":[],"documentation":{"id":12796,"nodeType":"StructuredDocumentation","src":"22941:151:14","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:14","parameters":{"id":12799,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12798,"mutability":"mutable","name":"path","nameLocation":"23132:4:14","nodeType":"VariableDeclaration","scope":12801,"src":"23116:20:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12797,"name":"string","nodeType":"ElementaryTypeName","src":"23116:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"23115:22:14"},"returnParameters":{"id":12800,"nodeType":"ParameterList","parameters":[],"src":"23146:0:14"},"scope":15270,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":12811,"nodeType":"FunctionDefinition","src":"23462:93:14","nodes":[],"documentation":{"id":12802,"nodeType":"StructuredDocumentation","src":"23153:304:14","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:14","parameters":{"id":12807,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12804,"mutability":"mutable","name":"from","nameLocation":"23496:4:14","nodeType":"VariableDeclaration","scope":12811,"src":"23480:20:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12803,"name":"string","nodeType":"ElementaryTypeName","src":"23480:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12806,"mutability":"mutable","name":"to","nameLocation":"23518:2:14","nodeType":"VariableDeclaration","scope":12811,"src":"23502:18:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12805,"name":"string","nodeType":"ElementaryTypeName","src":"23502:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"23479:42:14"},"returnParameters":{"id":12810,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12809,"mutability":"mutable","name":"copied","nameLocation":"23547:6:14","nodeType":"VariableDeclaration","scope":12811,"src":"23540:13:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":12808,"name":"uint64","nodeType":"ElementaryTypeName","src":"23540:6:14","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"23539:15:14"},"scope":15270,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":12819,"nodeType":"FunctionDefinition","src":"23960:66:14","nodes":[],"documentation":{"id":12812,"nodeType":"StructuredDocumentation","src":"23561:394:14","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:14","parameters":{"id":12817,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12814,"mutability":"mutable","name":"path","nameLocation":"23995:4:14","nodeType":"VariableDeclaration","scope":12819,"src":"23979:20:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12813,"name":"string","nodeType":"ElementaryTypeName","src":"23979:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12816,"mutability":"mutable","name":"recursive","nameLocation":"24006:9:14","nodeType":"VariableDeclaration","scope":12819,"src":"24001:14:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12815,"name":"bool","nodeType":"ElementaryTypeName","src":"24001:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"23978:38:14"},"returnParameters":{"id":12818,"nodeType":"ParameterList","parameters":[],"src":"24025:0:14"},"scope":15270,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":12827,"nodeType":"FunctionDefinition","src":"24121:69:14","nodes":[],"documentation":{"id":12820,"nodeType":"StructuredDocumentation","src":"24032:84:14","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:14","parameters":{"id":12823,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12822,"mutability":"mutable","name":"path","nameLocation":"24153:4:14","nodeType":"VariableDeclaration","scope":12827,"src":"24137:20:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12821,"name":"string","nodeType":"ElementaryTypeName","src":"24137:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"24136:22:14"},"returnParameters":{"id":12826,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12825,"mutability":"mutable","name":"result","nameLocation":"24182:6:14","nodeType":"VariableDeclaration","scope":12827,"src":"24177:11:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12824,"name":"bool","nodeType":"ElementaryTypeName","src":"24177:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"24176:13:14"},"scope":15270,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":12836,"nodeType":"FunctionDefinition","src":"24255:84:14","nodes":[],"documentation":{"id":12828,"nodeType":"StructuredDocumentation","src":"24196:54:14","text":"Performs a foreign function call via the terminal."},"functionSelector":"89160467","implemented":false,"kind":"function","modifiers":[],"name":"ffi","nameLocation":"24264:3:14","parameters":{"id":12832,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12831,"mutability":"mutable","name":"commandInput","nameLocation":"24286:12:14","nodeType":"VariableDeclaration","scope":12836,"src":"24268:30:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_string_calldata_ptr_$dyn_calldata_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":12829,"name":"string","nodeType":"ElementaryTypeName","src":"24268:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":12830,"nodeType":"ArrayTypeName","src":"24268:8:14","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"24267:32:14"},"returnParameters":{"id":12835,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12834,"mutability":"mutable","name":"result","nameLocation":"24331:6:14","nodeType":"VariableDeclaration","scope":12836,"src":"24318:19:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":12833,"name":"bytes","nodeType":"ElementaryTypeName","src":"24318:5:14","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"24317:21:14"},"scope":15270,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":12845,"nodeType":"FunctionDefinition","src":"24438:93:14","nodes":[],"documentation":{"id":12837,"nodeType":"StructuredDocumentation","src":"24345:88:14","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:14","parameters":{"id":12840,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12839,"mutability":"mutable","name":"path","nameLocation":"24474:4:14","nodeType":"VariableDeclaration","scope":12845,"src":"24458:20:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12838,"name":"string","nodeType":"ElementaryTypeName","src":"24458:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"24457:22:14"},"returnParameters":{"id":12844,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12843,"mutability":"mutable","name":"metadata","nameLocation":"24521:8:14","nodeType":"VariableDeclaration","scope":12845,"src":"24503:26:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_FsMetadata_$12165_memory_ptr","typeString":"struct VmSafe.FsMetadata"},"typeName":{"id":12842,"nodeType":"UserDefinedTypeName","pathNode":{"id":12841,"name":"FsMetadata","nameLocations":["24503:10:14"],"nodeType":"IdentifierPath","referencedDeclaration":12165,"src":"24503:10:14"},"referencedDeclaration":12165,"src":"24503:10:14","typeDescriptions":{"typeIdentifier":"t_struct$_FsMetadata_$12165_storage_ptr","typeString":"struct VmSafe.FsMetadata"}},"visibility":"internal"}],"src":"24502:28:14"},"scope":15270,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":12853,"nodeType":"FunctionDefinition","src":"24769:101:14","nodes":[],"documentation":{"id":12846,"nodeType":"StructuredDocumentation","src":"24537:227:14","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:14","parameters":{"id":12849,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12848,"mutability":"mutable","name":"artifactPath","nameLocation":"24802:12:14","nodeType":"VariableDeclaration","scope":12853,"src":"24786:28:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12847,"name":"string","nodeType":"ElementaryTypeName","src":"24786:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"24785:30:14"},"returnParameters":{"id":12852,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12851,"mutability":"mutable","name":"creationBytecode","nameLocation":"24852:16:14","nodeType":"VariableDeclaration","scope":12853,"src":"24839:29:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":12850,"name":"bytes","nodeType":"ElementaryTypeName","src":"24839:5:14","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"24838:31:14"},"scope":15270,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":12861,"nodeType":"FunctionDefinition","src":"25108:108:14","nodes":[],"documentation":{"id":12854,"nodeType":"StructuredDocumentation","src":"24876:227:14","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:14","parameters":{"id":12857,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12856,"mutability":"mutable","name":"artifactPath","nameLocation":"25149:12:14","nodeType":"VariableDeclaration","scope":12861,"src":"25133:28:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12855,"name":"string","nodeType":"ElementaryTypeName","src":"25133:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"25132:30:14"},"returnParameters":{"id":12860,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12859,"mutability":"mutable","name":"runtimeBytecode","nameLocation":"25199:15:14","nodeType":"VariableDeclaration","scope":12861,"src":"25186:28:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":12858,"name":"bytes","nodeType":"ElementaryTypeName","src":"25186:5:14","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"25185:30:14"},"scope":15270,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":12869,"nodeType":"FunctionDefinition","src":"25322:68:14","nodes":[],"documentation":{"id":12862,"nodeType":"StructuredDocumentation","src":"25222:95:14","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:14","parameters":{"id":12865,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12864,"mutability":"mutable","name":"path","nameLocation":"25353:4:14","nodeType":"VariableDeclaration","scope":12869,"src":"25337:20:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12863,"name":"string","nodeType":"ElementaryTypeName","src":"25337:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"25336:22:14"},"returnParameters":{"id":12868,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12867,"mutability":"mutable","name":"result","nameLocation":"25382:6:14","nodeType":"VariableDeclaration","scope":12869,"src":"25377:11:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12866,"name":"bool","nodeType":"ElementaryTypeName","src":"25377:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"25376:13:14"},"scope":15270,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":12877,"nodeType":"FunctionDefinition","src":"25499:69:14","nodes":[],"documentation":{"id":12870,"nodeType":"StructuredDocumentation","src":"25396:98:14","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:14","parameters":{"id":12873,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12872,"mutability":"mutable","name":"path","nameLocation":"25531:4:14","nodeType":"VariableDeclaration","scope":12877,"src":"25515:20:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12871,"name":"string","nodeType":"ElementaryTypeName","src":"25515:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"25514:22:14"},"returnParameters":{"id":12876,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12875,"mutability":"mutable","name":"result","nameLocation":"25560:6:14","nodeType":"VariableDeclaration","scope":12877,"src":"25555:11:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12874,"name":"bool","nodeType":"ElementaryTypeName","src":"25555:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"25554:13:14"},"scope":15270,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":12883,"nodeType":"FunctionDefinition","src":"25624:66:14","nodes":[],"documentation":{"id":12878,"nodeType":"StructuredDocumentation","src":"25574:45:14","text":"Get the path of the current project root."},"functionSelector":"d930a0e6","implemented":false,"kind":"function","modifiers":[],"name":"projectRoot","nameLocation":"25633:11:14","parameters":{"id":12879,"nodeType":"ParameterList","parameters":[],"src":"25644:2:14"},"returnParameters":{"id":12882,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12881,"mutability":"mutable","name":"path","nameLocation":"25684:4:14","nodeType":"VariableDeclaration","scope":12883,"src":"25670:18:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12880,"name":"string","nodeType":"ElementaryTypeName","src":"25670:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"25669:20:14"},"scope":15270,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":12891,"nodeType":"FunctionDefinition","src":"25757:83:14","nodes":[],"documentation":{"id":12884,"nodeType":"StructuredDocumentation","src":"25696:56:14","text":"Prompts the user for a string value in the terminal."},"functionSelector":"47eaf474","implemented":false,"kind":"function","modifiers":[],"name":"prompt","nameLocation":"25766:6:14","parameters":{"id":12887,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12886,"mutability":"mutable","name":"promptText","nameLocation":"25789:10:14","nodeType":"VariableDeclaration","scope":12891,"src":"25773:26:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12885,"name":"string","nodeType":"ElementaryTypeName","src":"25773:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"25772:28:14"},"returnParameters":{"id":12890,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12889,"mutability":"mutable","name":"input","nameLocation":"25833:5:14","nodeType":"VariableDeclaration","scope":12891,"src":"25819:19:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12888,"name":"string","nodeType":"ElementaryTypeName","src":"25819:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"25818:21:14"},"scope":15270,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":12899,"nodeType":"FunctionDefinition","src":"25903:78:14","nodes":[],"documentation":{"id":12892,"nodeType":"StructuredDocumentation","src":"25846:52:14","text":"Prompts the user for an address in the terminal."},"functionSelector":"62ee05f4","implemented":false,"kind":"function","modifiers":[],"name":"promptAddress","nameLocation":"25912:13:14","parameters":{"id":12895,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12894,"mutability":"mutable","name":"promptText","nameLocation":"25942:10:14","nodeType":"VariableDeclaration","scope":12899,"src":"25926:26:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12893,"name":"string","nodeType":"ElementaryTypeName","src":"25926:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"25925:28:14"},"returnParameters":{"id":12898,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12897,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12899,"src":"25972:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12896,"name":"address","nodeType":"ElementaryTypeName","src":"25972:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"25971:9:14"},"scope":15270,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":12907,"nodeType":"FunctionDefinition","src":"26055:89:14","nodes":[],"documentation":{"id":12900,"nodeType":"StructuredDocumentation","src":"25987:63:14","text":"Prompts the user for a hidden string value in the terminal."},"functionSelector":"1e279d41","implemented":false,"kind":"function","modifiers":[],"name":"promptSecret","nameLocation":"26064:12:14","parameters":{"id":12903,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12902,"mutability":"mutable","name":"promptText","nameLocation":"26093:10:14","nodeType":"VariableDeclaration","scope":12907,"src":"26077:26:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12901,"name":"string","nodeType":"ElementaryTypeName","src":"26077:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"26076:28:14"},"returnParameters":{"id":12906,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12905,"mutability":"mutable","name":"input","nameLocation":"26137:5:14","nodeType":"VariableDeclaration","scope":12907,"src":"26123:19:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12904,"name":"string","nodeType":"ElementaryTypeName","src":"26123:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"26122:21:14"},"scope":15270,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":12915,"nodeType":"FunctionDefinition","src":"26204:75:14","nodes":[],"documentation":{"id":12908,"nodeType":"StructuredDocumentation","src":"26150:49:14","text":"Prompts the user for uint256 in the terminal."},"functionSelector":"652fd489","implemented":false,"kind":"function","modifiers":[],"name":"promptUint","nameLocation":"26213:10:14","parameters":{"id":12911,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12910,"mutability":"mutable","name":"promptText","nameLocation":"26240:10:14","nodeType":"VariableDeclaration","scope":12915,"src":"26224:26:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12909,"name":"string","nodeType":"ElementaryTypeName","src":"26224:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"26223:28:14"},"returnParameters":{"id":12914,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12913,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12915,"src":"26270:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12912,"name":"uint256","nodeType":"ElementaryTypeName","src":"26270:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"26269:9:14"},"scope":15270,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":12925,"nodeType":"FunctionDefinition","src":"26527:89:14","nodes":[],"documentation":{"id":12916,"nodeType":"StructuredDocumentation","src":"26285:237:14","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:14","parameters":{"id":12919,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12918,"mutability":"mutable","name":"path","nameLocation":"26560:4:14","nodeType":"VariableDeclaration","scope":12925,"src":"26544:20:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12917,"name":"string","nodeType":"ElementaryTypeName","src":"26544:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"26543:22:14"},"returnParameters":{"id":12924,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12923,"mutability":"mutable","name":"entries","nameLocation":"26607:7:14","nodeType":"VariableDeclaration","scope":12925,"src":"26589:25:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_DirEntry_$12149_memory_ptr_$dyn_memory_ptr","typeString":"struct VmSafe.DirEntry[]"},"typeName":{"baseType":{"id":12921,"nodeType":"UserDefinedTypeName","pathNode":{"id":12920,"name":"DirEntry","nameLocations":["26589:8:14"],"nodeType":"IdentifierPath","referencedDeclaration":12149,"src":"26589:8:14"},"referencedDeclaration":12149,"src":"26589:8:14","typeDescriptions":{"typeIdentifier":"t_struct$_DirEntry_$12149_storage_ptr","typeString":"struct VmSafe.DirEntry"}},"id":12922,"nodeType":"ArrayTypeName","src":"26589:10:14","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_DirEntry_$12149_storage_$dyn_storage_ptr","typeString":"struct VmSafe.DirEntry[]"}},"visibility":"internal"}],"src":"26588:27:14"},"scope":15270,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":12937,"nodeType":"FunctionDefinition","src":"26653:106:14","nodes":[],"documentation":{"id":12926,"nodeType":"StructuredDocumentation","src":"26622:26:14","text":"See `readDir(string)`."},"functionSelector":"1497876c","implemented":false,"kind":"function","modifiers":[],"name":"readDir","nameLocation":"26662:7:14","parameters":{"id":12931,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12928,"mutability":"mutable","name":"path","nameLocation":"26686:4:14","nodeType":"VariableDeclaration","scope":12937,"src":"26670:20:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12927,"name":"string","nodeType":"ElementaryTypeName","src":"26670:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12930,"mutability":"mutable","name":"maxDepth","nameLocation":"26699:8:14","nodeType":"VariableDeclaration","scope":12937,"src":"26692:15:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":12929,"name":"uint64","nodeType":"ElementaryTypeName","src":"26692:6:14","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"26669:39:14"},"returnParameters":{"id":12936,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12935,"mutability":"mutable","name":"entries","nameLocation":"26750:7:14","nodeType":"VariableDeclaration","scope":12937,"src":"26732:25:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_DirEntry_$12149_memory_ptr_$dyn_memory_ptr","typeString":"struct VmSafe.DirEntry[]"},"typeName":{"baseType":{"id":12933,"nodeType":"UserDefinedTypeName","pathNode":{"id":12932,"name":"DirEntry","nameLocations":["26732:8:14"],"nodeType":"IdentifierPath","referencedDeclaration":12149,"src":"26732:8:14"},"referencedDeclaration":12149,"src":"26732:8:14","typeDescriptions":{"typeIdentifier":"t_struct$_DirEntry_$12149_storage_ptr","typeString":"struct VmSafe.DirEntry"}},"id":12934,"nodeType":"ArrayTypeName","src":"26732:10:14","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_DirEntry_$12149_storage_$dyn_storage_ptr","typeString":"struct VmSafe.DirEntry[]"}},"visibility":"internal"}],"src":"26731:27:14"},"scope":15270,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":12951,"nodeType":"FunctionDefinition","src":"26796:148:14","nodes":[],"documentation":{"id":12938,"nodeType":"StructuredDocumentation","src":"26765:26:14","text":"See `readDir(string)`."},"functionSelector":"8102d70d","implemented":false,"kind":"function","modifiers":[],"name":"readDir","nameLocation":"26805:7:14","parameters":{"id":12945,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12940,"mutability":"mutable","name":"path","nameLocation":"26829:4:14","nodeType":"VariableDeclaration","scope":12951,"src":"26813:20:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12939,"name":"string","nodeType":"ElementaryTypeName","src":"26813:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12942,"mutability":"mutable","name":"maxDepth","nameLocation":"26842:8:14","nodeType":"VariableDeclaration","scope":12951,"src":"26835:15:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":12941,"name":"uint64","nodeType":"ElementaryTypeName","src":"26835:6:14","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":12944,"mutability":"mutable","name":"followLinks","nameLocation":"26857:11:14","nodeType":"VariableDeclaration","scope":12951,"src":"26852:16:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12943,"name":"bool","nodeType":"ElementaryTypeName","src":"26852:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"26812:57:14"},"returnParameters":{"id":12950,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12949,"mutability":"mutable","name":"entries","nameLocation":"26935:7:14","nodeType":"VariableDeclaration","scope":12951,"src":"26917:25:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_DirEntry_$12149_memory_ptr_$dyn_memory_ptr","typeString":"struct VmSafe.DirEntry[]"},"typeName":{"baseType":{"id":12947,"nodeType":"UserDefinedTypeName","pathNode":{"id":12946,"name":"DirEntry","nameLocations":["26917:8:14"],"nodeType":"IdentifierPath","referencedDeclaration":12149,"src":"26917:8:14"},"referencedDeclaration":12149,"src":"26917:8:14","typeDescriptions":{"typeIdentifier":"t_struct$_DirEntry_$12149_storage_ptr","typeString":"struct VmSafe.DirEntry"}},"id":12948,"nodeType":"ArrayTypeName","src":"26917:10:14","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_DirEntry_$12149_storage_$dyn_storage_ptr","typeString":"struct VmSafe.DirEntry[]"}},"visibility":"internal"}],"src":"26916:27:14"},"scope":15270,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":12959,"nodeType":"FunctionDefinition","src":"27042:83:14","nodes":[],"documentation":{"id":12952,"nodeType":"StructuredDocumentation","src":"26950:87:14","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:14","parameters":{"id":12955,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12954,"mutability":"mutable","name":"path","nameLocation":"27076:4:14","nodeType":"VariableDeclaration","scope":12959,"src":"27060:20:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12953,"name":"string","nodeType":"ElementaryTypeName","src":"27060:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"27059:22:14"},"returnParameters":{"id":12958,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12957,"mutability":"mutable","name":"data","nameLocation":"27119:4:14","nodeType":"VariableDeclaration","scope":12959,"src":"27105:18:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12956,"name":"string","nodeType":"ElementaryTypeName","src":"27105:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"27104:20:14"},"scope":15270,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":12967,"nodeType":"FunctionDefinition","src":"27223:88:14","nodes":[],"documentation":{"id":12960,"nodeType":"StructuredDocumentation","src":"27131:87:14","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:14","parameters":{"id":12963,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12962,"mutability":"mutable","name":"path","nameLocation":"27263:4:14","nodeType":"VariableDeclaration","scope":12967,"src":"27247:20:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12961,"name":"string","nodeType":"ElementaryTypeName","src":"27247:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"27246:22:14"},"returnParameters":{"id":12966,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12965,"mutability":"mutable","name":"data","nameLocation":"27305:4:14","nodeType":"VariableDeclaration","scope":12967,"src":"27292:17:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":12964,"name":"bytes","nodeType":"ElementaryTypeName","src":"27292:5:14","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"27291:19:14"},"scope":15270,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":12975,"nodeType":"FunctionDefinition","src":"27360:83:14","nodes":[],"documentation":{"id":12968,"nodeType":"StructuredDocumentation","src":"27317:38:14","text":"Reads next line of file to string."},"functionSelector":"70f55728","implemented":false,"kind":"function","modifiers":[],"name":"readLine","nameLocation":"27369:8:14","parameters":{"id":12971,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12970,"mutability":"mutable","name":"path","nameLocation":"27394:4:14","nodeType":"VariableDeclaration","scope":12975,"src":"27378:20:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12969,"name":"string","nodeType":"ElementaryTypeName","src":"27378:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"27377:22:14"},"returnParameters":{"id":12974,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12973,"mutability":"mutable","name":"line","nameLocation":"27437:4:14","nodeType":"VariableDeclaration","scope":12975,"src":"27423:18:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12972,"name":"string","nodeType":"ElementaryTypeName","src":"27423:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"27422:20:14"},"scope":15270,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":12983,"nodeType":"FunctionDefinition","src":"27702:93:14","nodes":[],"documentation":{"id":12976,"nodeType":"StructuredDocumentation","src":"27449:248:14","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:14","parameters":{"id":12979,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12978,"mutability":"mutable","name":"linkPath","nameLocation":"27736:8:14","nodeType":"VariableDeclaration","scope":12983,"src":"27720:24:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12977,"name":"string","nodeType":"ElementaryTypeName","src":"27720:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"27719:26:14"},"returnParameters":{"id":12982,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12981,"mutability":"mutable","name":"targetPath","nameLocation":"27783:10:14","nodeType":"VariableDeclaration","scope":12983,"src":"27769:24:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12980,"name":"string","nodeType":"ElementaryTypeName","src":"27769:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"27768:26:14"},"scope":15270,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":12991,"nodeType":"FunctionDefinition","src":"28185:66:14","nodes":[],"documentation":{"id":12984,"nodeType":"StructuredDocumentation","src":"27801:379:14","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:14","parameters":{"id":12989,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12986,"mutability":"mutable","name":"path","nameLocation":"28220:4:14","nodeType":"VariableDeclaration","scope":12991,"src":"28204:20:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12985,"name":"string","nodeType":"ElementaryTypeName","src":"28204:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12988,"mutability":"mutable","name":"recursive","nameLocation":"28231:9:14","nodeType":"VariableDeclaration","scope":12991,"src":"28226:14:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12987,"name":"bool","nodeType":"ElementaryTypeName","src":"28226:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"28203:38:14"},"returnParameters":{"id":12990,"nodeType":"ParameterList","parameters":[],"src":"28250:0:14"},"scope":15270,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":12997,"nodeType":"FunctionDefinition","src":"28584:51:14","nodes":[],"documentation":{"id":12992,"nodeType":"StructuredDocumentation","src":"28257:322:14","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:14","parameters":{"id":12995,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12994,"mutability":"mutable","name":"path","nameLocation":"28620:4:14","nodeType":"VariableDeclaration","scope":12997,"src":"28604:20:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12993,"name":"string","nodeType":"ElementaryTypeName","src":"28604:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"28603:22:14"},"returnParameters":{"id":12996,"nodeType":"ParameterList","parameters":[],"src":"28634:0:14"},"scope":15270,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13007,"nodeType":"FunctionDefinition","src":"28742:91:14","nodes":[],"documentation":{"id":12998,"nodeType":"StructuredDocumentation","src":"28641:96:14","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:14","parameters":{"id":13002,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13001,"mutability":"mutable","name":"commandInput","nameLocation":"28776:12:14","nodeType":"VariableDeclaration","scope":13007,"src":"28758:30:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_string_calldata_ptr_$dyn_calldata_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":12999,"name":"string","nodeType":"ElementaryTypeName","src":"28758:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":13000,"nodeType":"ArrayTypeName","src":"28758:8:14","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"28757:32:14"},"returnParameters":{"id":13006,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13005,"mutability":"mutable","name":"result","nameLocation":"28825:6:14","nodeType":"VariableDeclaration","scope":13007,"src":"28808:23:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_FfiResult_$12183_memory_ptr","typeString":"struct VmSafe.FfiResult"},"typeName":{"id":13004,"nodeType":"UserDefinedTypeName","pathNode":{"id":13003,"name":"FfiResult","nameLocations":["28808:9:14"],"nodeType":"IdentifierPath","referencedDeclaration":12183,"src":"28808:9:14"},"referencedDeclaration":12183,"src":"28808:9:14","typeDescriptions":{"typeIdentifier":"t_struct$_FfiResult_$12183_storage_ptr","typeString":"struct VmSafe.FfiResult"}},"visibility":"internal"}],"src":"28807:25:14"},"scope":15270,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13013,"nodeType":"FunctionDefinition","src":"28898:60:14","nodes":[],"documentation":{"id":13008,"nodeType":"StructuredDocumentation","src":"28839:54:14","text":"Returns the time since unix epoch in milliseconds."},"functionSelector":"625387dc","implemented":false,"kind":"function","modifiers":[],"name":"unixTime","nameLocation":"28907:8:14","parameters":{"id":13009,"nodeType":"ParameterList","parameters":[],"src":"28915:2:14"},"returnParameters":{"id":13012,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13011,"mutability":"mutable","name":"milliseconds","nameLocation":"28944:12:14","nodeType":"VariableDeclaration","scope":13013,"src":"28936:20:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13010,"name":"uint256","nodeType":"ElementaryTypeName","src":"28936:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"28935:22:14"},"scope":15270,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13021,"nodeType":"FunctionDefinition","src":"29127:72:14","nodes":[],"documentation":{"id":13014,"nodeType":"StructuredDocumentation","src":"28964:158:14","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:14","parameters":{"id":13019,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13016,"mutability":"mutable","name":"path","nameLocation":"29162:4:14","nodeType":"VariableDeclaration","scope":13021,"src":"29146:20:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13015,"name":"string","nodeType":"ElementaryTypeName","src":"29146:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13018,"mutability":"mutable","name":"data","nameLocation":"29184:4:14","nodeType":"VariableDeclaration","scope":13021,"src":"29168:20:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13017,"name":"string","nodeType":"ElementaryTypeName","src":"29168:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"29145:44:14"},"returnParameters":{"id":13020,"nodeType":"ParameterList","parameters":[],"src":"29198:0:14"},"scope":15270,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13029,"nodeType":"FunctionDefinition","src":"29377:77:14","nodes":[],"documentation":{"id":13022,"nodeType":"StructuredDocumentation","src":"29205:167:14","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:14","parameters":{"id":13027,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13024,"mutability":"mutable","name":"path","nameLocation":"29418:4:14","nodeType":"VariableDeclaration","scope":13029,"src":"29402:20:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13023,"name":"string","nodeType":"ElementaryTypeName","src":"29402:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13026,"mutability":"mutable","name":"data","nameLocation":"29439:4:14","nodeType":"VariableDeclaration","scope":13029,"src":"29424:19:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":13025,"name":"bytes","nodeType":"ElementaryTypeName","src":"29424:5:14","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"29401:43:14"},"returnParameters":{"id":13028,"nodeType":"ParameterList","parameters":[],"src":"29453:0:14"},"scope":15270,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13037,"nodeType":"FunctionDefinition","src":"29575:72:14","nodes":[],"documentation":{"id":13030,"nodeType":"StructuredDocumentation","src":"29460:110:14","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:14","parameters":{"id":13035,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13032,"mutability":"mutable","name":"path","nameLocation":"29610:4:14","nodeType":"VariableDeclaration","scope":13037,"src":"29594:20:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13031,"name":"string","nodeType":"ElementaryTypeName","src":"29594:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13034,"mutability":"mutable","name":"data","nameLocation":"29632:4:14","nodeType":"VariableDeclaration","scope":13037,"src":"29616:20:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13033,"name":"string","nodeType":"ElementaryTypeName","src":"29616:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"29593:44:14"},"returnParameters":{"id":13036,"nodeType":"ParameterList","parameters":[],"src":"29646:0:14"},"scope":15270,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13047,"nodeType":"FunctionDefinition","src":"29840:91:14","nodes":[],"documentation":{"id":13038,"nodeType":"StructuredDocumentation","src":"29684:151:14","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:14","parameters":{"id":13043,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13040,"mutability":"mutable","name":"json","nameLocation":"29875:4:14","nodeType":"VariableDeclaration","scope":13047,"src":"29859:20:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13039,"name":"string","nodeType":"ElementaryTypeName","src":"29859:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13042,"mutability":"mutable","name":"key","nameLocation":"29897:3:14","nodeType":"VariableDeclaration","scope":13047,"src":"29881:19:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13041,"name":"string","nodeType":"ElementaryTypeName","src":"29881:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"29858:43:14"},"returnParameters":{"id":13046,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13045,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13047,"src":"29925:4:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13044,"name":"bool","nodeType":"ElementaryTypeName","src":"29925:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"29924:6:14"},"scope":15270,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":13057,"nodeType":"FunctionDefinition","src":"29986:95:14","nodes":[],"documentation":{"id":13048,"nodeType":"StructuredDocumentation","src":"29937:44:14","text":"Checks if `key` exists in a JSON object."},"functionSelector":"db4235f6","implemented":false,"kind":"function","modifiers":[],"name":"keyExistsJson","nameLocation":"29995:13:14","parameters":{"id":13053,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13050,"mutability":"mutable","name":"json","nameLocation":"30025:4:14","nodeType":"VariableDeclaration","scope":13057,"src":"30009:20:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13049,"name":"string","nodeType":"ElementaryTypeName","src":"30009:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13052,"mutability":"mutable","name":"key","nameLocation":"30047:3:14","nodeType":"VariableDeclaration","scope":13057,"src":"30031:19:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13051,"name":"string","nodeType":"ElementaryTypeName","src":"30031:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"30008:43:14"},"returnParameters":{"id":13056,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13055,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13057,"src":"30075:4:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13054,"name":"bool","nodeType":"ElementaryTypeName","src":"30075:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"30074:6:14"},"scope":15270,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":13067,"nodeType":"FunctionDefinition","src":"30162:101:14","nodes":[],"documentation":{"id":13058,"nodeType":"StructuredDocumentation","src":"30087:70:14","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:14","parameters":{"id":13063,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13060,"mutability":"mutable","name":"json","nameLocation":"30204:4:14","nodeType":"VariableDeclaration","scope":13067,"src":"30188:20:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13059,"name":"string","nodeType":"ElementaryTypeName","src":"30188:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13062,"mutability":"mutable","name":"key","nameLocation":"30226:3:14","nodeType":"VariableDeclaration","scope":13067,"src":"30210:19:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13061,"name":"string","nodeType":"ElementaryTypeName","src":"30210:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"30187:43:14"},"returnParameters":{"id":13066,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13065,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13067,"src":"30254:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13064,"name":"address","nodeType":"ElementaryTypeName","src":"30254:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"30253:9:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13078,"nodeType":"FunctionDefinition","src":"30346:139:14","nodes":[],"documentation":{"id":13068,"nodeType":"StructuredDocumentation","src":"30269:72:14","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:14","parameters":{"id":13073,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13070,"mutability":"mutable","name":"json","nameLocation":"30393:4:14","nodeType":"VariableDeclaration","scope":13078,"src":"30377:20:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13069,"name":"string","nodeType":"ElementaryTypeName","src":"30377:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13072,"mutability":"mutable","name":"key","nameLocation":"30415:3:14","nodeType":"VariableDeclaration","scope":13078,"src":"30399:19:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13071,"name":"string","nodeType":"ElementaryTypeName","src":"30399:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"30376:43:14"},"returnParameters":{"id":13077,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13076,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13078,"src":"30467:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":13074,"name":"address","nodeType":"ElementaryTypeName","src":"30467:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":13075,"nodeType":"ArrayTypeName","src":"30467:9:14","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"30466:18:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13088,"nodeType":"FunctionDefinition","src":"30563:95:14","nodes":[],"documentation":{"id":13079,"nodeType":"StructuredDocumentation","src":"30491:67:14","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:14","parameters":{"id":13084,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13081,"mutability":"mutable","name":"json","nameLocation":"30602:4:14","nodeType":"VariableDeclaration","scope":13088,"src":"30586:20:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13080,"name":"string","nodeType":"ElementaryTypeName","src":"30586:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13083,"mutability":"mutable","name":"key","nameLocation":"30624:3:14","nodeType":"VariableDeclaration","scope":13088,"src":"30608:19:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13082,"name":"string","nodeType":"ElementaryTypeName","src":"30608:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"30585:43:14"},"returnParameters":{"id":13087,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13086,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13088,"src":"30652:4:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13085,"name":"bool","nodeType":"ElementaryTypeName","src":"30652:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"30651:6:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13099,"nodeType":"FunctionDefinition","src":"30738:109:14","nodes":[],"documentation":{"id":13089,"nodeType":"StructuredDocumentation","src":"30664:69:14","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:14","parameters":{"id":13094,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13091,"mutability":"mutable","name":"json","nameLocation":"30782:4:14","nodeType":"VariableDeclaration","scope":13099,"src":"30766:20:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13090,"name":"string","nodeType":"ElementaryTypeName","src":"30766:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13093,"mutability":"mutable","name":"key","nameLocation":"30804:3:14","nodeType":"VariableDeclaration","scope":13099,"src":"30788:19:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13092,"name":"string","nodeType":"ElementaryTypeName","src":"30788:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"30765:43:14"},"returnParameters":{"id":13098,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13097,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13099,"src":"30832:13:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":13095,"name":"bool","nodeType":"ElementaryTypeName","src":"30832:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":13096,"nodeType":"ArrayTypeName","src":"30832:6:14","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"}],"src":"30831:15:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13109,"nodeType":"FunctionDefinition","src":"30926:104:14","nodes":[],"documentation":{"id":13100,"nodeType":"StructuredDocumentation","src":"30853:68:14","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:14","parameters":{"id":13105,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13102,"mutability":"mutable","name":"json","nameLocation":"30966:4:14","nodeType":"VariableDeclaration","scope":13109,"src":"30950:20:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13101,"name":"string","nodeType":"ElementaryTypeName","src":"30950:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13104,"mutability":"mutable","name":"key","nameLocation":"30988:3:14","nodeType":"VariableDeclaration","scope":13109,"src":"30972:19:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13103,"name":"string","nodeType":"ElementaryTypeName","src":"30972:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"30949:43:14"},"returnParameters":{"id":13108,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13107,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13109,"src":"31016:12:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":13106,"name":"bytes","nodeType":"ElementaryTypeName","src":"31016:5:14","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"31015:14:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13119,"nodeType":"FunctionDefinition","src":"31111:101:14","nodes":[],"documentation":{"id":13110,"nodeType":"StructuredDocumentation","src":"31036:70:14","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:14","parameters":{"id":13115,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13112,"mutability":"mutable","name":"json","nameLocation":"31153:4:14","nodeType":"VariableDeclaration","scope":13119,"src":"31137:20:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13111,"name":"string","nodeType":"ElementaryTypeName","src":"31137:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13114,"mutability":"mutable","name":"key","nameLocation":"31175:3:14","nodeType":"VariableDeclaration","scope":13119,"src":"31159:19:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13113,"name":"string","nodeType":"ElementaryTypeName","src":"31159:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"31136:43:14"},"returnParameters":{"id":13118,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13117,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13119,"src":"31203:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13116,"name":"bytes32","nodeType":"ElementaryTypeName","src":"31203:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"31202:9:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13130,"nodeType":"FunctionDefinition","src":"31295:139:14","nodes":[],"documentation":{"id":13120,"nodeType":"StructuredDocumentation","src":"31218:72:14","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:14","parameters":{"id":13125,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13122,"mutability":"mutable","name":"json","nameLocation":"31342:4:14","nodeType":"VariableDeclaration","scope":13130,"src":"31326:20:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13121,"name":"string","nodeType":"ElementaryTypeName","src":"31326:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13124,"mutability":"mutable","name":"key","nameLocation":"31364:3:14","nodeType":"VariableDeclaration","scope":13130,"src":"31348:19:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13123,"name":"string","nodeType":"ElementaryTypeName","src":"31348:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"31325:43:14"},"returnParameters":{"id":13129,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13128,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13130,"src":"31416:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":13126,"name":"bytes32","nodeType":"ElementaryTypeName","src":"31416:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":13127,"nodeType":"ArrayTypeName","src":"31416:9:14","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"31415:18:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13141,"nodeType":"FunctionDefinition","src":"31515:111:14","nodes":[],"documentation":{"id":13131,"nodeType":"StructuredDocumentation","src":"31440:70:14","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:14","parameters":{"id":13136,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13133,"mutability":"mutable","name":"json","nameLocation":"31560:4:14","nodeType":"VariableDeclaration","scope":13141,"src":"31544:20:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13132,"name":"string","nodeType":"ElementaryTypeName","src":"31544:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13135,"mutability":"mutable","name":"key","nameLocation":"31582:3:14","nodeType":"VariableDeclaration","scope":13141,"src":"31566:19:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13134,"name":"string","nodeType":"ElementaryTypeName","src":"31566:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"31543:43:14"},"returnParameters":{"id":13140,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13139,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13141,"src":"31610:14:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":13137,"name":"bytes","nodeType":"ElementaryTypeName","src":"31610:5:14","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":13138,"nodeType":"ArrayTypeName","src":"31610:7:14","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"31609:16:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13151,"nodeType":"FunctionDefinition","src":"31706:96:14","nodes":[],"documentation":{"id":13142,"nodeType":"StructuredDocumentation","src":"31632:69:14","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:14","parameters":{"id":13147,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13144,"mutability":"mutable","name":"json","nameLocation":"31744:4:14","nodeType":"VariableDeclaration","scope":13151,"src":"31728:20:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13143,"name":"string","nodeType":"ElementaryTypeName","src":"31728:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13146,"mutability":"mutable","name":"key","nameLocation":"31766:3:14","nodeType":"VariableDeclaration","scope":13151,"src":"31750:19:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13145,"name":"string","nodeType":"ElementaryTypeName","src":"31750:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"31727:43:14"},"returnParameters":{"id":13150,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13149,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13151,"src":"31794:6:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":13148,"name":"int256","nodeType":"ElementaryTypeName","src":"31794:6:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"31793:8:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13162,"nodeType":"FunctionDefinition","src":"31884:110:14","nodes":[],"documentation":{"id":13152,"nodeType":"StructuredDocumentation","src":"31808:71:14","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:14","parameters":{"id":13157,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13154,"mutability":"mutable","name":"json","nameLocation":"31927:4:14","nodeType":"VariableDeclaration","scope":13162,"src":"31911:20:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13153,"name":"string","nodeType":"ElementaryTypeName","src":"31911:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13156,"mutability":"mutable","name":"key","nameLocation":"31949:3:14","nodeType":"VariableDeclaration","scope":13162,"src":"31933:19:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13155,"name":"string","nodeType":"ElementaryTypeName","src":"31933:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"31910:43:14"},"returnParameters":{"id":13161,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13160,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13162,"src":"31977:15:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":13158,"name":"int256","nodeType":"ElementaryTypeName","src":"31977:6:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":13159,"nodeType":"ArrayTypeName","src":"31977:8:14","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"31976:17:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13173,"nodeType":"FunctionDefinition","src":"32059:111:14","nodes":[],"documentation":{"id":13163,"nodeType":"StructuredDocumentation","src":"32000:54:14","text":"Returns an array of all the keys in a JSON object."},"functionSelector":"213e4198","implemented":false,"kind":"function","modifiers":[],"name":"parseJsonKeys","nameLocation":"32068:13:14","parameters":{"id":13168,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13165,"mutability":"mutable","name":"json","nameLocation":"32098:4:14","nodeType":"VariableDeclaration","scope":13173,"src":"32082:20:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13164,"name":"string","nodeType":"ElementaryTypeName","src":"32082:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13167,"mutability":"mutable","name":"key","nameLocation":"32120:3:14","nodeType":"VariableDeclaration","scope":13173,"src":"32104:19:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13166,"name":"string","nodeType":"ElementaryTypeName","src":"32104:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"32081:43:14"},"returnParameters":{"id":13172,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13171,"mutability":"mutable","name":"keys","nameLocation":"32164:4:14","nodeType":"VariableDeclaration","scope":13173,"src":"32148:20:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":13169,"name":"string","nodeType":"ElementaryTypeName","src":"32148:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":13170,"nodeType":"ArrayTypeName","src":"32148:8:14","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"32147:22:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13183,"nodeType":"FunctionDefinition","src":"32250:106:14","nodes":[],"documentation":{"id":13174,"nodeType":"StructuredDocumentation","src":"32176:69:14","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:14","parameters":{"id":13179,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13176,"mutability":"mutable","name":"json","nameLocation":"32291:4:14","nodeType":"VariableDeclaration","scope":13183,"src":"32275:20:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13175,"name":"string","nodeType":"ElementaryTypeName","src":"32275:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13178,"mutability":"mutable","name":"key","nameLocation":"32313:3:14","nodeType":"VariableDeclaration","scope":13183,"src":"32297:19:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13177,"name":"string","nodeType":"ElementaryTypeName","src":"32297:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"32274:43:14"},"returnParameters":{"id":13182,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13181,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13183,"src":"32341:13:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13180,"name":"string","nodeType":"ElementaryTypeName","src":"32341:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"32340:15:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13194,"nodeType":"FunctionDefinition","src":"32438:113:14","nodes":[],"documentation":{"id":13184,"nodeType":"StructuredDocumentation","src":"32362:71:14","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:14","parameters":{"id":13189,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13186,"mutability":"mutable","name":"json","nameLocation":"32484:4:14","nodeType":"VariableDeclaration","scope":13194,"src":"32468:20:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13185,"name":"string","nodeType":"ElementaryTypeName","src":"32468:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13188,"mutability":"mutable","name":"key","nameLocation":"32506:3:14","nodeType":"VariableDeclaration","scope":13194,"src":"32490:19:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13187,"name":"string","nodeType":"ElementaryTypeName","src":"32490:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"32467:43:14"},"returnParameters":{"id":13193,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13192,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13194,"src":"32534:15:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":13190,"name":"string","nodeType":"ElementaryTypeName","src":"32534:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":13191,"nodeType":"ArrayTypeName","src":"32534:8:14","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"32533:17:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13204,"nodeType":"FunctionDefinition","src":"32632:98:14","nodes":[],"documentation":{"id":13195,"nodeType":"StructuredDocumentation","src":"32557:70:14","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:14","parameters":{"id":13200,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13197,"mutability":"mutable","name":"json","nameLocation":"32671:4:14","nodeType":"VariableDeclaration","scope":13204,"src":"32655:20:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13196,"name":"string","nodeType":"ElementaryTypeName","src":"32655:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13199,"mutability":"mutable","name":"key","nameLocation":"32693:3:14","nodeType":"VariableDeclaration","scope":13204,"src":"32677:19:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13198,"name":"string","nodeType":"ElementaryTypeName","src":"32677:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"32654:43:14"},"returnParameters":{"id":13203,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13202,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13204,"src":"32721:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13201,"name":"uint256","nodeType":"ElementaryTypeName","src":"32721:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"32720:9:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13215,"nodeType":"FunctionDefinition","src":"32813:112:14","nodes":[],"documentation":{"id":13205,"nodeType":"StructuredDocumentation","src":"32736:72:14","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:14","parameters":{"id":13210,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13207,"mutability":"mutable","name":"json","nameLocation":"32857:4:14","nodeType":"VariableDeclaration","scope":13215,"src":"32841:20:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13206,"name":"string","nodeType":"ElementaryTypeName","src":"32841:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13209,"mutability":"mutable","name":"key","nameLocation":"32879:3:14","nodeType":"VariableDeclaration","scope":13215,"src":"32863:19:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13208,"name":"string","nodeType":"ElementaryTypeName","src":"32863:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"32840:43:14"},"returnParameters":{"id":13214,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13213,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13215,"src":"32907:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":13211,"name":"uint256","nodeType":"ElementaryTypeName","src":"32907:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":13212,"nodeType":"ArrayTypeName","src":"32907:9:14","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"32906:18:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13223,"nodeType":"FunctionDefinition","src":"32966:93:14","nodes":[],"documentation":{"id":13216,"nodeType":"StructuredDocumentation","src":"32931:30:14","text":"ABI-encodes a JSON object."},"functionSelector":"6a82600a","implemented":false,"kind":"function","modifiers":[],"name":"parseJson","nameLocation":"32975:9:14","parameters":{"id":13219,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13218,"mutability":"mutable","name":"json","nameLocation":"33001:4:14","nodeType":"VariableDeclaration","scope":13223,"src":"32985:20:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13217,"name":"string","nodeType":"ElementaryTypeName","src":"32985:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"32984:22:14"},"returnParameters":{"id":13222,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13221,"mutability":"mutable","name":"abiEncodedData","nameLocation":"33043:14:14","nodeType":"VariableDeclaration","scope":13223,"src":"33030:27:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":13220,"name":"bytes","nodeType":"ElementaryTypeName","src":"33030:5:14","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"33029:29:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13233,"nodeType":"FunctionDefinition","src":"33109:114:14","nodes":[],"documentation":{"id":13224,"nodeType":"StructuredDocumentation","src":"33065:39:14","text":"ABI-encodes a JSON object at `key`."},"functionSelector":"85940ef1","implemented":false,"kind":"function","modifiers":[],"name":"parseJson","nameLocation":"33118:9:14","parameters":{"id":13229,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13226,"mutability":"mutable","name":"json","nameLocation":"33144:4:14","nodeType":"VariableDeclaration","scope":13233,"src":"33128:20:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13225,"name":"string","nodeType":"ElementaryTypeName","src":"33128:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13228,"mutability":"mutable","name":"key","nameLocation":"33166:3:14","nodeType":"VariableDeclaration","scope":13233,"src":"33150:19:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13227,"name":"string","nodeType":"ElementaryTypeName","src":"33150:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"33127:43:14"},"returnParameters":{"id":13232,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13231,"mutability":"mutable","name":"abiEncodedData","nameLocation":"33207:14:14","nodeType":"VariableDeclaration","scope":13233,"src":"33194:27:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":13230,"name":"bytes","nodeType":"ElementaryTypeName","src":"33194:5:14","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"33193:29:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13245,"nodeType":"FunctionDefinition","src":"33258:148:14","nodes":[],"documentation":{"id":13234,"nodeType":"StructuredDocumentation","src":"33229:24:14","text":"See `serializeJson`."},"functionSelector":"972c6062","implemented":false,"kind":"function","modifiers":[],"name":"serializeAddress","nameLocation":"33267:16:14","parameters":{"id":13241,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13236,"mutability":"mutable","name":"objectKey","nameLocation":"33300:9:14","nodeType":"VariableDeclaration","scope":13245,"src":"33284:25:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13235,"name":"string","nodeType":"ElementaryTypeName","src":"33284:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13238,"mutability":"mutable","name":"valueKey","nameLocation":"33327:8:14","nodeType":"VariableDeclaration","scope":13245,"src":"33311:24:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13237,"name":"string","nodeType":"ElementaryTypeName","src":"33311:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13240,"mutability":"mutable","name":"value","nameLocation":"33345:5:14","nodeType":"VariableDeclaration","scope":13245,"src":"33337:13:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13239,"name":"address","nodeType":"ElementaryTypeName","src":"33337:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"33283:68:14"},"returnParameters":{"id":13244,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13243,"mutability":"mutable","name":"json","nameLocation":"33400:4:14","nodeType":"VariableDeclaration","scope":13245,"src":"33386:18:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13242,"name":"string","nodeType":"ElementaryTypeName","src":"33386:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"33385:20:14"},"scope":15270,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13258,"nodeType":"FunctionDefinition","src":"33441:160:14","nodes":[],"documentation":{"id":13246,"nodeType":"StructuredDocumentation","src":"33412:24:14","text":"See `serializeJson`."},"functionSelector":"1e356e1a","implemented":false,"kind":"function","modifiers":[],"name":"serializeAddress","nameLocation":"33450:16:14","parameters":{"id":13254,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13248,"mutability":"mutable","name":"objectKey","nameLocation":"33483:9:14","nodeType":"VariableDeclaration","scope":13258,"src":"33467:25:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13247,"name":"string","nodeType":"ElementaryTypeName","src":"33467:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13250,"mutability":"mutable","name":"valueKey","nameLocation":"33510:8:14","nodeType":"VariableDeclaration","scope":13258,"src":"33494:24:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13249,"name":"string","nodeType":"ElementaryTypeName","src":"33494:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13253,"mutability":"mutable","name":"values","nameLocation":"33539:6:14","nodeType":"VariableDeclaration","scope":13258,"src":"33520:25:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":13251,"name":"address","nodeType":"ElementaryTypeName","src":"33520:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":13252,"nodeType":"ArrayTypeName","src":"33520:9:14","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"33466:80:14"},"returnParameters":{"id":13257,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13256,"mutability":"mutable","name":"json","nameLocation":"33595:4:14","nodeType":"VariableDeclaration","scope":13258,"src":"33581:18:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13255,"name":"string","nodeType":"ElementaryTypeName","src":"33581:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"33580:20:14"},"scope":15270,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13270,"nodeType":"FunctionDefinition","src":"33636:142:14","nodes":[],"documentation":{"id":13259,"nodeType":"StructuredDocumentation","src":"33607:24:14","text":"See `serializeJson`."},"functionSelector":"ac22e971","implemented":false,"kind":"function","modifiers":[],"name":"serializeBool","nameLocation":"33645:13:14","parameters":{"id":13266,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13261,"mutability":"mutable","name":"objectKey","nameLocation":"33675:9:14","nodeType":"VariableDeclaration","scope":13270,"src":"33659:25:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13260,"name":"string","nodeType":"ElementaryTypeName","src":"33659:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13263,"mutability":"mutable","name":"valueKey","nameLocation":"33702:8:14","nodeType":"VariableDeclaration","scope":13270,"src":"33686:24:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13262,"name":"string","nodeType":"ElementaryTypeName","src":"33686:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13265,"mutability":"mutable","name":"value","nameLocation":"33717:5:14","nodeType":"VariableDeclaration","scope":13270,"src":"33712:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13264,"name":"bool","nodeType":"ElementaryTypeName","src":"33712:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"33658:65:14"},"returnParameters":{"id":13269,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13268,"mutability":"mutable","name":"json","nameLocation":"33772:4:14","nodeType":"VariableDeclaration","scope":13270,"src":"33758:18:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13267,"name":"string","nodeType":"ElementaryTypeName","src":"33758:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"33757:20:14"},"scope":15270,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13283,"nodeType":"FunctionDefinition","src":"33813:154:14","nodes":[],"documentation":{"id":13271,"nodeType":"StructuredDocumentation","src":"33784:24:14","text":"See `serializeJson`."},"functionSelector":"92925aa1","implemented":false,"kind":"function","modifiers":[],"name":"serializeBool","nameLocation":"33822:13:14","parameters":{"id":13279,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13273,"mutability":"mutable","name":"objectKey","nameLocation":"33852:9:14","nodeType":"VariableDeclaration","scope":13283,"src":"33836:25:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13272,"name":"string","nodeType":"ElementaryTypeName","src":"33836:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13275,"mutability":"mutable","name":"valueKey","nameLocation":"33879:8:14","nodeType":"VariableDeclaration","scope":13283,"src":"33863:24:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13274,"name":"string","nodeType":"ElementaryTypeName","src":"33863:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13278,"mutability":"mutable","name":"values","nameLocation":"33905:6:14","nodeType":"VariableDeclaration","scope":13283,"src":"33889:22:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_calldata_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":13276,"name":"bool","nodeType":"ElementaryTypeName","src":"33889:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":13277,"nodeType":"ArrayTypeName","src":"33889:6:14","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"}],"src":"33835:77:14"},"returnParameters":{"id":13282,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13281,"mutability":"mutable","name":"json","nameLocation":"33961:4:14","nodeType":"VariableDeclaration","scope":13283,"src":"33947:18:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13280,"name":"string","nodeType":"ElementaryTypeName","src":"33947:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"33946:20:14"},"scope":15270,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13295,"nodeType":"FunctionDefinition","src":"34002:148:14","nodes":[],"documentation":{"id":13284,"nodeType":"StructuredDocumentation","src":"33973:24:14","text":"See `serializeJson`."},"functionSelector":"2d812b44","implemented":false,"kind":"function","modifiers":[],"name":"serializeBytes32","nameLocation":"34011:16:14","parameters":{"id":13291,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13286,"mutability":"mutable","name":"objectKey","nameLocation":"34044:9:14","nodeType":"VariableDeclaration","scope":13295,"src":"34028:25:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13285,"name":"string","nodeType":"ElementaryTypeName","src":"34028:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13288,"mutability":"mutable","name":"valueKey","nameLocation":"34071:8:14","nodeType":"VariableDeclaration","scope":13295,"src":"34055:24:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13287,"name":"string","nodeType":"ElementaryTypeName","src":"34055:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13290,"mutability":"mutable","name":"value","nameLocation":"34089:5:14","nodeType":"VariableDeclaration","scope":13295,"src":"34081:13:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13289,"name":"bytes32","nodeType":"ElementaryTypeName","src":"34081:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"34027:68:14"},"returnParameters":{"id":13294,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13293,"mutability":"mutable","name":"json","nameLocation":"34144:4:14","nodeType":"VariableDeclaration","scope":13295,"src":"34130:18:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13292,"name":"string","nodeType":"ElementaryTypeName","src":"34130:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"34129:20:14"},"scope":15270,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13308,"nodeType":"FunctionDefinition","src":"34185:160:14","nodes":[],"documentation":{"id":13296,"nodeType":"StructuredDocumentation","src":"34156:24:14","text":"See `serializeJson`."},"functionSelector":"201e43e2","implemented":false,"kind":"function","modifiers":[],"name":"serializeBytes32","nameLocation":"34194:16:14","parameters":{"id":13304,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13298,"mutability":"mutable","name":"objectKey","nameLocation":"34227:9:14","nodeType":"VariableDeclaration","scope":13308,"src":"34211:25:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13297,"name":"string","nodeType":"ElementaryTypeName","src":"34211:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13300,"mutability":"mutable","name":"valueKey","nameLocation":"34254:8:14","nodeType":"VariableDeclaration","scope":13308,"src":"34238:24:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13299,"name":"string","nodeType":"ElementaryTypeName","src":"34238:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13303,"mutability":"mutable","name":"values","nameLocation":"34283:6:14","nodeType":"VariableDeclaration","scope":13308,"src":"34264:25:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_calldata_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":13301,"name":"bytes32","nodeType":"ElementaryTypeName","src":"34264:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":13302,"nodeType":"ArrayTypeName","src":"34264:9:14","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"34210:80:14"},"returnParameters":{"id":13307,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13306,"mutability":"mutable","name":"json","nameLocation":"34339:4:14","nodeType":"VariableDeclaration","scope":13308,"src":"34325:18:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13305,"name":"string","nodeType":"ElementaryTypeName","src":"34325:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"34324:20:14"},"scope":15270,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13320,"nodeType":"FunctionDefinition","src":"34380:153:14","nodes":[],"documentation":{"id":13309,"nodeType":"StructuredDocumentation","src":"34351:24:14","text":"See `serializeJson`."},"functionSelector":"f21d52c7","implemented":false,"kind":"function","modifiers":[],"name":"serializeBytes","nameLocation":"34389:14:14","parameters":{"id":13316,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13311,"mutability":"mutable","name":"objectKey","nameLocation":"34420:9:14","nodeType":"VariableDeclaration","scope":13320,"src":"34404:25:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13310,"name":"string","nodeType":"ElementaryTypeName","src":"34404:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13313,"mutability":"mutable","name":"valueKey","nameLocation":"34447:8:14","nodeType":"VariableDeclaration","scope":13320,"src":"34431:24:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13312,"name":"string","nodeType":"ElementaryTypeName","src":"34431:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13315,"mutability":"mutable","name":"value","nameLocation":"34472:5:14","nodeType":"VariableDeclaration","scope":13320,"src":"34457:20:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":13314,"name":"bytes","nodeType":"ElementaryTypeName","src":"34457:5:14","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"34403:75:14"},"returnParameters":{"id":13319,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13318,"mutability":"mutable","name":"json","nameLocation":"34527:4:14","nodeType":"VariableDeclaration","scope":13320,"src":"34513:18:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13317,"name":"string","nodeType":"ElementaryTypeName","src":"34513:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"34512:20:14"},"scope":15270,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13333,"nodeType":"FunctionDefinition","src":"34568:156:14","nodes":[],"documentation":{"id":13321,"nodeType":"StructuredDocumentation","src":"34539:24:14","text":"See `serializeJson`."},"functionSelector":"9884b232","implemented":false,"kind":"function","modifiers":[],"name":"serializeBytes","nameLocation":"34577:14:14","parameters":{"id":13329,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13323,"mutability":"mutable","name":"objectKey","nameLocation":"34608:9:14","nodeType":"VariableDeclaration","scope":13333,"src":"34592:25:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13322,"name":"string","nodeType":"ElementaryTypeName","src":"34592:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13325,"mutability":"mutable","name":"valueKey","nameLocation":"34635:8:14","nodeType":"VariableDeclaration","scope":13333,"src":"34619:24:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13324,"name":"string","nodeType":"ElementaryTypeName","src":"34619:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13328,"mutability":"mutable","name":"values","nameLocation":"34662:6:14","nodeType":"VariableDeclaration","scope":13333,"src":"34645:23:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":13326,"name":"bytes","nodeType":"ElementaryTypeName","src":"34645:5:14","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":13327,"nodeType":"ArrayTypeName","src":"34645:7:14","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"34591:78:14"},"returnParameters":{"id":13332,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13331,"mutability":"mutable","name":"json","nameLocation":"34718:4:14","nodeType":"VariableDeclaration","scope":13333,"src":"34704:18:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13330,"name":"string","nodeType":"ElementaryTypeName","src":"34704:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"34703:20:14"},"scope":15270,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13345,"nodeType":"FunctionDefinition","src":"34759:143:14","nodes":[],"documentation":{"id":13334,"nodeType":"StructuredDocumentation","src":"34730:24:14","text":"See `serializeJson`."},"functionSelector":"3f33db60","implemented":false,"kind":"function","modifiers":[],"name":"serializeInt","nameLocation":"34768:12:14","parameters":{"id":13341,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13336,"mutability":"mutable","name":"objectKey","nameLocation":"34797:9:14","nodeType":"VariableDeclaration","scope":13345,"src":"34781:25:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13335,"name":"string","nodeType":"ElementaryTypeName","src":"34781:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13338,"mutability":"mutable","name":"valueKey","nameLocation":"34824:8:14","nodeType":"VariableDeclaration","scope":13345,"src":"34808:24:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13337,"name":"string","nodeType":"ElementaryTypeName","src":"34808:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13340,"mutability":"mutable","name":"value","nameLocation":"34841:5:14","nodeType":"VariableDeclaration","scope":13345,"src":"34834:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":13339,"name":"int256","nodeType":"ElementaryTypeName","src":"34834:6:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"34780:67:14"},"returnParameters":{"id":13344,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13343,"mutability":"mutable","name":"json","nameLocation":"34896:4:14","nodeType":"VariableDeclaration","scope":13345,"src":"34882:18:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13342,"name":"string","nodeType":"ElementaryTypeName","src":"34882:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"34881:20:14"},"scope":15270,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13358,"nodeType":"FunctionDefinition","src":"34937:155:14","nodes":[],"documentation":{"id":13346,"nodeType":"StructuredDocumentation","src":"34908:24:14","text":"See `serializeJson`."},"functionSelector":"7676e127","implemented":false,"kind":"function","modifiers":[],"name":"serializeInt","nameLocation":"34946:12:14","parameters":{"id":13354,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13348,"mutability":"mutable","name":"objectKey","nameLocation":"34975:9:14","nodeType":"VariableDeclaration","scope":13358,"src":"34959:25:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13347,"name":"string","nodeType":"ElementaryTypeName","src":"34959:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13350,"mutability":"mutable","name":"valueKey","nameLocation":"35002:8:14","nodeType":"VariableDeclaration","scope":13358,"src":"34986:24:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13349,"name":"string","nodeType":"ElementaryTypeName","src":"34986:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13353,"mutability":"mutable","name":"values","nameLocation":"35030:6:14","nodeType":"VariableDeclaration","scope":13358,"src":"35012:24:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_calldata_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":13351,"name":"int256","nodeType":"ElementaryTypeName","src":"35012:6:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":13352,"nodeType":"ArrayTypeName","src":"35012:8:14","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"34958:79:14"},"returnParameters":{"id":13357,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13356,"mutability":"mutable","name":"json","nameLocation":"35086:4:14","nodeType":"VariableDeclaration","scope":13358,"src":"35072:18:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13355,"name":"string","nodeType":"ElementaryTypeName","src":"35072:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"35071:20:14"},"scope":15270,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13368,"nodeType":"FunctionDefinition","src":"35289:111:14","nodes":[],"documentation":{"id":13359,"nodeType":"StructuredDocumentation","src":"35098:186:14","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:14","parameters":{"id":13364,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13361,"mutability":"mutable","name":"objectKey","nameLocation":"35328:9:14","nodeType":"VariableDeclaration","scope":13368,"src":"35312:25:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13360,"name":"string","nodeType":"ElementaryTypeName","src":"35312:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13363,"mutability":"mutable","name":"value","nameLocation":"35355:5:14","nodeType":"VariableDeclaration","scope":13368,"src":"35339:21:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13362,"name":"string","nodeType":"ElementaryTypeName","src":"35339:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"35311:50:14"},"returnParameters":{"id":13367,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13366,"mutability":"mutable","name":"json","nameLocation":"35394:4:14","nodeType":"VariableDeclaration","scope":13368,"src":"35380:18:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13365,"name":"string","nodeType":"ElementaryTypeName","src":"35380:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"35379:20:14"},"scope":15270,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13380,"nodeType":"FunctionDefinition","src":"35435:155:14","nodes":[],"documentation":{"id":13369,"nodeType":"StructuredDocumentation","src":"35406:24:14","text":"See `serializeJson`."},"functionSelector":"88da6d35","implemented":false,"kind":"function","modifiers":[],"name":"serializeString","nameLocation":"35444:15:14","parameters":{"id":13376,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13371,"mutability":"mutable","name":"objectKey","nameLocation":"35476:9:14","nodeType":"VariableDeclaration","scope":13380,"src":"35460:25:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13370,"name":"string","nodeType":"ElementaryTypeName","src":"35460:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13373,"mutability":"mutable","name":"valueKey","nameLocation":"35503:8:14","nodeType":"VariableDeclaration","scope":13380,"src":"35487:24:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13372,"name":"string","nodeType":"ElementaryTypeName","src":"35487:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13375,"mutability":"mutable","name":"value","nameLocation":"35529:5:14","nodeType":"VariableDeclaration","scope":13380,"src":"35513:21:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13374,"name":"string","nodeType":"ElementaryTypeName","src":"35513:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"35459:76:14"},"returnParameters":{"id":13379,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13378,"mutability":"mutable","name":"json","nameLocation":"35584:4:14","nodeType":"VariableDeclaration","scope":13380,"src":"35570:18:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13377,"name":"string","nodeType":"ElementaryTypeName","src":"35570:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"35569:20:14"},"scope":15270,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13393,"nodeType":"FunctionDefinition","src":"35625:158:14","nodes":[],"documentation":{"id":13381,"nodeType":"StructuredDocumentation","src":"35596:24:14","text":"See `serializeJson`."},"functionSelector":"561cd6f3","implemented":false,"kind":"function","modifiers":[],"name":"serializeString","nameLocation":"35634:15:14","parameters":{"id":13389,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13383,"mutability":"mutable","name":"objectKey","nameLocation":"35666:9:14","nodeType":"VariableDeclaration","scope":13393,"src":"35650:25:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13382,"name":"string","nodeType":"ElementaryTypeName","src":"35650:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13385,"mutability":"mutable","name":"valueKey","nameLocation":"35693:8:14","nodeType":"VariableDeclaration","scope":13393,"src":"35677:24:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13384,"name":"string","nodeType":"ElementaryTypeName","src":"35677:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13388,"mutability":"mutable","name":"values","nameLocation":"35721:6:14","nodeType":"VariableDeclaration","scope":13393,"src":"35703:24:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_string_calldata_ptr_$dyn_calldata_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":13386,"name":"string","nodeType":"ElementaryTypeName","src":"35703:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":13387,"nodeType":"ArrayTypeName","src":"35703:8:14","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"35649:79:14"},"returnParameters":{"id":13392,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13391,"mutability":"mutable","name":"json","nameLocation":"35777:4:14","nodeType":"VariableDeclaration","scope":13393,"src":"35763:18:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13390,"name":"string","nodeType":"ElementaryTypeName","src":"35763:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"35762:20:14"},"scope":15270,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13405,"nodeType":"FunctionDefinition","src":"35818:150:14","nodes":[],"documentation":{"id":13394,"nodeType":"StructuredDocumentation","src":"35789:24:14","text":"See `serializeJson`."},"functionSelector":"ae5a2ae8","implemented":false,"kind":"function","modifiers":[],"name":"serializeUintToHex","nameLocation":"35827:18:14","parameters":{"id":13401,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13396,"mutability":"mutable","name":"objectKey","nameLocation":"35862:9:14","nodeType":"VariableDeclaration","scope":13405,"src":"35846:25:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13395,"name":"string","nodeType":"ElementaryTypeName","src":"35846:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13398,"mutability":"mutable","name":"valueKey","nameLocation":"35889:8:14","nodeType":"VariableDeclaration","scope":13405,"src":"35873:24:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13397,"name":"string","nodeType":"ElementaryTypeName","src":"35873:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13400,"mutability":"mutable","name":"value","nameLocation":"35907:5:14","nodeType":"VariableDeclaration","scope":13405,"src":"35899:13:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13399,"name":"uint256","nodeType":"ElementaryTypeName","src":"35899:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"35845:68:14"},"returnParameters":{"id":13404,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13403,"mutability":"mutable","name":"json","nameLocation":"35962:4:14","nodeType":"VariableDeclaration","scope":13405,"src":"35948:18:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13402,"name":"string","nodeType":"ElementaryTypeName","src":"35948:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"35947:20:14"},"scope":15270,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13417,"nodeType":"FunctionDefinition","src":"36003:145:14","nodes":[],"documentation":{"id":13406,"nodeType":"StructuredDocumentation","src":"35974:24:14","text":"See `serializeJson`."},"functionSelector":"129e9002","implemented":false,"kind":"function","modifiers":[],"name":"serializeUint","nameLocation":"36012:13:14","parameters":{"id":13413,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13408,"mutability":"mutable","name":"objectKey","nameLocation":"36042:9:14","nodeType":"VariableDeclaration","scope":13417,"src":"36026:25:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13407,"name":"string","nodeType":"ElementaryTypeName","src":"36026:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13410,"mutability":"mutable","name":"valueKey","nameLocation":"36069:8:14","nodeType":"VariableDeclaration","scope":13417,"src":"36053:24:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13409,"name":"string","nodeType":"ElementaryTypeName","src":"36053:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13412,"mutability":"mutable","name":"value","nameLocation":"36087:5:14","nodeType":"VariableDeclaration","scope":13417,"src":"36079:13:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13411,"name":"uint256","nodeType":"ElementaryTypeName","src":"36079:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"36025:68:14"},"returnParameters":{"id":13416,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13415,"mutability":"mutable","name":"json","nameLocation":"36142:4:14","nodeType":"VariableDeclaration","scope":13417,"src":"36128:18:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13414,"name":"string","nodeType":"ElementaryTypeName","src":"36128:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"36127:20:14"},"scope":15270,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13430,"nodeType":"FunctionDefinition","src":"36183:157:14","nodes":[],"documentation":{"id":13418,"nodeType":"StructuredDocumentation","src":"36154:24:14","text":"See `serializeJson`."},"functionSelector":"fee9a469","implemented":false,"kind":"function","modifiers":[],"name":"serializeUint","nameLocation":"36192:13:14","parameters":{"id":13426,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13420,"mutability":"mutable","name":"objectKey","nameLocation":"36222:9:14","nodeType":"VariableDeclaration","scope":13430,"src":"36206:25:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13419,"name":"string","nodeType":"ElementaryTypeName","src":"36206:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13422,"mutability":"mutable","name":"valueKey","nameLocation":"36249:8:14","nodeType":"VariableDeclaration","scope":13430,"src":"36233:24:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13421,"name":"string","nodeType":"ElementaryTypeName","src":"36233:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13425,"mutability":"mutable","name":"values","nameLocation":"36278:6:14","nodeType":"VariableDeclaration","scope":13430,"src":"36259:25:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":13423,"name":"uint256","nodeType":"ElementaryTypeName","src":"36259:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":13424,"nodeType":"ArrayTypeName","src":"36259:9:14","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"36205:80:14"},"returnParameters":{"id":13429,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13428,"mutability":"mutable","name":"json","nameLocation":"36334:4:14","nodeType":"VariableDeclaration","scope":13430,"src":"36320:18:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13427,"name":"string","nodeType":"ElementaryTypeName","src":"36320:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"36319:20:14"},"scope":15270,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13438,"nodeType":"FunctionDefinition","src":"36440:72:14","nodes":[],"documentation":{"id":13431,"nodeType":"StructuredDocumentation","src":"36346:89:14","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:14","parameters":{"id":13436,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13433,"mutability":"mutable","name":"json","nameLocation":"36475:4:14","nodeType":"VariableDeclaration","scope":13438,"src":"36459:20:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13432,"name":"string","nodeType":"ElementaryTypeName","src":"36459:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13435,"mutability":"mutable","name":"path","nameLocation":"36497:4:14","nodeType":"VariableDeclaration","scope":13438,"src":"36481:20:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13434,"name":"string","nodeType":"ElementaryTypeName","src":"36481:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"36458:44:14"},"returnParameters":{"id":13437,"nodeType":"ParameterList","parameters":[],"src":"36511:0:14"},"scope":15270,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13448,"nodeType":"FunctionDefinition","src":"36738:98:14","nodes":[],"documentation":{"id":13439,"nodeType":"StructuredDocumentation","src":"36518:215:14","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:14","parameters":{"id":13446,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13441,"mutability":"mutable","name":"json","nameLocation":"36773:4:14","nodeType":"VariableDeclaration","scope":13448,"src":"36757:20:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13440,"name":"string","nodeType":"ElementaryTypeName","src":"36757:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13443,"mutability":"mutable","name":"path","nameLocation":"36795:4:14","nodeType":"VariableDeclaration","scope":13448,"src":"36779:20:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13442,"name":"string","nodeType":"ElementaryTypeName","src":"36779:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13445,"mutability":"mutable","name":"valueKey","nameLocation":"36817:8:14","nodeType":"VariableDeclaration","scope":13448,"src":"36801:24:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13444,"name":"string","nodeType":"ElementaryTypeName","src":"36801:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"36756:70:14"},"returnParameters":{"id":13447,"nodeType":"ParameterList","parameters":[],"src":"36835:0:14"},"scope":15270,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13452,"nodeType":"FunctionDefinition","src":"37375:30:14","nodes":[],"documentation":{"id":13449,"nodeType":"StructuredDocumentation","src":"36878:492:14","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:14","parameters":{"id":13450,"nodeType":"ParameterList","parameters":[],"src":"37393:2:14"},"returnParameters":{"id":13451,"nodeType":"ParameterList","parameters":[],"src":"37404:0:14"},"scope":15270,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13458,"nodeType":"FunctionDefinition","src":"37575:44:14","nodes":[],"documentation":{"id":13453,"nodeType":"StructuredDocumentation","src":"37411:159:14","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:14","parameters":{"id":13456,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13455,"mutability":"mutable","name":"signer","nameLocation":"37602:6:14","nodeType":"VariableDeclaration","scope":13458,"src":"37594:14:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13454,"name":"address","nodeType":"ElementaryTypeName","src":"37594:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"37593:16:14"},"returnParameters":{"id":13457,"nodeType":"ParameterList","parameters":[],"src":"37618:0:14"},"scope":15270,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13464,"nodeType":"FunctionDefinition","src":"37793:48:14","nodes":[],"documentation":{"id":13459,"nodeType":"StructuredDocumentation","src":"37625:163:14","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:14","parameters":{"id":13462,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13461,"mutability":"mutable","name":"privateKey","nameLocation":"37820:10:14","nodeType":"VariableDeclaration","scope":13464,"src":"37812:18:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13460,"name":"uint256","nodeType":"ElementaryTypeName","src":"37812:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"37811:20:14"},"returnParameters":{"id":13463,"nodeType":"ParameterList","parameters":[],"src":"37840:0:14"},"scope":15270,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13468,"nodeType":"FunctionDefinition","src":"38351:35:14","nodes":[],"documentation":{"id":13465,"nodeType":"StructuredDocumentation","src":"37847:499:14","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:14","parameters":{"id":13466,"nodeType":"ParameterList","parameters":[],"src":"38374:2:14"},"returnParameters":{"id":13467,"nodeType":"ParameterList","parameters":[],"src":"38385:0:14"},"scope":15270,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13474,"nodeType":"FunctionDefinition","src":"38548:49:14","nodes":[],"documentation":{"id":13469,"nodeType":"StructuredDocumentation","src":"38392:151:14","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:14","parameters":{"id":13472,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13471,"mutability":"mutable","name":"signer","nameLocation":"38580:6:14","nodeType":"VariableDeclaration","scope":13474,"src":"38572:14:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13470,"name":"address","nodeType":"ElementaryTypeName","src":"38572:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"38571:16:14"},"returnParameters":{"id":13473,"nodeType":"ParameterList","parameters":[],"src":"38596:0:14"},"scope":15270,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13480,"nodeType":"FunctionDefinition","src":"38763:53:14","nodes":[],"documentation":{"id":13475,"nodeType":"StructuredDocumentation","src":"38603:155:14","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:14","parameters":{"id":13478,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13477,"mutability":"mutable","name":"privateKey","nameLocation":"38795:10:14","nodeType":"VariableDeclaration","scope":13480,"src":"38787:18:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13476,"name":"uint256","nodeType":"ElementaryTypeName","src":"38787:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"38786:20:14"},"returnParameters":{"id":13479,"nodeType":"ParameterList","parameters":[],"src":"38815:0:14"},"scope":15270,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13484,"nodeType":"FunctionDefinition","src":"38869:34:14","nodes":[],"documentation":{"id":13481,"nodeType":"StructuredDocumentation","src":"38822:42:14","text":"Stops collecting onchain transactions."},"functionSelector":"76eadd36","implemented":false,"kind":"function","modifiers":[],"name":"stopBroadcast","nameLocation":"38878:13:14","parameters":{"id":13482,"nodeType":"ParameterList","parameters":[],"src":"38891:2:14"},"returnParameters":{"id":13483,"nodeType":"ParameterList","parameters":[],"src":"38902:0:14"},"scope":15270,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13494,"nodeType":"FunctionDefinition","src":"39152:93:14","nodes":[],"documentation":{"id":13485,"nodeType":"StructuredDocumentation","src":"38942:205:14","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:14","parameters":{"id":13490,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13487,"mutability":"mutable","name":"input","nameLocation":"39185:5:14","nodeType":"VariableDeclaration","scope":13494,"src":"39169:21:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13486,"name":"string","nodeType":"ElementaryTypeName","src":"39169:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13489,"mutability":"mutable","name":"key","nameLocation":"39208:3:14","nodeType":"VariableDeclaration","scope":13494,"src":"39192:19:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13488,"name":"string","nodeType":"ElementaryTypeName","src":"39192:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"39168:44:14"},"returnParameters":{"id":13493,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13492,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13494,"src":"39236:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13491,"name":"uint256","nodeType":"ElementaryTypeName","src":"39236:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"39235:9:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13502,"nodeType":"FunctionDefinition","src":"39304:100:14","nodes":[],"documentation":{"id":13495,"nodeType":"StructuredDocumentation","src":"39251:48:14","text":"Parses the given `string` into an `address`."},"functionSelector":"c6ce059d","implemented":false,"kind":"function","modifiers":[],"name":"parseAddress","nameLocation":"39313:12:14","parameters":{"id":13498,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13497,"mutability":"mutable","name":"stringifiedValue","nameLocation":"39342:16:14","nodeType":"VariableDeclaration","scope":13502,"src":"39326:32:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13496,"name":"string","nodeType":"ElementaryTypeName","src":"39326:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"39325:34:14"},"returnParameters":{"id":13501,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13500,"mutability":"mutable","name":"parsedValue","nameLocation":"39391:11:14","nodeType":"VariableDeclaration","scope":13502,"src":"39383:19:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13499,"name":"address","nodeType":"ElementaryTypeName","src":"39383:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"39382:21:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13510,"nodeType":"FunctionDefinition","src":"39459:94:14","nodes":[],"documentation":{"id":13503,"nodeType":"StructuredDocumentation","src":"39410:44:14","text":"Parses the given `string` into a `bool`."},"functionSelector":"974ef924","implemented":false,"kind":"function","modifiers":[],"name":"parseBool","nameLocation":"39468:9:14","parameters":{"id":13506,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13505,"mutability":"mutable","name":"stringifiedValue","nameLocation":"39494:16:14","nodeType":"VariableDeclaration","scope":13510,"src":"39478:32:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13504,"name":"string","nodeType":"ElementaryTypeName","src":"39478:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"39477:34:14"},"returnParameters":{"id":13509,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13508,"mutability":"mutable","name":"parsedValue","nameLocation":"39540:11:14","nodeType":"VariableDeclaration","scope":13510,"src":"39535:16:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13507,"name":"bool","nodeType":"ElementaryTypeName","src":"39535:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"39534:18:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13518,"nodeType":"FunctionDefinition","src":"39607:103:14","nodes":[],"documentation":{"id":13511,"nodeType":"StructuredDocumentation","src":"39559:43:14","text":"Parses the given `string` into `bytes`."},"functionSelector":"8f5d232d","implemented":false,"kind":"function","modifiers":[],"name":"parseBytes","nameLocation":"39616:10:14","parameters":{"id":13514,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13513,"mutability":"mutable","name":"stringifiedValue","nameLocation":"39643:16:14","nodeType":"VariableDeclaration","scope":13518,"src":"39627:32:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13512,"name":"string","nodeType":"ElementaryTypeName","src":"39627:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"39626:34:14"},"returnParameters":{"id":13517,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13516,"mutability":"mutable","name":"parsedValue","nameLocation":"39697:11:14","nodeType":"VariableDeclaration","scope":13518,"src":"39684:24:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":13515,"name":"bytes","nodeType":"ElementaryTypeName","src":"39684:5:14","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"39683:26:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13526,"nodeType":"FunctionDefinition","src":"39768:100:14","nodes":[],"documentation":{"id":13519,"nodeType":"StructuredDocumentation","src":"39716:47:14","text":"Parses the given `string` into a `bytes32`."},"functionSelector":"087e6e81","implemented":false,"kind":"function","modifiers":[],"name":"parseBytes32","nameLocation":"39777:12:14","parameters":{"id":13522,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13521,"mutability":"mutable","name":"stringifiedValue","nameLocation":"39806:16:14","nodeType":"VariableDeclaration","scope":13526,"src":"39790:32:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13520,"name":"string","nodeType":"ElementaryTypeName","src":"39790:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"39789:34:14"},"returnParameters":{"id":13525,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13524,"mutability":"mutable","name":"parsedValue","nameLocation":"39855:11:14","nodeType":"VariableDeclaration","scope":13526,"src":"39847:19:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13523,"name":"bytes32","nodeType":"ElementaryTypeName","src":"39847:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"39846:21:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13534,"nodeType":"FunctionDefinition","src":"39925:95:14","nodes":[],"documentation":{"id":13527,"nodeType":"StructuredDocumentation","src":"39874:46:14","text":"Parses the given `string` into a `int256`."},"functionSelector":"42346c5e","implemented":false,"kind":"function","modifiers":[],"name":"parseInt","nameLocation":"39934:8:14","parameters":{"id":13530,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13529,"mutability":"mutable","name":"stringifiedValue","nameLocation":"39959:16:14","nodeType":"VariableDeclaration","scope":13534,"src":"39943:32:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13528,"name":"string","nodeType":"ElementaryTypeName","src":"39943:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"39942:34:14"},"returnParameters":{"id":13533,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13532,"mutability":"mutable","name":"parsedValue","nameLocation":"40007:11:14","nodeType":"VariableDeclaration","scope":13534,"src":"40000:18:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":13531,"name":"int256","nodeType":"ElementaryTypeName","src":"40000:6:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"39999:20:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13542,"nodeType":"FunctionDefinition","src":"40078:97:14","nodes":[],"documentation":{"id":13535,"nodeType":"StructuredDocumentation","src":"40026:47:14","text":"Parses the given `string` into a `uint256`."},"functionSelector":"fa91454d","implemented":false,"kind":"function","modifiers":[],"name":"parseUint","nameLocation":"40087:9:14","parameters":{"id":13538,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13537,"mutability":"mutable","name":"stringifiedValue","nameLocation":"40113:16:14","nodeType":"VariableDeclaration","scope":13542,"src":"40097:32:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13536,"name":"string","nodeType":"ElementaryTypeName","src":"40097:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"40096:34:14"},"returnParameters":{"id":13541,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13540,"mutability":"mutable","name":"parsedValue","nameLocation":"40162:11:14","nodeType":"VariableDeclaration","scope":13542,"src":"40154:19:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13539,"name":"uint256","nodeType":"ElementaryTypeName","src":"40154:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"40153:21:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13554,"nodeType":"FunctionDefinition","src":"40253:151:14","nodes":[],"documentation":{"id":13543,"nodeType":"StructuredDocumentation","src":"40181:67:14","text":"Replaces occurrences of `from` in the given `string` with `to`."},"functionSelector":"e00ad03e","implemented":false,"kind":"function","modifiers":[],"name":"replace","nameLocation":"40262:7:14","parameters":{"id":13550,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13545,"mutability":"mutable","name":"input","nameLocation":"40286:5:14","nodeType":"VariableDeclaration","scope":13554,"src":"40270:21:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13544,"name":"string","nodeType":"ElementaryTypeName","src":"40270:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13547,"mutability":"mutable","name":"from","nameLocation":"40309:4:14","nodeType":"VariableDeclaration","scope":13554,"src":"40293:20:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13546,"name":"string","nodeType":"ElementaryTypeName","src":"40293:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13549,"mutability":"mutable","name":"to","nameLocation":"40331:2:14","nodeType":"VariableDeclaration","scope":13554,"src":"40315:18:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13548,"name":"string","nodeType":"ElementaryTypeName","src":"40315:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"40269:65:14"},"returnParameters":{"id":13553,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13552,"mutability":"mutable","name":"output","nameLocation":"40396:6:14","nodeType":"VariableDeclaration","scope":13554,"src":"40382:20:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13551,"name":"string","nodeType":"ElementaryTypeName","src":"40382:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"40381:22:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13565,"nodeType":"FunctionDefinition","src":"40497:113:14","nodes":[],"documentation":{"id":13555,"nodeType":"StructuredDocumentation","src":"40410:82:14","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:14","parameters":{"id":13560,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13557,"mutability":"mutable","name":"input","nameLocation":"40528:5:14","nodeType":"VariableDeclaration","scope":13565,"src":"40512:21:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13556,"name":"string","nodeType":"ElementaryTypeName","src":"40512:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13559,"mutability":"mutable","name":"delimiter","nameLocation":"40551:9:14","nodeType":"VariableDeclaration","scope":13565,"src":"40535:25:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13558,"name":"string","nodeType":"ElementaryTypeName","src":"40535:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"40511:50:14"},"returnParameters":{"id":13564,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13563,"mutability":"mutable","name":"outputs","nameLocation":"40601:7:14","nodeType":"VariableDeclaration","scope":13565,"src":"40585:23:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":13561,"name":"string","nodeType":"ElementaryTypeName","src":"40585:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":13562,"nodeType":"ArrayTypeName","src":"40585:8:14","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"40584:25:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13573,"nodeType":"FunctionDefinition","src":"40672:89:14","nodes":[],"documentation":{"id":13566,"nodeType":"StructuredDocumentation","src":"40616:51:14","text":"Converts the given `string` value to Lowercase."},"functionSelector":"50bb0884","implemented":false,"kind":"function","modifiers":[],"name":"toLowercase","nameLocation":"40681:11:14","parameters":{"id":13569,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13568,"mutability":"mutable","name":"input","nameLocation":"40709:5:14","nodeType":"VariableDeclaration","scope":13573,"src":"40693:21:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13567,"name":"string","nodeType":"ElementaryTypeName","src":"40693:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"40692:23:14"},"returnParameters":{"id":13572,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13571,"mutability":"mutable","name":"output","nameLocation":"40753:6:14","nodeType":"VariableDeclaration","scope":13573,"src":"40739:20:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13570,"name":"string","nodeType":"ElementaryTypeName","src":"40739:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"40738:22:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13581,"nodeType":"FunctionDefinition","src":"40815:88:14","nodes":[],"documentation":{"id":13574,"nodeType":"StructuredDocumentation","src":"40767:43:14","text":"Converts the given value to a `string`."},"functionSelector":"56ca623e","implemented":false,"kind":"function","modifiers":[],"name":"toString","nameLocation":"40824:8:14","parameters":{"id":13577,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13576,"mutability":"mutable","name":"value","nameLocation":"40841:5:14","nodeType":"VariableDeclaration","scope":13581,"src":"40833:13:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13575,"name":"address","nodeType":"ElementaryTypeName","src":"40833:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"40832:15:14"},"returnParameters":{"id":13580,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13579,"mutability":"mutable","name":"stringifiedValue","nameLocation":"40885:16:14","nodeType":"VariableDeclaration","scope":13581,"src":"40871:30:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13578,"name":"string","nodeType":"ElementaryTypeName","src":"40871:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"40870:32:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13589,"nodeType":"FunctionDefinition","src":"40957:95:14","nodes":[],"documentation":{"id":13582,"nodeType":"StructuredDocumentation","src":"40909:43:14","text":"Converts the given value to a `string`."},"functionSelector":"71aad10d","implemented":false,"kind":"function","modifiers":[],"name":"toString","nameLocation":"40966:8:14","parameters":{"id":13585,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13584,"mutability":"mutable","name":"value","nameLocation":"40990:5:14","nodeType":"VariableDeclaration","scope":13589,"src":"40975:20:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":13583,"name":"bytes","nodeType":"ElementaryTypeName","src":"40975:5:14","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"40974:22:14"},"returnParameters":{"id":13588,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13587,"mutability":"mutable","name":"stringifiedValue","nameLocation":"41034:16:14","nodeType":"VariableDeclaration","scope":13589,"src":"41020:30:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13586,"name":"string","nodeType":"ElementaryTypeName","src":"41020:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"41019:32:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13597,"nodeType":"FunctionDefinition","src":"41106:88:14","nodes":[],"documentation":{"id":13590,"nodeType":"StructuredDocumentation","src":"41058:43:14","text":"Converts the given value to a `string`."},"functionSelector":"b11a19e8","implemented":false,"kind":"function","modifiers":[],"name":"toString","nameLocation":"41115:8:14","parameters":{"id":13593,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13592,"mutability":"mutable","name":"value","nameLocation":"41132:5:14","nodeType":"VariableDeclaration","scope":13597,"src":"41124:13:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13591,"name":"bytes32","nodeType":"ElementaryTypeName","src":"41124:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"41123:15:14"},"returnParameters":{"id":13596,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13595,"mutability":"mutable","name":"stringifiedValue","nameLocation":"41176:16:14","nodeType":"VariableDeclaration","scope":13597,"src":"41162:30:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13594,"name":"string","nodeType":"ElementaryTypeName","src":"41162:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"41161:32:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13605,"nodeType":"FunctionDefinition","src":"41248:85:14","nodes":[],"documentation":{"id":13598,"nodeType":"StructuredDocumentation","src":"41200:43:14","text":"Converts the given value to a `string`."},"functionSelector":"71dce7da","implemented":false,"kind":"function","modifiers":[],"name":"toString","nameLocation":"41257:8:14","parameters":{"id":13601,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13600,"mutability":"mutable","name":"value","nameLocation":"41271:5:14","nodeType":"VariableDeclaration","scope":13605,"src":"41266:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13599,"name":"bool","nodeType":"ElementaryTypeName","src":"41266:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"41265:12:14"},"returnParameters":{"id":13604,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13603,"mutability":"mutable","name":"stringifiedValue","nameLocation":"41315:16:14","nodeType":"VariableDeclaration","scope":13605,"src":"41301:30:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13602,"name":"string","nodeType":"ElementaryTypeName","src":"41301:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"41300:32:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13613,"nodeType":"FunctionDefinition","src":"41387:88:14","nodes":[],"documentation":{"id":13606,"nodeType":"StructuredDocumentation","src":"41339:43:14","text":"Converts the given value to a `string`."},"functionSelector":"6900a3ae","implemented":false,"kind":"function","modifiers":[],"name":"toString","nameLocation":"41396:8:14","parameters":{"id":13609,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13608,"mutability":"mutable","name":"value","nameLocation":"41413:5:14","nodeType":"VariableDeclaration","scope":13613,"src":"41405:13:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13607,"name":"uint256","nodeType":"ElementaryTypeName","src":"41405:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"41404:15:14"},"returnParameters":{"id":13612,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13611,"mutability":"mutable","name":"stringifiedValue","nameLocation":"41457:16:14","nodeType":"VariableDeclaration","scope":13613,"src":"41443:30:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13610,"name":"string","nodeType":"ElementaryTypeName","src":"41443:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"41442:32:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13621,"nodeType":"FunctionDefinition","src":"41529:87:14","nodes":[],"documentation":{"id":13614,"nodeType":"StructuredDocumentation","src":"41481:43:14","text":"Converts the given value to a `string`."},"functionSelector":"a322c40e","implemented":false,"kind":"function","modifiers":[],"name":"toString","nameLocation":"41538:8:14","parameters":{"id":13617,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13616,"mutability":"mutable","name":"value","nameLocation":"41554:5:14","nodeType":"VariableDeclaration","scope":13621,"src":"41547:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":13615,"name":"int256","nodeType":"ElementaryTypeName","src":"41547:6:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"41546:14:14"},"returnParameters":{"id":13620,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13619,"mutability":"mutable","name":"stringifiedValue","nameLocation":"41598:16:14","nodeType":"VariableDeclaration","scope":13621,"src":"41584:30:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13618,"name":"string","nodeType":"ElementaryTypeName","src":"41584:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"41583:32:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13629,"nodeType":"FunctionDefinition","src":"41678:89:14","nodes":[],"documentation":{"id":13622,"nodeType":"StructuredDocumentation","src":"41622:51:14","text":"Converts the given `string` value to Uppercase."},"functionSelector":"074ae3d7","implemented":false,"kind":"function","modifiers":[],"name":"toUppercase","nameLocation":"41687:11:14","parameters":{"id":13625,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13624,"mutability":"mutable","name":"input","nameLocation":"41715:5:14","nodeType":"VariableDeclaration","scope":13629,"src":"41699:21:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13623,"name":"string","nodeType":"ElementaryTypeName","src":"41699:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"41698:23:14"},"returnParameters":{"id":13628,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13627,"mutability":"mutable","name":"output","nameLocation":"41759:6:14","nodeType":"VariableDeclaration","scope":13629,"src":"41745:20:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13626,"name":"string","nodeType":"ElementaryTypeName","src":"41745:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"41744:22:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13637,"nodeType":"FunctionDefinition","src":"41850:82:14","nodes":[],"documentation":{"id":13630,"nodeType":"StructuredDocumentation","src":"41773:72:14","text":"Trims leading and trailing whitespace from the given `string` value."},"functionSelector":"b2dad155","implemented":false,"kind":"function","modifiers":[],"name":"trim","nameLocation":"41859:4:14","parameters":{"id":13633,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13632,"mutability":"mutable","name":"input","nameLocation":"41880:5:14","nodeType":"VariableDeclaration","scope":13637,"src":"41864:21:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13631,"name":"string","nodeType":"ElementaryTypeName","src":"41864:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"41863:23:14"},"returnParameters":{"id":13636,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13635,"mutability":"mutable","name":"output","nameLocation":"41924:6:14","nodeType":"VariableDeclaration","scope":13637,"src":"41910:20:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13634,"name":"string","nodeType":"ElementaryTypeName","src":"41910:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"41909:22:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13649,"nodeType":"FunctionDefinition","src":"42127:113:14","nodes":[],"documentation":{"id":13638,"nodeType":"StructuredDocumentation","src":"41972:150:14","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:14","parameters":{"id":13647,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13640,"mutability":"mutable","name":"left","nameLocation":"42169:4:14","nodeType":"VariableDeclaration","scope":13649,"src":"42161:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13639,"name":"uint256","nodeType":"ElementaryTypeName","src":"42161:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13642,"mutability":"mutable","name":"right","nameLocation":"42183:5:14","nodeType":"VariableDeclaration","scope":13649,"src":"42175:13:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13641,"name":"uint256","nodeType":"ElementaryTypeName","src":"42175:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13644,"mutability":"mutable","name":"maxDelta","nameLocation":"42198:8:14","nodeType":"VariableDeclaration","scope":13649,"src":"42190:16:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13643,"name":"uint256","nodeType":"ElementaryTypeName","src":"42190:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13646,"mutability":"mutable","name":"decimals","nameLocation":"42216:8:14","nodeType":"VariableDeclaration","scope":13649,"src":"42208:16:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13645,"name":"uint256","nodeType":"ElementaryTypeName","src":"42208:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"42160:65:14"},"returnParameters":{"id":13648,"nodeType":"ParameterList","parameters":[],"src":"42239:0:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13663,"nodeType":"FunctionDefinition","src":"42455:182:14","nodes":[],"documentation":{"id":13650,"nodeType":"StructuredDocumentation","src":"42246:204:14","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:14","parameters":{"id":13661,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13652,"mutability":"mutable","name":"left","nameLocation":"42506:4:14","nodeType":"VariableDeclaration","scope":13663,"src":"42498:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13651,"name":"uint256","nodeType":"ElementaryTypeName","src":"42498:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13654,"mutability":"mutable","name":"right","nameLocation":"42528:5:14","nodeType":"VariableDeclaration","scope":13663,"src":"42520:13:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13653,"name":"uint256","nodeType":"ElementaryTypeName","src":"42520:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13656,"mutability":"mutable","name":"maxDelta","nameLocation":"42551:8:14","nodeType":"VariableDeclaration","scope":13663,"src":"42543:16:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13655,"name":"uint256","nodeType":"ElementaryTypeName","src":"42543:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13658,"mutability":"mutable","name":"decimals","nameLocation":"42577:8:14","nodeType":"VariableDeclaration","scope":13663,"src":"42569:16:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13657,"name":"uint256","nodeType":"ElementaryTypeName","src":"42569:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13660,"mutability":"mutable","name":"error","nameLocation":"42611:5:14","nodeType":"VariableDeclaration","scope":13663,"src":"42595:21:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13659,"name":"string","nodeType":"ElementaryTypeName","src":"42595:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"42488:134:14"},"returnParameters":{"id":13662,"nodeType":"ParameterList","parameters":[],"src":"42636:0:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13675,"nodeType":"FunctionDefinition","src":"42797:111:14","nodes":[],"documentation":{"id":13664,"nodeType":"StructuredDocumentation","src":"42643:149:14","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:14","parameters":{"id":13673,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13666,"mutability":"mutable","name":"left","nameLocation":"42838:4:14","nodeType":"VariableDeclaration","scope":13675,"src":"42831:11:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":13665,"name":"int256","nodeType":"ElementaryTypeName","src":"42831:6:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":13668,"mutability":"mutable","name":"right","nameLocation":"42851:5:14","nodeType":"VariableDeclaration","scope":13675,"src":"42844:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":13667,"name":"int256","nodeType":"ElementaryTypeName","src":"42844:6:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":13670,"mutability":"mutable","name":"maxDelta","nameLocation":"42866:8:14","nodeType":"VariableDeclaration","scope":13675,"src":"42858:16:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13669,"name":"uint256","nodeType":"ElementaryTypeName","src":"42858:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13672,"mutability":"mutable","name":"decimals","nameLocation":"42884:8:14","nodeType":"VariableDeclaration","scope":13675,"src":"42876:16:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13671,"name":"uint256","nodeType":"ElementaryTypeName","src":"42876:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"42830:63:14"},"returnParameters":{"id":13674,"nodeType":"ParameterList","parameters":[],"src":"42907:0:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13689,"nodeType":"FunctionDefinition","src":"43122:180:14","nodes":[],"documentation":{"id":13676,"nodeType":"StructuredDocumentation","src":"42914:203:14","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:14","parameters":{"id":13687,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13678,"mutability":"mutable","name":"left","nameLocation":"43172:4:14","nodeType":"VariableDeclaration","scope":13689,"src":"43165:11:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":13677,"name":"int256","nodeType":"ElementaryTypeName","src":"43165:6:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":13680,"mutability":"mutable","name":"right","nameLocation":"43193:5:14","nodeType":"VariableDeclaration","scope":13689,"src":"43186:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":13679,"name":"int256","nodeType":"ElementaryTypeName","src":"43186:6:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":13682,"mutability":"mutable","name":"maxDelta","nameLocation":"43216:8:14","nodeType":"VariableDeclaration","scope":13689,"src":"43208:16:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13681,"name":"uint256","nodeType":"ElementaryTypeName","src":"43208:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13684,"mutability":"mutable","name":"decimals","nameLocation":"43242:8:14","nodeType":"VariableDeclaration","scope":13689,"src":"43234:16:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13683,"name":"uint256","nodeType":"ElementaryTypeName","src":"43234:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13686,"mutability":"mutable","name":"error","nameLocation":"43276:5:14","nodeType":"VariableDeclaration","scope":13689,"src":"43260:21:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13685,"name":"string","nodeType":"ElementaryTypeName","src":"43260:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"43155:132:14"},"returnParameters":{"id":13688,"nodeType":"ParameterList","parameters":[],"src":"43301:0:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13699,"nodeType":"FunctionDefinition","src":"43406:88:14","nodes":[],"documentation":{"id":13690,"nodeType":"StructuredDocumentation","src":"43308:93:14","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:14","parameters":{"id":13697,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13692,"mutability":"mutable","name":"left","nameLocation":"43441:4:14","nodeType":"VariableDeclaration","scope":13699,"src":"43433:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13691,"name":"uint256","nodeType":"ElementaryTypeName","src":"43433:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13694,"mutability":"mutable","name":"right","nameLocation":"43455:5:14","nodeType":"VariableDeclaration","scope":13699,"src":"43447:13:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13693,"name":"uint256","nodeType":"ElementaryTypeName","src":"43447:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13696,"mutability":"mutable","name":"maxDelta","nameLocation":"43470:8:14","nodeType":"VariableDeclaration","scope":13699,"src":"43462:16:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13695,"name":"uint256","nodeType":"ElementaryTypeName","src":"43462:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"43432:47:14"},"returnParameters":{"id":13698,"nodeType":"ParameterList","parameters":[],"src":"43493:0:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13711,"nodeType":"FunctionDefinition","src":"43660:111:14","nodes":[],"documentation":{"id":13700,"nodeType":"StructuredDocumentation","src":"43500:155:14","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:14","parameters":{"id":13709,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13702,"mutability":"mutable","name":"left","nameLocation":"43695:4:14","nodeType":"VariableDeclaration","scope":13711,"src":"43687:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13701,"name":"uint256","nodeType":"ElementaryTypeName","src":"43687:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13704,"mutability":"mutable","name":"right","nameLocation":"43709:5:14","nodeType":"VariableDeclaration","scope":13711,"src":"43701:13:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13703,"name":"uint256","nodeType":"ElementaryTypeName","src":"43701:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13706,"mutability":"mutable","name":"maxDelta","nameLocation":"43724:8:14","nodeType":"VariableDeclaration","scope":13711,"src":"43716:16:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13705,"name":"uint256","nodeType":"ElementaryTypeName","src":"43716:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13708,"mutability":"mutable","name":"error","nameLocation":"43750:5:14","nodeType":"VariableDeclaration","scope":13711,"src":"43734:21:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13707,"name":"string","nodeType":"ElementaryTypeName","src":"43734:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"43686:70:14"},"returnParameters":{"id":13710,"nodeType":"ParameterList","parameters":[],"src":"43770:0:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13721,"nodeType":"FunctionDefinition","src":"43874:86:14","nodes":[],"documentation":{"id":13712,"nodeType":"StructuredDocumentation","src":"43777:92:14","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:14","parameters":{"id":13719,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13714,"mutability":"mutable","name":"left","nameLocation":"43908:4:14","nodeType":"VariableDeclaration","scope":13721,"src":"43901:11:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":13713,"name":"int256","nodeType":"ElementaryTypeName","src":"43901:6:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":13716,"mutability":"mutable","name":"right","nameLocation":"43921:5:14","nodeType":"VariableDeclaration","scope":13721,"src":"43914:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":13715,"name":"int256","nodeType":"ElementaryTypeName","src":"43914:6:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":13718,"mutability":"mutable","name":"maxDelta","nameLocation":"43936:8:14","nodeType":"VariableDeclaration","scope":13721,"src":"43928:16:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13717,"name":"uint256","nodeType":"ElementaryTypeName","src":"43928:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"43900:45:14"},"returnParameters":{"id":13720,"nodeType":"ParameterList","parameters":[],"src":"43959:0:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13733,"nodeType":"FunctionDefinition","src":"44125:109:14","nodes":[],"documentation":{"id":13722,"nodeType":"StructuredDocumentation","src":"43966:154:14","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:14","parameters":{"id":13731,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13724,"mutability":"mutable","name":"left","nameLocation":"44159:4:14","nodeType":"VariableDeclaration","scope":13733,"src":"44152:11:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":13723,"name":"int256","nodeType":"ElementaryTypeName","src":"44152:6:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":13726,"mutability":"mutable","name":"right","nameLocation":"44172:5:14","nodeType":"VariableDeclaration","scope":13733,"src":"44165:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":13725,"name":"int256","nodeType":"ElementaryTypeName","src":"44165:6:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":13728,"mutability":"mutable","name":"maxDelta","nameLocation":"44187:8:14","nodeType":"VariableDeclaration","scope":13733,"src":"44179:16:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13727,"name":"uint256","nodeType":"ElementaryTypeName","src":"44179:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13730,"mutability":"mutable","name":"error","nameLocation":"44213:5:14","nodeType":"VariableDeclaration","scope":13733,"src":"44197:21:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13729,"name":"string","nodeType":"ElementaryTypeName","src":"44197:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"44151:68:14"},"returnParameters":{"id":13732,"nodeType":"ParameterList","parameters":[],"src":"44233:0:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13745,"nodeType":"FunctionDefinition","src":"44505:136:14","nodes":[],"documentation":{"id":13734,"nodeType":"StructuredDocumentation","src":"44240:260:14","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:14","parameters":{"id":13743,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13736,"mutability":"mutable","name":"left","nameLocation":"44547:4:14","nodeType":"VariableDeclaration","scope":13745,"src":"44539:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13735,"name":"uint256","nodeType":"ElementaryTypeName","src":"44539:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13738,"mutability":"mutable","name":"right","nameLocation":"44561:5:14","nodeType":"VariableDeclaration","scope":13745,"src":"44553:13:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13737,"name":"uint256","nodeType":"ElementaryTypeName","src":"44553:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13740,"mutability":"mutable","name":"maxPercentDelta","nameLocation":"44576:15:14","nodeType":"VariableDeclaration","scope":13745,"src":"44568:23:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13739,"name":"uint256","nodeType":"ElementaryTypeName","src":"44568:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13742,"mutability":"mutable","name":"decimals","nameLocation":"44601:8:14","nodeType":"VariableDeclaration","scope":13745,"src":"44593:16:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13741,"name":"uint256","nodeType":"ElementaryTypeName","src":"44593:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"44538:72:14"},"returnParameters":{"id":13744,"nodeType":"ParameterList","parameters":[],"src":"44640:0:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13759,"nodeType":"FunctionDefinition","src":"44966:189:14","nodes":[],"documentation":{"id":13746,"nodeType":"StructuredDocumentation","src":"44647:314:14","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:14","parameters":{"id":13757,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13748,"mutability":"mutable","name":"left","nameLocation":"45017:4:14","nodeType":"VariableDeclaration","scope":13759,"src":"45009:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13747,"name":"uint256","nodeType":"ElementaryTypeName","src":"45009:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13750,"mutability":"mutable","name":"right","nameLocation":"45039:5:14","nodeType":"VariableDeclaration","scope":13759,"src":"45031:13:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13749,"name":"uint256","nodeType":"ElementaryTypeName","src":"45031:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13752,"mutability":"mutable","name":"maxPercentDelta","nameLocation":"45062:15:14","nodeType":"VariableDeclaration","scope":13759,"src":"45054:23:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13751,"name":"uint256","nodeType":"ElementaryTypeName","src":"45054:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13754,"mutability":"mutable","name":"decimals","nameLocation":"45095:8:14","nodeType":"VariableDeclaration","scope":13759,"src":"45087:16:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13753,"name":"uint256","nodeType":"ElementaryTypeName","src":"45087:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13756,"mutability":"mutable","name":"error","nameLocation":"45129:5:14","nodeType":"VariableDeclaration","scope":13759,"src":"45113:21:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13755,"name":"string","nodeType":"ElementaryTypeName","src":"45113:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"44999:141:14"},"returnParameters":{"id":13758,"nodeType":"ParameterList","parameters":[],"src":"45154:0:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13771,"nodeType":"FunctionDefinition","src":"45425:134:14","nodes":[],"documentation":{"id":13760,"nodeType":"StructuredDocumentation","src":"45161:259:14","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:14","parameters":{"id":13769,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13762,"mutability":"mutable","name":"left","nameLocation":"45466:4:14","nodeType":"VariableDeclaration","scope":13771,"src":"45459:11:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":13761,"name":"int256","nodeType":"ElementaryTypeName","src":"45459:6:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":13764,"mutability":"mutable","name":"right","nameLocation":"45479:5:14","nodeType":"VariableDeclaration","scope":13771,"src":"45472:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":13763,"name":"int256","nodeType":"ElementaryTypeName","src":"45472:6:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":13766,"mutability":"mutable","name":"maxPercentDelta","nameLocation":"45494:15:14","nodeType":"VariableDeclaration","scope":13771,"src":"45486:23:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13765,"name":"uint256","nodeType":"ElementaryTypeName","src":"45486:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13768,"mutability":"mutable","name":"decimals","nameLocation":"45519:8:14","nodeType":"VariableDeclaration","scope":13771,"src":"45511:16:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13767,"name":"uint256","nodeType":"ElementaryTypeName","src":"45511:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"45458:70:14"},"returnParameters":{"id":13770,"nodeType":"ParameterList","parameters":[],"src":"45558:0:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13785,"nodeType":"FunctionDefinition","src":"45883:187:14","nodes":[],"documentation":{"id":13772,"nodeType":"StructuredDocumentation","src":"45565:313:14","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:14","parameters":{"id":13783,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13774,"mutability":"mutable","name":"left","nameLocation":"45933:4:14","nodeType":"VariableDeclaration","scope":13785,"src":"45926:11:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":13773,"name":"int256","nodeType":"ElementaryTypeName","src":"45926:6:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":13776,"mutability":"mutable","name":"right","nameLocation":"45954:5:14","nodeType":"VariableDeclaration","scope":13785,"src":"45947:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":13775,"name":"int256","nodeType":"ElementaryTypeName","src":"45947:6:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":13778,"mutability":"mutable","name":"maxPercentDelta","nameLocation":"45977:15:14","nodeType":"VariableDeclaration","scope":13785,"src":"45969:23:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13777,"name":"uint256","nodeType":"ElementaryTypeName","src":"45969:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13780,"mutability":"mutable","name":"decimals","nameLocation":"46010:8:14","nodeType":"VariableDeclaration","scope":13785,"src":"46002:16:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13779,"name":"uint256","nodeType":"ElementaryTypeName","src":"46002:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13782,"mutability":"mutable","name":"error","nameLocation":"46044:5:14","nodeType":"VariableDeclaration","scope":13785,"src":"46028:21:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13781,"name":"string","nodeType":"ElementaryTypeName","src":"46028:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"45916:139:14"},"returnParameters":{"id":13784,"nodeType":"ParameterList","parameters":[],"src":"46069:0:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13795,"nodeType":"FunctionDefinition","src":"46284:95:14","nodes":[],"documentation":{"id":13786,"nodeType":"StructuredDocumentation","src":"46076:203:14","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:14","parameters":{"id":13793,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13788,"mutability":"mutable","name":"left","nameLocation":"46319:4:14","nodeType":"VariableDeclaration","scope":13795,"src":"46311:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13787,"name":"uint256","nodeType":"ElementaryTypeName","src":"46311:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13790,"mutability":"mutable","name":"right","nameLocation":"46333:5:14","nodeType":"VariableDeclaration","scope":13795,"src":"46325:13:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13789,"name":"uint256","nodeType":"ElementaryTypeName","src":"46325:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13792,"mutability":"mutable","name":"maxPercentDelta","nameLocation":"46348:15:14","nodeType":"VariableDeclaration","scope":13795,"src":"46340:23:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13791,"name":"uint256","nodeType":"ElementaryTypeName","src":"46340:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"46310:54:14"},"returnParameters":{"id":13794,"nodeType":"ParameterList","parameters":[],"src":"46378:0:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13807,"nodeType":"FunctionDefinition","src":"46655:134:14","nodes":[],"documentation":{"id":13796,"nodeType":"StructuredDocumentation","src":"46385:265:14","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:14","parameters":{"id":13805,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13798,"mutability":"mutable","name":"left","nameLocation":"46690:4:14","nodeType":"VariableDeclaration","scope":13807,"src":"46682:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13797,"name":"uint256","nodeType":"ElementaryTypeName","src":"46682:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13800,"mutability":"mutable","name":"right","nameLocation":"46704:5:14","nodeType":"VariableDeclaration","scope":13807,"src":"46696:13:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13799,"name":"uint256","nodeType":"ElementaryTypeName","src":"46696:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13802,"mutability":"mutable","name":"maxPercentDelta","nameLocation":"46719:15:14","nodeType":"VariableDeclaration","scope":13807,"src":"46711:23:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13801,"name":"uint256","nodeType":"ElementaryTypeName","src":"46711:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13804,"mutability":"mutable","name":"error","nameLocation":"46752:5:14","nodeType":"VariableDeclaration","scope":13807,"src":"46736:21:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13803,"name":"string","nodeType":"ElementaryTypeName","src":"46736:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"46681:77:14"},"returnParameters":{"id":13806,"nodeType":"ParameterList","parameters":[],"src":"46788:0:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13817,"nodeType":"FunctionDefinition","src":"47002:93:14","nodes":[],"documentation":{"id":13808,"nodeType":"StructuredDocumentation","src":"46795:202:14","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:14","parameters":{"id":13815,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13810,"mutability":"mutable","name":"left","nameLocation":"47036:4:14","nodeType":"VariableDeclaration","scope":13817,"src":"47029:11:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":13809,"name":"int256","nodeType":"ElementaryTypeName","src":"47029:6:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":13812,"mutability":"mutable","name":"right","nameLocation":"47049:5:14","nodeType":"VariableDeclaration","scope":13817,"src":"47042:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":13811,"name":"int256","nodeType":"ElementaryTypeName","src":"47042:6:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":13814,"mutability":"mutable","name":"maxPercentDelta","nameLocation":"47064:15:14","nodeType":"VariableDeclaration","scope":13817,"src":"47056:23:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13813,"name":"uint256","nodeType":"ElementaryTypeName","src":"47056:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"47028:52:14"},"returnParameters":{"id":13816,"nodeType":"ParameterList","parameters":[],"src":"47094:0:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13829,"nodeType":"FunctionDefinition","src":"47370:132:14","nodes":[],"documentation":{"id":13818,"nodeType":"StructuredDocumentation","src":"47101:264:14","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:14","parameters":{"id":13827,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13820,"mutability":"mutable","name":"left","nameLocation":"47404:4:14","nodeType":"VariableDeclaration","scope":13829,"src":"47397:11:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":13819,"name":"int256","nodeType":"ElementaryTypeName","src":"47397:6:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":13822,"mutability":"mutable","name":"right","nameLocation":"47417:5:14","nodeType":"VariableDeclaration","scope":13829,"src":"47410:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":13821,"name":"int256","nodeType":"ElementaryTypeName","src":"47410:6:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":13824,"mutability":"mutable","name":"maxPercentDelta","nameLocation":"47432:15:14","nodeType":"VariableDeclaration","scope":13829,"src":"47424:23:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13823,"name":"uint256","nodeType":"ElementaryTypeName","src":"47424:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13826,"mutability":"mutable","name":"error","nameLocation":"47465:5:14","nodeType":"VariableDeclaration","scope":13829,"src":"47449:21:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13825,"name":"string","nodeType":"ElementaryTypeName","src":"47449:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"47396:75:14"},"returnParameters":{"id":13828,"nodeType":"ParameterList","parameters":[],"src":"47501:0:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13839,"nodeType":"FunctionDefinition","src":"47611:86:14","nodes":[],"documentation":{"id":13830,"nodeType":"StructuredDocumentation","src":"47508:98:14","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:14","parameters":{"id":13837,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13832,"mutability":"mutable","name":"left","nameLocation":"47644:4:14","nodeType":"VariableDeclaration","scope":13839,"src":"47636:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13831,"name":"uint256","nodeType":"ElementaryTypeName","src":"47636:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13834,"mutability":"mutable","name":"right","nameLocation":"47658:5:14","nodeType":"VariableDeclaration","scope":13839,"src":"47650:13:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13833,"name":"uint256","nodeType":"ElementaryTypeName","src":"47650:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13836,"mutability":"mutable","name":"decimals","nameLocation":"47673:8:14","nodeType":"VariableDeclaration","scope":13839,"src":"47665:16:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13835,"name":"uint256","nodeType":"ElementaryTypeName","src":"47665:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"47635:47:14"},"returnParameters":{"id":13838,"nodeType":"ParameterList","parameters":[],"src":"47696:0:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13851,"nodeType":"FunctionDefinition","src":"47868:109:14","nodes":[],"documentation":{"id":13840,"nodeType":"StructuredDocumentation","src":"47703:160:14","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:14","parameters":{"id":13849,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13842,"mutability":"mutable","name":"left","nameLocation":"47901:4:14","nodeType":"VariableDeclaration","scope":13851,"src":"47893:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13841,"name":"uint256","nodeType":"ElementaryTypeName","src":"47893:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13844,"mutability":"mutable","name":"right","nameLocation":"47915:5:14","nodeType":"VariableDeclaration","scope":13851,"src":"47907:13:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13843,"name":"uint256","nodeType":"ElementaryTypeName","src":"47907:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13846,"mutability":"mutable","name":"decimals","nameLocation":"47930:8:14","nodeType":"VariableDeclaration","scope":13851,"src":"47922:16:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13845,"name":"uint256","nodeType":"ElementaryTypeName","src":"47922:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13848,"mutability":"mutable","name":"error","nameLocation":"47956:5:14","nodeType":"VariableDeclaration","scope":13851,"src":"47940:21:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13847,"name":"string","nodeType":"ElementaryTypeName","src":"47940:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"47892:70:14"},"returnParameters":{"id":13850,"nodeType":"ParameterList","parameters":[],"src":"47976:0:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13861,"nodeType":"FunctionDefinition","src":"48085:84:14","nodes":[],"documentation":{"id":13852,"nodeType":"StructuredDocumentation","src":"47983:97:14","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:14","parameters":{"id":13859,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13854,"mutability":"mutable","name":"left","nameLocation":"48117:4:14","nodeType":"VariableDeclaration","scope":13861,"src":"48110:11:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":13853,"name":"int256","nodeType":"ElementaryTypeName","src":"48110:6:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":13856,"mutability":"mutable","name":"right","nameLocation":"48130:5:14","nodeType":"VariableDeclaration","scope":13861,"src":"48123:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":13855,"name":"int256","nodeType":"ElementaryTypeName","src":"48123:6:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":13858,"mutability":"mutable","name":"decimals","nameLocation":"48145:8:14","nodeType":"VariableDeclaration","scope":13861,"src":"48137:16:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13857,"name":"uint256","nodeType":"ElementaryTypeName","src":"48137:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"48109:45:14"},"returnParameters":{"id":13860,"nodeType":"ParameterList","parameters":[],"src":"48168:0:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13873,"nodeType":"FunctionDefinition","src":"48339:107:14","nodes":[],"documentation":{"id":13862,"nodeType":"StructuredDocumentation","src":"48175:159:14","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:14","parameters":{"id":13871,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13864,"mutability":"mutable","name":"left","nameLocation":"48371:4:14","nodeType":"VariableDeclaration","scope":13873,"src":"48364:11:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":13863,"name":"int256","nodeType":"ElementaryTypeName","src":"48364:6:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":13866,"mutability":"mutable","name":"right","nameLocation":"48384:5:14","nodeType":"VariableDeclaration","scope":13873,"src":"48377:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":13865,"name":"int256","nodeType":"ElementaryTypeName","src":"48377:6:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":13868,"mutability":"mutable","name":"decimals","nameLocation":"48399:8:14","nodeType":"VariableDeclaration","scope":13873,"src":"48391:16:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13867,"name":"uint256","nodeType":"ElementaryTypeName","src":"48391:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13870,"mutability":"mutable","name":"error","nameLocation":"48425:5:14","nodeType":"VariableDeclaration","scope":13873,"src":"48409:21:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13869,"name":"string","nodeType":"ElementaryTypeName","src":"48409:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"48363:68:14"},"returnParameters":{"id":13872,"nodeType":"ParameterList","parameters":[],"src":"48445:0:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13881,"nodeType":"FunctionDefinition","src":"48502:55:14","nodes":[],"documentation":{"id":13874,"nodeType":"StructuredDocumentation","src":"48452:45:14","text":"Asserts that two `bool` values are equal."},"functionSelector":"f7fe3477","implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"48511:8:14","parameters":{"id":13879,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13876,"mutability":"mutable","name":"left","nameLocation":"48525:4:14","nodeType":"VariableDeclaration","scope":13881,"src":"48520:9:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13875,"name":"bool","nodeType":"ElementaryTypeName","src":"48520:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13878,"mutability":"mutable","name":"right","nameLocation":"48536:5:14","nodeType":"VariableDeclaration","scope":13881,"src":"48531:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13877,"name":"bool","nodeType":"ElementaryTypeName","src":"48531:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"48519:23:14"},"returnParameters":{"id":13880,"nodeType":"ParameterList","parameters":[],"src":"48556:0:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13891,"nodeType":"FunctionDefinition","src":"48670:78:14","nodes":[],"documentation":{"id":13882,"nodeType":"StructuredDocumentation","src":"48563:102:14","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:14","parameters":{"id":13889,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13884,"mutability":"mutable","name":"left","nameLocation":"48693:4:14","nodeType":"VariableDeclaration","scope":13891,"src":"48688:9:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13883,"name":"bool","nodeType":"ElementaryTypeName","src":"48688:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13886,"mutability":"mutable","name":"right","nameLocation":"48704:5:14","nodeType":"VariableDeclaration","scope":13891,"src":"48699:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13885,"name":"bool","nodeType":"ElementaryTypeName","src":"48699:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13888,"mutability":"mutable","name":"error","nameLocation":"48727:5:14","nodeType":"VariableDeclaration","scope":13891,"src":"48711:21:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13887,"name":"string","nodeType":"ElementaryTypeName","src":"48711:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"48687:46:14"},"returnParameters":{"id":13890,"nodeType":"ParameterList","parameters":[],"src":"48747:0:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13899,"nodeType":"FunctionDefinition","src":"48806:77:14","nodes":[],"documentation":{"id":13892,"nodeType":"StructuredDocumentation","src":"48754:47:14","text":"Asserts that two `string` values are equal."},"functionSelector":"f320d963","implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"48815:8:14","parameters":{"id":13897,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13894,"mutability":"mutable","name":"left","nameLocation":"48840:4:14","nodeType":"VariableDeclaration","scope":13899,"src":"48824:20:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13893,"name":"string","nodeType":"ElementaryTypeName","src":"48824:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13896,"mutability":"mutable","name":"right","nameLocation":"48862:5:14","nodeType":"VariableDeclaration","scope":13899,"src":"48846:21:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13895,"name":"string","nodeType":"ElementaryTypeName","src":"48846:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"48823:45:14"},"returnParameters":{"id":13898,"nodeType":"ParameterList","parameters":[],"src":"48882:0:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13909,"nodeType":"FunctionDefinition","src":"48998:100:14","nodes":[],"documentation":{"id":13900,"nodeType":"StructuredDocumentation","src":"48889:104:14","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:14","parameters":{"id":13907,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13902,"mutability":"mutable","name":"left","nameLocation":"49032:4:14","nodeType":"VariableDeclaration","scope":13909,"src":"49016:20:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13901,"name":"string","nodeType":"ElementaryTypeName","src":"49016:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13904,"mutability":"mutable","name":"right","nameLocation":"49054:5:14","nodeType":"VariableDeclaration","scope":13909,"src":"49038:21:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13903,"name":"string","nodeType":"ElementaryTypeName","src":"49038:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13906,"mutability":"mutable","name":"error","nameLocation":"49077:5:14","nodeType":"VariableDeclaration","scope":13909,"src":"49061:21:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13905,"name":"string","nodeType":"ElementaryTypeName","src":"49061:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"49015:68:14"},"returnParameters":{"id":13908,"nodeType":"ParameterList","parameters":[],"src":"49097:0:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13917,"nodeType":"FunctionDefinition","src":"49155:75:14","nodes":[],"documentation":{"id":13910,"nodeType":"StructuredDocumentation","src":"49104:46:14","text":"Asserts that two `bytes` values are equal."},"functionSelector":"97624631","implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"49164:8:14","parameters":{"id":13915,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13912,"mutability":"mutable","name":"left","nameLocation":"49188:4:14","nodeType":"VariableDeclaration","scope":13917,"src":"49173:19:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":13911,"name":"bytes","nodeType":"ElementaryTypeName","src":"49173:5:14","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":13914,"mutability":"mutable","name":"right","nameLocation":"49209:5:14","nodeType":"VariableDeclaration","scope":13917,"src":"49194:20:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":13913,"name":"bytes","nodeType":"ElementaryTypeName","src":"49194:5:14","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"49172:43:14"},"returnParameters":{"id":13916,"nodeType":"ParameterList","parameters":[],"src":"49229:0:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13927,"nodeType":"FunctionDefinition","src":"49344:98:14","nodes":[],"documentation":{"id":13918,"nodeType":"StructuredDocumentation","src":"49236:103:14","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:14","parameters":{"id":13925,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13920,"mutability":"mutable","name":"left","nameLocation":"49377:4:14","nodeType":"VariableDeclaration","scope":13927,"src":"49362:19:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":13919,"name":"bytes","nodeType":"ElementaryTypeName","src":"49362:5:14","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":13922,"mutability":"mutable","name":"right","nameLocation":"49398:5:14","nodeType":"VariableDeclaration","scope":13927,"src":"49383:20:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":13921,"name":"bytes","nodeType":"ElementaryTypeName","src":"49383:5:14","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":13924,"mutability":"mutable","name":"error","nameLocation":"49421:5:14","nodeType":"VariableDeclaration","scope":13927,"src":"49405:21:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13923,"name":"string","nodeType":"ElementaryTypeName","src":"49405:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"49361:66:14"},"returnParameters":{"id":13926,"nodeType":"ParameterList","parameters":[],"src":"49441:0:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13937,"nodeType":"FunctionDefinition","src":"49508:77:14","nodes":[],"documentation":{"id":13928,"nodeType":"StructuredDocumentation","src":"49448:55:14","text":"Asserts that two arrays of `bool` values are equal."},"functionSelector":"707df785","implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"49517:8:14","parameters":{"id":13935,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13931,"mutability":"mutable","name":"left","nameLocation":"49542:4:14","nodeType":"VariableDeclaration","scope":13937,"src":"49526:20:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_calldata_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":13929,"name":"bool","nodeType":"ElementaryTypeName","src":"49526:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":13930,"nodeType":"ArrayTypeName","src":"49526:6:14","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"},{"constant":false,"id":13934,"mutability":"mutable","name":"right","nameLocation":"49564:5:14","nodeType":"VariableDeclaration","scope":13937,"src":"49548:21:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_calldata_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":13932,"name":"bool","nodeType":"ElementaryTypeName","src":"49548:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":13933,"nodeType":"ArrayTypeName","src":"49548:6:14","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"}],"src":"49525:45:14"},"returnParameters":{"id":13936,"nodeType":"ParameterList","parameters":[],"src":"49584:0:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13949,"nodeType":"FunctionDefinition","src":"49708:100:14","nodes":[],"documentation":{"id":13938,"nodeType":"StructuredDocumentation","src":"49591:112:14","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:14","parameters":{"id":13947,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13941,"mutability":"mutable","name":"left","nameLocation":"49742:4:14","nodeType":"VariableDeclaration","scope":13949,"src":"49726:20:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_calldata_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":13939,"name":"bool","nodeType":"ElementaryTypeName","src":"49726:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":13940,"nodeType":"ArrayTypeName","src":"49726:6:14","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"},{"constant":false,"id":13944,"mutability":"mutable","name":"right","nameLocation":"49764:5:14","nodeType":"VariableDeclaration","scope":13949,"src":"49748:21:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_calldata_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":13942,"name":"bool","nodeType":"ElementaryTypeName","src":"49748:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":13943,"nodeType":"ArrayTypeName","src":"49748:6:14","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"},{"constant":false,"id":13946,"mutability":"mutable","name":"error","nameLocation":"49787:5:14","nodeType":"VariableDeclaration","scope":13949,"src":"49771:21:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13945,"name":"string","nodeType":"ElementaryTypeName","src":"49771:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"49725:68:14"},"returnParameters":{"id":13948,"nodeType":"ParameterList","parameters":[],"src":"49807:0:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13959,"nodeType":"FunctionDefinition","src":"49876:83:14","nodes":[],"documentation":{"id":13950,"nodeType":"StructuredDocumentation","src":"49814:57:14","text":"Asserts that two arrays of `uint256 values are equal."},"functionSelector":"975d5a12","implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"49885:8:14","parameters":{"id":13957,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13953,"mutability":"mutable","name":"left","nameLocation":"49913:4:14","nodeType":"VariableDeclaration","scope":13959,"src":"49894:23:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":13951,"name":"uint256","nodeType":"ElementaryTypeName","src":"49894:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":13952,"nodeType":"ArrayTypeName","src":"49894:9:14","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":13956,"mutability":"mutable","name":"right","nameLocation":"49938:5:14","nodeType":"VariableDeclaration","scope":13959,"src":"49919:24:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":13954,"name":"uint256","nodeType":"ElementaryTypeName","src":"49919:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":13955,"nodeType":"ArrayTypeName","src":"49919:9:14","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"49893:51:14"},"returnParameters":{"id":13958,"nodeType":"ParameterList","parameters":[],"src":"49958:0:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13971,"nodeType":"FunctionDefinition","src":"50085:106:14","nodes":[],"documentation":{"id":13960,"nodeType":"StructuredDocumentation","src":"49965:115:14","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:14","parameters":{"id":13969,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13963,"mutability":"mutable","name":"left","nameLocation":"50122:4:14","nodeType":"VariableDeclaration","scope":13971,"src":"50103:23:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":13961,"name":"uint256","nodeType":"ElementaryTypeName","src":"50103:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":13962,"nodeType":"ArrayTypeName","src":"50103:9:14","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":13966,"mutability":"mutable","name":"right","nameLocation":"50147:5:14","nodeType":"VariableDeclaration","scope":13971,"src":"50128:24:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":13964,"name":"uint256","nodeType":"ElementaryTypeName","src":"50128:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":13965,"nodeType":"ArrayTypeName","src":"50128:9:14","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":13968,"mutability":"mutable","name":"error","nameLocation":"50170:5:14","nodeType":"VariableDeclaration","scope":13971,"src":"50154:21:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13967,"name":"string","nodeType":"ElementaryTypeName","src":"50154:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"50102:74:14"},"returnParameters":{"id":13970,"nodeType":"ParameterList","parameters":[],"src":"50190:0:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13981,"nodeType":"FunctionDefinition","src":"50259:81:14","nodes":[],"documentation":{"id":13972,"nodeType":"StructuredDocumentation","src":"50197:57:14","text":"Asserts that two arrays of `int256` values are equal."},"functionSelector":"711043ac","implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"50268:8:14","parameters":{"id":13979,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13975,"mutability":"mutable","name":"left","nameLocation":"50295:4:14","nodeType":"VariableDeclaration","scope":13981,"src":"50277:22:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_calldata_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":13973,"name":"int256","nodeType":"ElementaryTypeName","src":"50277:6:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":13974,"nodeType":"ArrayTypeName","src":"50277:8:14","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"},{"constant":false,"id":13978,"mutability":"mutable","name":"right","nameLocation":"50319:5:14","nodeType":"VariableDeclaration","scope":13981,"src":"50301:23:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_calldata_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":13976,"name":"int256","nodeType":"ElementaryTypeName","src":"50301:6:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":13977,"nodeType":"ArrayTypeName","src":"50301:8:14","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"50276:49:14"},"returnParameters":{"id":13980,"nodeType":"ParameterList","parameters":[],"src":"50339:0:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13993,"nodeType":"FunctionDefinition","src":"50465:104:14","nodes":[],"documentation":{"id":13982,"nodeType":"StructuredDocumentation","src":"50346:114:14","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:14","parameters":{"id":13991,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13985,"mutability":"mutable","name":"left","nameLocation":"50501:4:14","nodeType":"VariableDeclaration","scope":13993,"src":"50483:22:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_calldata_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":13983,"name":"int256","nodeType":"ElementaryTypeName","src":"50483:6:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":13984,"nodeType":"ArrayTypeName","src":"50483:8:14","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"},{"constant":false,"id":13988,"mutability":"mutable","name":"right","nameLocation":"50525:5:14","nodeType":"VariableDeclaration","scope":13993,"src":"50507:23:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_calldata_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":13986,"name":"int256","nodeType":"ElementaryTypeName","src":"50507:6:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":13987,"nodeType":"ArrayTypeName","src":"50507:8:14","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"},{"constant":false,"id":13990,"mutability":"mutable","name":"error","nameLocation":"50548:5:14","nodeType":"VariableDeclaration","scope":13993,"src":"50532:21:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13989,"name":"string","nodeType":"ElementaryTypeName","src":"50532:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"50482:72:14"},"returnParameters":{"id":13992,"nodeType":"ParameterList","parameters":[],"src":"50568:0:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14001,"nodeType":"FunctionDefinition","src":"50628:61:14","nodes":[],"documentation":{"id":13994,"nodeType":"StructuredDocumentation","src":"50575:48:14","text":"Asserts that two `uint256` values are equal."},"functionSelector":"98296c54","implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"50637:8:14","parameters":{"id":13999,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13996,"mutability":"mutable","name":"left","nameLocation":"50654:4:14","nodeType":"VariableDeclaration","scope":14001,"src":"50646:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13995,"name":"uint256","nodeType":"ElementaryTypeName","src":"50646:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13998,"mutability":"mutable","name":"right","nameLocation":"50668:5:14","nodeType":"VariableDeclaration","scope":14001,"src":"50660:13:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13997,"name":"uint256","nodeType":"ElementaryTypeName","src":"50660:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"50645:29:14"},"returnParameters":{"id":14000,"nodeType":"ParameterList","parameters":[],"src":"50688:0:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14011,"nodeType":"FunctionDefinition","src":"50758:83:14","nodes":[],"documentation":{"id":14002,"nodeType":"StructuredDocumentation","src":"50695:58:14","text":"Asserts that two arrays of `address` values are equal."},"functionSelector":"3868ac34","implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"50767:8:14","parameters":{"id":14009,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14005,"mutability":"mutable","name":"left","nameLocation":"50795:4:14","nodeType":"VariableDeclaration","scope":14011,"src":"50776:23:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":14003,"name":"address","nodeType":"ElementaryTypeName","src":"50776:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":14004,"nodeType":"ArrayTypeName","src":"50776:9:14","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":14008,"mutability":"mutable","name":"right","nameLocation":"50820:5:14","nodeType":"VariableDeclaration","scope":14011,"src":"50801:24:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":14006,"name":"address","nodeType":"ElementaryTypeName","src":"50801:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":14007,"nodeType":"ArrayTypeName","src":"50801:9:14","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"50775:51:14"},"returnParameters":{"id":14010,"nodeType":"ParameterList","parameters":[],"src":"50840:0:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14023,"nodeType":"FunctionDefinition","src":"50967:106:14","nodes":[],"documentation":{"id":14012,"nodeType":"StructuredDocumentation","src":"50847:115:14","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:14","parameters":{"id":14021,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14015,"mutability":"mutable","name":"left","nameLocation":"51004:4:14","nodeType":"VariableDeclaration","scope":14023,"src":"50985:23:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":14013,"name":"address","nodeType":"ElementaryTypeName","src":"50985:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":14014,"nodeType":"ArrayTypeName","src":"50985:9:14","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":14018,"mutability":"mutable","name":"right","nameLocation":"51029:5:14","nodeType":"VariableDeclaration","scope":14023,"src":"51010:24:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":14016,"name":"address","nodeType":"ElementaryTypeName","src":"51010:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":14017,"nodeType":"ArrayTypeName","src":"51010:9:14","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":14020,"mutability":"mutable","name":"error","nameLocation":"51052:5:14","nodeType":"VariableDeclaration","scope":14023,"src":"51036:21:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14019,"name":"string","nodeType":"ElementaryTypeName","src":"51036:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"50984:74:14"},"returnParameters":{"id":14022,"nodeType":"ParameterList","parameters":[],"src":"51072:0:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14033,"nodeType":"FunctionDefinition","src":"51142:83:14","nodes":[],"documentation":{"id":14024,"nodeType":"StructuredDocumentation","src":"51079:58:14","text":"Asserts that two arrays of `bytes32` values are equal."},"functionSelector":"0cc9ee84","implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"51151:8:14","parameters":{"id":14031,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14027,"mutability":"mutable","name":"left","nameLocation":"51179:4:14","nodeType":"VariableDeclaration","scope":14033,"src":"51160:23:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_calldata_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":14025,"name":"bytes32","nodeType":"ElementaryTypeName","src":"51160:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":14026,"nodeType":"ArrayTypeName","src":"51160:9:14","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":14030,"mutability":"mutable","name":"right","nameLocation":"51204:5:14","nodeType":"VariableDeclaration","scope":14033,"src":"51185:24:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_calldata_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":14028,"name":"bytes32","nodeType":"ElementaryTypeName","src":"51185:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":14029,"nodeType":"ArrayTypeName","src":"51185:9:14","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"51159:51:14"},"returnParameters":{"id":14032,"nodeType":"ParameterList","parameters":[],"src":"51224:0:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14045,"nodeType":"FunctionDefinition","src":"51351:106:14","nodes":[],"documentation":{"id":14034,"nodeType":"StructuredDocumentation","src":"51231:115:14","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:14","parameters":{"id":14043,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14037,"mutability":"mutable","name":"left","nameLocation":"51388:4:14","nodeType":"VariableDeclaration","scope":14045,"src":"51369:23:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_calldata_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":14035,"name":"bytes32","nodeType":"ElementaryTypeName","src":"51369:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":14036,"nodeType":"ArrayTypeName","src":"51369:9:14","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":14040,"mutability":"mutable","name":"right","nameLocation":"51413:5:14","nodeType":"VariableDeclaration","scope":14045,"src":"51394:24:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_calldata_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":14038,"name":"bytes32","nodeType":"ElementaryTypeName","src":"51394:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":14039,"nodeType":"ArrayTypeName","src":"51394:9:14","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":14042,"mutability":"mutable","name":"error","nameLocation":"51436:5:14","nodeType":"VariableDeclaration","scope":14045,"src":"51420:21:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14041,"name":"string","nodeType":"ElementaryTypeName","src":"51420:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"51368:74:14"},"returnParameters":{"id":14044,"nodeType":"ParameterList","parameters":[],"src":"51456:0:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14055,"nodeType":"FunctionDefinition","src":"51525:81:14","nodes":[],"documentation":{"id":14046,"nodeType":"StructuredDocumentation","src":"51463:57:14","text":"Asserts that two arrays of `string` values are equal."},"functionSelector":"cf1c049c","implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"51534:8:14","parameters":{"id":14053,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14049,"mutability":"mutable","name":"left","nameLocation":"51561:4:14","nodeType":"VariableDeclaration","scope":14055,"src":"51543:22:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_string_calldata_ptr_$dyn_calldata_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":14047,"name":"string","nodeType":"ElementaryTypeName","src":"51543:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":14048,"nodeType":"ArrayTypeName","src":"51543:8:14","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":14052,"mutability":"mutable","name":"right","nameLocation":"51585:5:14","nodeType":"VariableDeclaration","scope":14055,"src":"51567:23:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_string_calldata_ptr_$dyn_calldata_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":14050,"name":"string","nodeType":"ElementaryTypeName","src":"51567:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":14051,"nodeType":"ArrayTypeName","src":"51567:8:14","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"51542:49:14"},"returnParameters":{"id":14054,"nodeType":"ParameterList","parameters":[],"src":"51605:0:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14067,"nodeType":"FunctionDefinition","src":"51731:104:14","nodes":[],"documentation":{"id":14056,"nodeType":"StructuredDocumentation","src":"51612:114:14","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:14","parameters":{"id":14065,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14059,"mutability":"mutable","name":"left","nameLocation":"51767:4:14","nodeType":"VariableDeclaration","scope":14067,"src":"51749:22:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_string_calldata_ptr_$dyn_calldata_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":14057,"name":"string","nodeType":"ElementaryTypeName","src":"51749:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":14058,"nodeType":"ArrayTypeName","src":"51749:8:14","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":14062,"mutability":"mutable","name":"right","nameLocation":"51791:5:14","nodeType":"VariableDeclaration","scope":14067,"src":"51773:23:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_string_calldata_ptr_$dyn_calldata_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":14060,"name":"string","nodeType":"ElementaryTypeName","src":"51773:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":14061,"nodeType":"ArrayTypeName","src":"51773:8:14","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":14064,"mutability":"mutable","name":"error","nameLocation":"51814:5:14","nodeType":"VariableDeclaration","scope":14067,"src":"51798:21:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14063,"name":"string","nodeType":"ElementaryTypeName","src":"51798:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"51748:72:14"},"returnParameters":{"id":14066,"nodeType":"ParameterList","parameters":[],"src":"51834:0:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14077,"nodeType":"FunctionDefinition","src":"51902:79:14","nodes":[],"documentation":{"id":14068,"nodeType":"StructuredDocumentation","src":"51841:56:14","text":"Asserts that two arrays of `bytes` values are equal."},"functionSelector":"e5fb9b4a","implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"51911:8:14","parameters":{"id":14075,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14071,"mutability":"mutable","name":"left","nameLocation":"51937:4:14","nodeType":"VariableDeclaration","scope":14077,"src":"51920:21:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":14069,"name":"bytes","nodeType":"ElementaryTypeName","src":"51920:5:14","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":14070,"nodeType":"ArrayTypeName","src":"51920:7:14","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":14074,"mutability":"mutable","name":"right","nameLocation":"51960:5:14","nodeType":"VariableDeclaration","scope":14077,"src":"51943:22:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":14072,"name":"bytes","nodeType":"ElementaryTypeName","src":"51943:5:14","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":14073,"nodeType":"ArrayTypeName","src":"51943:7:14","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"51919:47:14"},"returnParameters":{"id":14076,"nodeType":"ParameterList","parameters":[],"src":"51980:0:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14089,"nodeType":"FunctionDefinition","src":"52105:102:14","nodes":[],"documentation":{"id":14078,"nodeType":"StructuredDocumentation","src":"51987:113:14","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:14","parameters":{"id":14087,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14081,"mutability":"mutable","name":"left","nameLocation":"52140:4:14","nodeType":"VariableDeclaration","scope":14089,"src":"52123:21:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":14079,"name":"bytes","nodeType":"ElementaryTypeName","src":"52123:5:14","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":14080,"nodeType":"ArrayTypeName","src":"52123:7:14","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":14084,"mutability":"mutable","name":"right","nameLocation":"52163:5:14","nodeType":"VariableDeclaration","scope":14089,"src":"52146:22:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":14082,"name":"bytes","nodeType":"ElementaryTypeName","src":"52146:5:14","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":14083,"nodeType":"ArrayTypeName","src":"52146:7:14","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":14086,"mutability":"mutable","name":"error","nameLocation":"52186:5:14","nodeType":"VariableDeclaration","scope":14089,"src":"52170:21:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14085,"name":"string","nodeType":"ElementaryTypeName","src":"52170:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"52122:70:14"},"returnParameters":{"id":14088,"nodeType":"ParameterList","parameters":[],"src":"52206:0:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14099,"nodeType":"FunctionDefinition","src":"52323:84:14","nodes":[],"documentation":{"id":14090,"nodeType":"StructuredDocumentation","src":"52213:105:14","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:14","parameters":{"id":14097,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14092,"mutability":"mutable","name":"left","nameLocation":"52349:4:14","nodeType":"VariableDeclaration","scope":14099,"src":"52341:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14091,"name":"uint256","nodeType":"ElementaryTypeName","src":"52341:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14094,"mutability":"mutable","name":"right","nameLocation":"52363:5:14","nodeType":"VariableDeclaration","scope":14099,"src":"52355:13:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14093,"name":"uint256","nodeType":"ElementaryTypeName","src":"52355:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14096,"mutability":"mutable","name":"error","nameLocation":"52386:5:14","nodeType":"VariableDeclaration","scope":14099,"src":"52370:21:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14095,"name":"string","nodeType":"ElementaryTypeName","src":"52370:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"52340:52:14"},"returnParameters":{"id":14098,"nodeType":"ParameterList","parameters":[],"src":"52406:0:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14107,"nodeType":"FunctionDefinition","src":"52465:59:14","nodes":[],"documentation":{"id":14100,"nodeType":"StructuredDocumentation","src":"52413:47:14","text":"Asserts that two `int256` values are equal."},"functionSelector":"fe74f05b","implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"52474:8:14","parameters":{"id":14105,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14102,"mutability":"mutable","name":"left","nameLocation":"52490:4:14","nodeType":"VariableDeclaration","scope":14107,"src":"52483:11:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14101,"name":"int256","nodeType":"ElementaryTypeName","src":"52483:6:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14104,"mutability":"mutable","name":"right","nameLocation":"52503:5:14","nodeType":"VariableDeclaration","scope":14107,"src":"52496:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14103,"name":"int256","nodeType":"ElementaryTypeName","src":"52496:6:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"52482:27:14"},"returnParameters":{"id":14106,"nodeType":"ParameterList","parameters":[],"src":"52523:0:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14117,"nodeType":"FunctionDefinition","src":"52639:82:14","nodes":[],"documentation":{"id":14108,"nodeType":"StructuredDocumentation","src":"52530:104:14","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:14","parameters":{"id":14115,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14110,"mutability":"mutable","name":"left","nameLocation":"52664:4:14","nodeType":"VariableDeclaration","scope":14117,"src":"52657:11:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14109,"name":"int256","nodeType":"ElementaryTypeName","src":"52657:6:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14112,"mutability":"mutable","name":"right","nameLocation":"52677:5:14","nodeType":"VariableDeclaration","scope":14117,"src":"52670:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14111,"name":"int256","nodeType":"ElementaryTypeName","src":"52670:6:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14114,"mutability":"mutable","name":"error","nameLocation":"52700:5:14","nodeType":"VariableDeclaration","scope":14117,"src":"52684:21:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14113,"name":"string","nodeType":"ElementaryTypeName","src":"52684:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"52656:50:14"},"returnParameters":{"id":14116,"nodeType":"ParameterList","parameters":[],"src":"52720:0:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14125,"nodeType":"FunctionDefinition","src":"52780:61:14","nodes":[],"documentation":{"id":14118,"nodeType":"StructuredDocumentation","src":"52727:48:14","text":"Asserts that two `address` values are equal."},"functionSelector":"515361f6","implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"52789:8:14","parameters":{"id":14123,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14120,"mutability":"mutable","name":"left","nameLocation":"52806:4:14","nodeType":"VariableDeclaration","scope":14125,"src":"52798:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14119,"name":"address","nodeType":"ElementaryTypeName","src":"52798:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":14122,"mutability":"mutable","name":"right","nameLocation":"52820:5:14","nodeType":"VariableDeclaration","scope":14125,"src":"52812:13:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14121,"name":"address","nodeType":"ElementaryTypeName","src":"52812:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"52797:29:14"},"returnParameters":{"id":14124,"nodeType":"ParameterList","parameters":[],"src":"52840:0:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14135,"nodeType":"FunctionDefinition","src":"52957:84:14","nodes":[],"documentation":{"id":14126,"nodeType":"StructuredDocumentation","src":"52847:105:14","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:14","parameters":{"id":14133,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14128,"mutability":"mutable","name":"left","nameLocation":"52983:4:14","nodeType":"VariableDeclaration","scope":14135,"src":"52975:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14127,"name":"address","nodeType":"ElementaryTypeName","src":"52975:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":14130,"mutability":"mutable","name":"right","nameLocation":"52997:5:14","nodeType":"VariableDeclaration","scope":14135,"src":"52989:13:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14129,"name":"address","nodeType":"ElementaryTypeName","src":"52989:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":14132,"mutability":"mutable","name":"error","nameLocation":"53020:5:14","nodeType":"VariableDeclaration","scope":14135,"src":"53004:21:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14131,"name":"string","nodeType":"ElementaryTypeName","src":"53004:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"52974:52:14"},"returnParameters":{"id":14134,"nodeType":"ParameterList","parameters":[],"src":"53040:0:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14143,"nodeType":"FunctionDefinition","src":"53100:61:14","nodes":[],"documentation":{"id":14136,"nodeType":"StructuredDocumentation","src":"53047:48:14","text":"Asserts that two `bytes32` values are equal."},"functionSelector":"7c84c69b","implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"53109:8:14","parameters":{"id":14141,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14138,"mutability":"mutable","name":"left","nameLocation":"53126:4:14","nodeType":"VariableDeclaration","scope":14143,"src":"53118:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":14137,"name":"bytes32","nodeType":"ElementaryTypeName","src":"53118:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":14140,"mutability":"mutable","name":"right","nameLocation":"53140:5:14","nodeType":"VariableDeclaration","scope":14143,"src":"53132:13:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":14139,"name":"bytes32","nodeType":"ElementaryTypeName","src":"53132:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"53117:29:14"},"returnParameters":{"id":14142,"nodeType":"ParameterList","parameters":[],"src":"53160:0:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14153,"nodeType":"FunctionDefinition","src":"53277:84:14","nodes":[],"documentation":{"id":14144,"nodeType":"StructuredDocumentation","src":"53167:105:14","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:14","parameters":{"id":14151,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14146,"mutability":"mutable","name":"left","nameLocation":"53303:4:14","nodeType":"VariableDeclaration","scope":14153,"src":"53295:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":14145,"name":"bytes32","nodeType":"ElementaryTypeName","src":"53295:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":14148,"mutability":"mutable","name":"right","nameLocation":"53317:5:14","nodeType":"VariableDeclaration","scope":14153,"src":"53309:13:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":14147,"name":"bytes32","nodeType":"ElementaryTypeName","src":"53309:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":14150,"mutability":"mutable","name":"error","nameLocation":"53340:5:14","nodeType":"VariableDeclaration","scope":14153,"src":"53324:21:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14149,"name":"string","nodeType":"ElementaryTypeName","src":"53324:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"53294:52:14"},"returnParameters":{"id":14152,"nodeType":"ParameterList","parameters":[],"src":"53360:0:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14159,"nodeType":"FunctionDefinition","src":"53418:51:14","nodes":[],"documentation":{"id":14154,"nodeType":"StructuredDocumentation","src":"53367:46:14","text":"Asserts that the given condition is false."},"functionSelector":"a5982885","implemented":false,"kind":"function","modifiers":[],"name":"assertFalse","nameLocation":"53427:11:14","parameters":{"id":14157,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14156,"mutability":"mutable","name":"condition","nameLocation":"53444:9:14","nodeType":"VariableDeclaration","scope":14159,"src":"53439:14:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14155,"name":"bool","nodeType":"ElementaryTypeName","src":"53439:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"53438:16:14"},"returnParameters":{"id":14158,"nodeType":"ParameterList","parameters":[],"src":"53468:0:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14167,"nodeType":"FunctionDefinition","src":"53583:74:14","nodes":[],"documentation":{"id":14160,"nodeType":"StructuredDocumentation","src":"53475:103:14","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:14","parameters":{"id":14165,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14162,"mutability":"mutable","name":"condition","nameLocation":"53609:9:14","nodeType":"VariableDeclaration","scope":14167,"src":"53604:14:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14161,"name":"bool","nodeType":"ElementaryTypeName","src":"53604:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":14164,"mutability":"mutable","name":"error","nameLocation":"53636:5:14","nodeType":"VariableDeclaration","scope":14167,"src":"53620:21:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14163,"name":"string","nodeType":"ElementaryTypeName","src":"53620:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"53603:39:14"},"returnParameters":{"id":14166,"nodeType":"ParameterList","parameters":[],"src":"53656:0:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14177,"nodeType":"FunctionDefinition","src":"53818:86:14","nodes":[],"documentation":{"id":14168,"nodeType":"StructuredDocumentation","src":"53663:150:14","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:14","parameters":{"id":14175,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14170,"mutability":"mutable","name":"left","nameLocation":"53851:4:14","nodeType":"VariableDeclaration","scope":14177,"src":"53843:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14169,"name":"uint256","nodeType":"ElementaryTypeName","src":"53843:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14172,"mutability":"mutable","name":"right","nameLocation":"53865:5:14","nodeType":"VariableDeclaration","scope":14177,"src":"53857:13:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14171,"name":"uint256","nodeType":"ElementaryTypeName","src":"53857:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14174,"mutability":"mutable","name":"decimals","nameLocation":"53880:8:14","nodeType":"VariableDeclaration","scope":14177,"src":"53872:16:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14173,"name":"uint256","nodeType":"ElementaryTypeName","src":"53872:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"53842:47:14"},"returnParameters":{"id":14176,"nodeType":"ParameterList","parameters":[],"src":"53903:0:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14189,"nodeType":"FunctionDefinition","src":"54119:109:14","nodes":[],"documentation":{"id":14178,"nodeType":"StructuredDocumentation","src":"53910:204:14","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:14","parameters":{"id":14187,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14180,"mutability":"mutable","name":"left","nameLocation":"54152:4:14","nodeType":"VariableDeclaration","scope":14189,"src":"54144:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14179,"name":"uint256","nodeType":"ElementaryTypeName","src":"54144:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14182,"mutability":"mutable","name":"right","nameLocation":"54166:5:14","nodeType":"VariableDeclaration","scope":14189,"src":"54158:13:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14181,"name":"uint256","nodeType":"ElementaryTypeName","src":"54158:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14184,"mutability":"mutable","name":"decimals","nameLocation":"54181:8:14","nodeType":"VariableDeclaration","scope":14189,"src":"54173:16:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14183,"name":"uint256","nodeType":"ElementaryTypeName","src":"54173:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14186,"mutability":"mutable","name":"error","nameLocation":"54207:5:14","nodeType":"VariableDeclaration","scope":14189,"src":"54191:21:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14185,"name":"string","nodeType":"ElementaryTypeName","src":"54191:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"54143:70:14"},"returnParameters":{"id":14188,"nodeType":"ParameterList","parameters":[],"src":"54227:0:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14199,"nodeType":"FunctionDefinition","src":"54388:84:14","nodes":[],"documentation":{"id":14190,"nodeType":"StructuredDocumentation","src":"54234:149:14","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:14","parameters":{"id":14197,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14192,"mutability":"mutable","name":"left","nameLocation":"54420:4:14","nodeType":"VariableDeclaration","scope":14199,"src":"54413:11:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14191,"name":"int256","nodeType":"ElementaryTypeName","src":"54413:6:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14194,"mutability":"mutable","name":"right","nameLocation":"54433:5:14","nodeType":"VariableDeclaration","scope":14199,"src":"54426:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14193,"name":"int256","nodeType":"ElementaryTypeName","src":"54426:6:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14196,"mutability":"mutable","name":"decimals","nameLocation":"54448:8:14","nodeType":"VariableDeclaration","scope":14199,"src":"54440:16:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14195,"name":"uint256","nodeType":"ElementaryTypeName","src":"54440:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"54412:45:14"},"returnParameters":{"id":14198,"nodeType":"ParameterList","parameters":[],"src":"54471:0:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14211,"nodeType":"FunctionDefinition","src":"54686:107:14","nodes":[],"documentation":{"id":14200,"nodeType":"StructuredDocumentation","src":"54478:203:14","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:14","parameters":{"id":14209,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14202,"mutability":"mutable","name":"left","nameLocation":"54718:4:14","nodeType":"VariableDeclaration","scope":14211,"src":"54711:11:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14201,"name":"int256","nodeType":"ElementaryTypeName","src":"54711:6:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14204,"mutability":"mutable","name":"right","nameLocation":"54731:5:14","nodeType":"VariableDeclaration","scope":14211,"src":"54724:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14203,"name":"int256","nodeType":"ElementaryTypeName","src":"54724:6:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14206,"mutability":"mutable","name":"decimals","nameLocation":"54746:8:14","nodeType":"VariableDeclaration","scope":14211,"src":"54738:16:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14205,"name":"uint256","nodeType":"ElementaryTypeName","src":"54738:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14208,"mutability":"mutable","name":"error","nameLocation":"54772:5:14","nodeType":"VariableDeclaration","scope":14211,"src":"54756:21:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14207,"name":"string","nodeType":"ElementaryTypeName","src":"54756:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"54710:68:14"},"returnParameters":{"id":14210,"nodeType":"ParameterList","parameters":[],"src":"54792:0:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14219,"nodeType":"FunctionDefinition","src":"54897:61:14","nodes":[],"documentation":{"id":14212,"nodeType":"StructuredDocumentation","src":"54799:93:14","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:14","parameters":{"id":14217,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14214,"mutability":"mutable","name":"left","nameLocation":"54923:4:14","nodeType":"VariableDeclaration","scope":14219,"src":"54915:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14213,"name":"uint256","nodeType":"ElementaryTypeName","src":"54915:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14216,"mutability":"mutable","name":"right","nameLocation":"54937:5:14","nodeType":"VariableDeclaration","scope":14219,"src":"54929:13:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14215,"name":"uint256","nodeType":"ElementaryTypeName","src":"54929:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"54914:29:14"},"returnParameters":{"id":14218,"nodeType":"ParameterList","parameters":[],"src":"54957:0:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14229,"nodeType":"FunctionDefinition","src":"55124:84:14","nodes":[],"documentation":{"id":14220,"nodeType":"StructuredDocumentation","src":"54964:155:14","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:14","parameters":{"id":14227,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14222,"mutability":"mutable","name":"left","nameLocation":"55150:4:14","nodeType":"VariableDeclaration","scope":14229,"src":"55142:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14221,"name":"uint256","nodeType":"ElementaryTypeName","src":"55142:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14224,"mutability":"mutable","name":"right","nameLocation":"55164:5:14","nodeType":"VariableDeclaration","scope":14229,"src":"55156:13:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14223,"name":"uint256","nodeType":"ElementaryTypeName","src":"55156:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14226,"mutability":"mutable","name":"error","nameLocation":"55187:5:14","nodeType":"VariableDeclaration","scope":14229,"src":"55171:21:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14225,"name":"string","nodeType":"ElementaryTypeName","src":"55171:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"55141:52:14"},"returnParameters":{"id":14228,"nodeType":"ParameterList","parameters":[],"src":"55207:0:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14237,"nodeType":"FunctionDefinition","src":"55311:59:14","nodes":[],"documentation":{"id":14230,"nodeType":"StructuredDocumentation","src":"55214:92:14","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:14","parameters":{"id":14235,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14232,"mutability":"mutable","name":"left","nameLocation":"55336:4:14","nodeType":"VariableDeclaration","scope":14237,"src":"55329:11:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14231,"name":"int256","nodeType":"ElementaryTypeName","src":"55329:6:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14234,"mutability":"mutable","name":"right","nameLocation":"55349:5:14","nodeType":"VariableDeclaration","scope":14237,"src":"55342:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14233,"name":"int256","nodeType":"ElementaryTypeName","src":"55342:6:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"55328:27:14"},"returnParameters":{"id":14236,"nodeType":"ParameterList","parameters":[],"src":"55369:0:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14247,"nodeType":"FunctionDefinition","src":"55535:82:14","nodes":[],"documentation":{"id":14238,"nodeType":"StructuredDocumentation","src":"55376:154:14","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:14","parameters":{"id":14245,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14240,"mutability":"mutable","name":"left","nameLocation":"55560:4:14","nodeType":"VariableDeclaration","scope":14247,"src":"55553:11:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14239,"name":"int256","nodeType":"ElementaryTypeName","src":"55553:6:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14242,"mutability":"mutable","name":"right","nameLocation":"55573:5:14","nodeType":"VariableDeclaration","scope":14247,"src":"55566:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14241,"name":"int256","nodeType":"ElementaryTypeName","src":"55566:6:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14244,"mutability":"mutable","name":"error","nameLocation":"55596:5:14","nodeType":"VariableDeclaration","scope":14247,"src":"55580:21:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14243,"name":"string","nodeType":"ElementaryTypeName","src":"55580:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"55552:50:14"},"returnParameters":{"id":14246,"nodeType":"ParameterList","parameters":[],"src":"55616:0:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14257,"nodeType":"FunctionDefinition","src":"55766:86:14","nodes":[],"documentation":{"id":14248,"nodeType":"StructuredDocumentation","src":"55623:138:14","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:14","parameters":{"id":14255,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14250,"mutability":"mutable","name":"left","nameLocation":"55799:4:14","nodeType":"VariableDeclaration","scope":14257,"src":"55791:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14249,"name":"uint256","nodeType":"ElementaryTypeName","src":"55791:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14252,"mutability":"mutable","name":"right","nameLocation":"55813:5:14","nodeType":"VariableDeclaration","scope":14257,"src":"55805:13:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14251,"name":"uint256","nodeType":"ElementaryTypeName","src":"55805:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14254,"mutability":"mutable","name":"decimals","nameLocation":"55828:8:14","nodeType":"VariableDeclaration","scope":14257,"src":"55820:16:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14253,"name":"uint256","nodeType":"ElementaryTypeName","src":"55820:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"55790:47:14"},"returnParameters":{"id":14256,"nodeType":"ParameterList","parameters":[],"src":"55851:0:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14269,"nodeType":"FunctionDefinition","src":"56055:109:14","nodes":[],"documentation":{"id":14258,"nodeType":"StructuredDocumentation","src":"55858:192:14","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:14","parameters":{"id":14267,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14260,"mutability":"mutable","name":"left","nameLocation":"56088:4:14","nodeType":"VariableDeclaration","scope":14269,"src":"56080:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14259,"name":"uint256","nodeType":"ElementaryTypeName","src":"56080:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14262,"mutability":"mutable","name":"right","nameLocation":"56102:5:14","nodeType":"VariableDeclaration","scope":14269,"src":"56094:13:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14261,"name":"uint256","nodeType":"ElementaryTypeName","src":"56094:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14264,"mutability":"mutable","name":"decimals","nameLocation":"56117:8:14","nodeType":"VariableDeclaration","scope":14269,"src":"56109:16:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14263,"name":"uint256","nodeType":"ElementaryTypeName","src":"56109:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14266,"mutability":"mutable","name":"error","nameLocation":"56143:5:14","nodeType":"VariableDeclaration","scope":14269,"src":"56127:21:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14265,"name":"string","nodeType":"ElementaryTypeName","src":"56127:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"56079:70:14"},"returnParameters":{"id":14268,"nodeType":"ParameterList","parameters":[],"src":"56163:0:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14279,"nodeType":"FunctionDefinition","src":"56312:84:14","nodes":[],"documentation":{"id":14270,"nodeType":"StructuredDocumentation","src":"56170:137:14","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:14","parameters":{"id":14277,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14272,"mutability":"mutable","name":"left","nameLocation":"56344:4:14","nodeType":"VariableDeclaration","scope":14279,"src":"56337:11:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14271,"name":"int256","nodeType":"ElementaryTypeName","src":"56337:6:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14274,"mutability":"mutable","name":"right","nameLocation":"56357:5:14","nodeType":"VariableDeclaration","scope":14279,"src":"56350:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14273,"name":"int256","nodeType":"ElementaryTypeName","src":"56350:6:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14276,"mutability":"mutable","name":"decimals","nameLocation":"56372:8:14","nodeType":"VariableDeclaration","scope":14279,"src":"56364:16:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14275,"name":"uint256","nodeType":"ElementaryTypeName","src":"56364:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"56336:45:14"},"returnParameters":{"id":14278,"nodeType":"ParameterList","parameters":[],"src":"56395:0:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14291,"nodeType":"FunctionDefinition","src":"56598:107:14","nodes":[],"documentation":{"id":14280,"nodeType":"StructuredDocumentation","src":"56402:191:14","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:14","parameters":{"id":14289,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14282,"mutability":"mutable","name":"left","nameLocation":"56630:4:14","nodeType":"VariableDeclaration","scope":14291,"src":"56623:11:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14281,"name":"int256","nodeType":"ElementaryTypeName","src":"56623:6:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14284,"mutability":"mutable","name":"right","nameLocation":"56643:5:14","nodeType":"VariableDeclaration","scope":14291,"src":"56636:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14283,"name":"int256","nodeType":"ElementaryTypeName","src":"56636:6:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14286,"mutability":"mutable","name":"decimals","nameLocation":"56658:8:14","nodeType":"VariableDeclaration","scope":14291,"src":"56650:16:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14285,"name":"uint256","nodeType":"ElementaryTypeName","src":"56650:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14288,"mutability":"mutable","name":"error","nameLocation":"56684:5:14","nodeType":"VariableDeclaration","scope":14291,"src":"56668:21:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14287,"name":"string","nodeType":"ElementaryTypeName","src":"56668:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"56622:68:14"},"returnParameters":{"id":14290,"nodeType":"ParameterList","parameters":[],"src":"56704:0:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14299,"nodeType":"FunctionDefinition","src":"56797:61:14","nodes":[],"documentation":{"id":14292,"nodeType":"StructuredDocumentation","src":"56711:81:14","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:14","parameters":{"id":14297,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14294,"mutability":"mutable","name":"left","nameLocation":"56823:4:14","nodeType":"VariableDeclaration","scope":14299,"src":"56815:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14293,"name":"uint256","nodeType":"ElementaryTypeName","src":"56815:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14296,"mutability":"mutable","name":"right","nameLocation":"56837:5:14","nodeType":"VariableDeclaration","scope":14299,"src":"56829:13:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14295,"name":"uint256","nodeType":"ElementaryTypeName","src":"56829:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"56814:29:14"},"returnParameters":{"id":14298,"nodeType":"ParameterList","parameters":[],"src":"56857:0:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14309,"nodeType":"FunctionDefinition","src":"57012:84:14","nodes":[],"documentation":{"id":14300,"nodeType":"StructuredDocumentation","src":"56864:143:14","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:14","parameters":{"id":14307,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14302,"mutability":"mutable","name":"left","nameLocation":"57038:4:14","nodeType":"VariableDeclaration","scope":14309,"src":"57030:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14301,"name":"uint256","nodeType":"ElementaryTypeName","src":"57030:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14304,"mutability":"mutable","name":"right","nameLocation":"57052:5:14","nodeType":"VariableDeclaration","scope":14309,"src":"57044:13:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14303,"name":"uint256","nodeType":"ElementaryTypeName","src":"57044:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14306,"mutability":"mutable","name":"error","nameLocation":"57075:5:14","nodeType":"VariableDeclaration","scope":14309,"src":"57059:21:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14305,"name":"string","nodeType":"ElementaryTypeName","src":"57059:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"57029:52:14"},"returnParameters":{"id":14308,"nodeType":"ParameterList","parameters":[],"src":"57095:0:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14317,"nodeType":"FunctionDefinition","src":"57187:59:14","nodes":[],"documentation":{"id":14310,"nodeType":"StructuredDocumentation","src":"57102:80:14","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:14","parameters":{"id":14315,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14312,"mutability":"mutable","name":"left","nameLocation":"57212:4:14","nodeType":"VariableDeclaration","scope":14317,"src":"57205:11:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14311,"name":"int256","nodeType":"ElementaryTypeName","src":"57205:6:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14314,"mutability":"mutable","name":"right","nameLocation":"57225:5:14","nodeType":"VariableDeclaration","scope":14317,"src":"57218:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14313,"name":"int256","nodeType":"ElementaryTypeName","src":"57218:6:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"57204:27:14"},"returnParameters":{"id":14316,"nodeType":"ParameterList","parameters":[],"src":"57245:0:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14327,"nodeType":"FunctionDefinition","src":"57399:82:14","nodes":[],"documentation":{"id":14318,"nodeType":"StructuredDocumentation","src":"57252:142:14","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:14","parameters":{"id":14325,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14320,"mutability":"mutable","name":"left","nameLocation":"57424:4:14","nodeType":"VariableDeclaration","scope":14327,"src":"57417:11:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14319,"name":"int256","nodeType":"ElementaryTypeName","src":"57417:6:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14322,"mutability":"mutable","name":"right","nameLocation":"57437:5:14","nodeType":"VariableDeclaration","scope":14327,"src":"57430:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14321,"name":"int256","nodeType":"ElementaryTypeName","src":"57430:6:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14324,"mutability":"mutable","name":"error","nameLocation":"57460:5:14","nodeType":"VariableDeclaration","scope":14327,"src":"57444:21:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14323,"name":"string","nodeType":"ElementaryTypeName","src":"57444:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"57416:50:14"},"returnParameters":{"id":14326,"nodeType":"ParameterList","parameters":[],"src":"57480:0:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14337,"nodeType":"FunctionDefinition","src":"57639:86:14","nodes":[],"documentation":{"id":14328,"nodeType":"StructuredDocumentation","src":"57487:147:14","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:14","parameters":{"id":14335,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14330,"mutability":"mutable","name":"left","nameLocation":"57672:4:14","nodeType":"VariableDeclaration","scope":14337,"src":"57664:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14329,"name":"uint256","nodeType":"ElementaryTypeName","src":"57664:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14332,"mutability":"mutable","name":"right","nameLocation":"57686:5:14","nodeType":"VariableDeclaration","scope":14337,"src":"57678:13:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14331,"name":"uint256","nodeType":"ElementaryTypeName","src":"57678:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14334,"mutability":"mutable","name":"decimals","nameLocation":"57701:8:14","nodeType":"VariableDeclaration","scope":14337,"src":"57693:16:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14333,"name":"uint256","nodeType":"ElementaryTypeName","src":"57693:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"57663:47:14"},"returnParameters":{"id":14336,"nodeType":"ParameterList","parameters":[],"src":"57724:0:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14349,"nodeType":"FunctionDefinition","src":"57937:109:14","nodes":[],"documentation":{"id":14338,"nodeType":"StructuredDocumentation","src":"57731:201:14","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:14","parameters":{"id":14347,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14340,"mutability":"mutable","name":"left","nameLocation":"57970:4:14","nodeType":"VariableDeclaration","scope":14349,"src":"57962:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14339,"name":"uint256","nodeType":"ElementaryTypeName","src":"57962:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14342,"mutability":"mutable","name":"right","nameLocation":"57984:5:14","nodeType":"VariableDeclaration","scope":14349,"src":"57976:13:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14341,"name":"uint256","nodeType":"ElementaryTypeName","src":"57976:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14344,"mutability":"mutable","name":"decimals","nameLocation":"57999:8:14","nodeType":"VariableDeclaration","scope":14349,"src":"57991:16:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14343,"name":"uint256","nodeType":"ElementaryTypeName","src":"57991:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14346,"mutability":"mutable","name":"error","nameLocation":"58025:5:14","nodeType":"VariableDeclaration","scope":14349,"src":"58009:21:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14345,"name":"string","nodeType":"ElementaryTypeName","src":"58009:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"57961:70:14"},"returnParameters":{"id":14348,"nodeType":"ParameterList","parameters":[],"src":"58045:0:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14359,"nodeType":"FunctionDefinition","src":"58203:84:14","nodes":[],"documentation":{"id":14350,"nodeType":"StructuredDocumentation","src":"58052:146:14","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:14","parameters":{"id":14357,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14352,"mutability":"mutable","name":"left","nameLocation":"58235:4:14","nodeType":"VariableDeclaration","scope":14359,"src":"58228:11:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14351,"name":"int256","nodeType":"ElementaryTypeName","src":"58228:6:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14354,"mutability":"mutable","name":"right","nameLocation":"58248:5:14","nodeType":"VariableDeclaration","scope":14359,"src":"58241:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14353,"name":"int256","nodeType":"ElementaryTypeName","src":"58241:6:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14356,"mutability":"mutable","name":"decimals","nameLocation":"58263:8:14","nodeType":"VariableDeclaration","scope":14359,"src":"58255:16:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14355,"name":"uint256","nodeType":"ElementaryTypeName","src":"58255:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"58227:45:14"},"returnParameters":{"id":14358,"nodeType":"ParameterList","parameters":[],"src":"58286:0:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14371,"nodeType":"FunctionDefinition","src":"58498:107:14","nodes":[],"documentation":{"id":14360,"nodeType":"StructuredDocumentation","src":"58293:200:14","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:14","parameters":{"id":14369,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14362,"mutability":"mutable","name":"left","nameLocation":"58530:4:14","nodeType":"VariableDeclaration","scope":14371,"src":"58523:11:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14361,"name":"int256","nodeType":"ElementaryTypeName","src":"58523:6:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14364,"mutability":"mutable","name":"right","nameLocation":"58543:5:14","nodeType":"VariableDeclaration","scope":14371,"src":"58536:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14363,"name":"int256","nodeType":"ElementaryTypeName","src":"58536:6:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14366,"mutability":"mutable","name":"decimals","nameLocation":"58558:8:14","nodeType":"VariableDeclaration","scope":14371,"src":"58550:16:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14365,"name":"uint256","nodeType":"ElementaryTypeName","src":"58550:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14368,"mutability":"mutable","name":"error","nameLocation":"58584:5:14","nodeType":"VariableDeclaration","scope":14371,"src":"58568:21:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14367,"name":"string","nodeType":"ElementaryTypeName","src":"58568:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"58522:68:14"},"returnParameters":{"id":14370,"nodeType":"ParameterList","parameters":[],"src":"58604:0:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14379,"nodeType":"FunctionDefinition","src":"58706:61:14","nodes":[],"documentation":{"id":14372,"nodeType":"StructuredDocumentation","src":"58611:90:14","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:14","parameters":{"id":14377,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14374,"mutability":"mutable","name":"left","nameLocation":"58732:4:14","nodeType":"VariableDeclaration","scope":14379,"src":"58724:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14373,"name":"uint256","nodeType":"ElementaryTypeName","src":"58724:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14376,"mutability":"mutable","name":"right","nameLocation":"58746:5:14","nodeType":"VariableDeclaration","scope":14379,"src":"58738:13:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14375,"name":"uint256","nodeType":"ElementaryTypeName","src":"58738:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"58723:29:14"},"returnParameters":{"id":14378,"nodeType":"ParameterList","parameters":[],"src":"58766:0:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14389,"nodeType":"FunctionDefinition","src":"58930:84:14","nodes":[],"documentation":{"id":14380,"nodeType":"StructuredDocumentation","src":"58773:152:14","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:14","parameters":{"id":14387,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14382,"mutability":"mutable","name":"left","nameLocation":"58956:4:14","nodeType":"VariableDeclaration","scope":14389,"src":"58948:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14381,"name":"uint256","nodeType":"ElementaryTypeName","src":"58948:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14384,"mutability":"mutable","name":"right","nameLocation":"58970:5:14","nodeType":"VariableDeclaration","scope":14389,"src":"58962:13:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14383,"name":"uint256","nodeType":"ElementaryTypeName","src":"58962:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14386,"mutability":"mutable","name":"error","nameLocation":"58993:5:14","nodeType":"VariableDeclaration","scope":14389,"src":"58977:21:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14385,"name":"string","nodeType":"ElementaryTypeName","src":"58977:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"58947:52:14"},"returnParameters":{"id":14388,"nodeType":"ParameterList","parameters":[],"src":"59013:0:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14397,"nodeType":"FunctionDefinition","src":"59114:59:14","nodes":[],"documentation":{"id":14390,"nodeType":"StructuredDocumentation","src":"59020:89:14","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:14","parameters":{"id":14395,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14392,"mutability":"mutable","name":"left","nameLocation":"59139:4:14","nodeType":"VariableDeclaration","scope":14397,"src":"59132:11:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14391,"name":"int256","nodeType":"ElementaryTypeName","src":"59132:6:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14394,"mutability":"mutable","name":"right","nameLocation":"59152:5:14","nodeType":"VariableDeclaration","scope":14397,"src":"59145:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14393,"name":"int256","nodeType":"ElementaryTypeName","src":"59145:6:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"59131:27:14"},"returnParameters":{"id":14396,"nodeType":"ParameterList","parameters":[],"src":"59172:0:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14407,"nodeType":"FunctionDefinition","src":"59335:82:14","nodes":[],"documentation":{"id":14398,"nodeType":"StructuredDocumentation","src":"59179:151:14","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:14","parameters":{"id":14405,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14400,"mutability":"mutable","name":"left","nameLocation":"59360:4:14","nodeType":"VariableDeclaration","scope":14407,"src":"59353:11:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14399,"name":"int256","nodeType":"ElementaryTypeName","src":"59353:6:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14402,"mutability":"mutable","name":"right","nameLocation":"59373:5:14","nodeType":"VariableDeclaration","scope":14407,"src":"59366:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14401,"name":"int256","nodeType":"ElementaryTypeName","src":"59366:6:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14404,"mutability":"mutable","name":"error","nameLocation":"59396:5:14","nodeType":"VariableDeclaration","scope":14407,"src":"59380:21:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14403,"name":"string","nodeType":"ElementaryTypeName","src":"59380:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"59352:50:14"},"returnParameters":{"id":14406,"nodeType":"ParameterList","parameters":[],"src":"59416:0:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14417,"nodeType":"FunctionDefinition","src":"59563:86:14","nodes":[],"documentation":{"id":14408,"nodeType":"StructuredDocumentation","src":"59423:135:14","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:14","parameters":{"id":14415,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14410,"mutability":"mutable","name":"left","nameLocation":"59596:4:14","nodeType":"VariableDeclaration","scope":14417,"src":"59588:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14409,"name":"uint256","nodeType":"ElementaryTypeName","src":"59588:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14412,"mutability":"mutable","name":"right","nameLocation":"59610:5:14","nodeType":"VariableDeclaration","scope":14417,"src":"59602:13:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14411,"name":"uint256","nodeType":"ElementaryTypeName","src":"59602:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14414,"mutability":"mutable","name":"decimals","nameLocation":"59625:8:14","nodeType":"VariableDeclaration","scope":14417,"src":"59617:16:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14413,"name":"uint256","nodeType":"ElementaryTypeName","src":"59617:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"59587:47:14"},"returnParameters":{"id":14416,"nodeType":"ParameterList","parameters":[],"src":"59648:0:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14429,"nodeType":"FunctionDefinition","src":"59849:109:14","nodes":[],"documentation":{"id":14418,"nodeType":"StructuredDocumentation","src":"59655:189:14","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:14","parameters":{"id":14427,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14420,"mutability":"mutable","name":"left","nameLocation":"59882:4:14","nodeType":"VariableDeclaration","scope":14429,"src":"59874:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14419,"name":"uint256","nodeType":"ElementaryTypeName","src":"59874:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14422,"mutability":"mutable","name":"right","nameLocation":"59896:5:14","nodeType":"VariableDeclaration","scope":14429,"src":"59888:13:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14421,"name":"uint256","nodeType":"ElementaryTypeName","src":"59888:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14424,"mutability":"mutable","name":"decimals","nameLocation":"59911:8:14","nodeType":"VariableDeclaration","scope":14429,"src":"59903:16:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14423,"name":"uint256","nodeType":"ElementaryTypeName","src":"59903:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14426,"mutability":"mutable","name":"error","nameLocation":"59937:5:14","nodeType":"VariableDeclaration","scope":14429,"src":"59921:21:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14425,"name":"string","nodeType":"ElementaryTypeName","src":"59921:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"59873:70:14"},"returnParameters":{"id":14428,"nodeType":"ParameterList","parameters":[],"src":"59957:0:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14439,"nodeType":"FunctionDefinition","src":"60103:84:14","nodes":[],"documentation":{"id":14430,"nodeType":"StructuredDocumentation","src":"59964:134:14","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:14","parameters":{"id":14437,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14432,"mutability":"mutable","name":"left","nameLocation":"60135:4:14","nodeType":"VariableDeclaration","scope":14439,"src":"60128:11:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14431,"name":"int256","nodeType":"ElementaryTypeName","src":"60128:6:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14434,"mutability":"mutable","name":"right","nameLocation":"60148:5:14","nodeType":"VariableDeclaration","scope":14439,"src":"60141:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14433,"name":"int256","nodeType":"ElementaryTypeName","src":"60141:6:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14436,"mutability":"mutable","name":"decimals","nameLocation":"60163:8:14","nodeType":"VariableDeclaration","scope":14439,"src":"60155:16:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14435,"name":"uint256","nodeType":"ElementaryTypeName","src":"60155:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"60127:45:14"},"returnParameters":{"id":14438,"nodeType":"ParameterList","parameters":[],"src":"60186:0:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14451,"nodeType":"FunctionDefinition","src":"60386:107:14","nodes":[],"documentation":{"id":14440,"nodeType":"StructuredDocumentation","src":"60193:188:14","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:14","parameters":{"id":14449,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14442,"mutability":"mutable","name":"left","nameLocation":"60418:4:14","nodeType":"VariableDeclaration","scope":14451,"src":"60411:11:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14441,"name":"int256","nodeType":"ElementaryTypeName","src":"60411:6:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14444,"mutability":"mutable","name":"right","nameLocation":"60431:5:14","nodeType":"VariableDeclaration","scope":14451,"src":"60424:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14443,"name":"int256","nodeType":"ElementaryTypeName","src":"60424:6:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14446,"mutability":"mutable","name":"decimals","nameLocation":"60446:8:14","nodeType":"VariableDeclaration","scope":14451,"src":"60438:16:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14445,"name":"uint256","nodeType":"ElementaryTypeName","src":"60438:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14448,"mutability":"mutable","name":"error","nameLocation":"60472:5:14","nodeType":"VariableDeclaration","scope":14451,"src":"60456:21:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14447,"name":"string","nodeType":"ElementaryTypeName","src":"60456:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"60410:68:14"},"returnParameters":{"id":14450,"nodeType":"ParameterList","parameters":[],"src":"60492:0:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14459,"nodeType":"FunctionDefinition","src":"60582:61:14","nodes":[],"documentation":{"id":14452,"nodeType":"StructuredDocumentation","src":"60499:78:14","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:14","parameters":{"id":14457,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14454,"mutability":"mutable","name":"left","nameLocation":"60608:4:14","nodeType":"VariableDeclaration","scope":14459,"src":"60600:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14453,"name":"uint256","nodeType":"ElementaryTypeName","src":"60600:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14456,"mutability":"mutable","name":"right","nameLocation":"60622:5:14","nodeType":"VariableDeclaration","scope":14459,"src":"60614:13:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14455,"name":"uint256","nodeType":"ElementaryTypeName","src":"60614:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"60599:29:14"},"returnParameters":{"id":14458,"nodeType":"ParameterList","parameters":[],"src":"60642:0:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14469,"nodeType":"FunctionDefinition","src":"60794:84:14","nodes":[],"documentation":{"id":14460,"nodeType":"StructuredDocumentation","src":"60649:140:14","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:14","parameters":{"id":14467,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14462,"mutability":"mutable","name":"left","nameLocation":"60820:4:14","nodeType":"VariableDeclaration","scope":14469,"src":"60812:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14461,"name":"uint256","nodeType":"ElementaryTypeName","src":"60812:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14464,"mutability":"mutable","name":"right","nameLocation":"60834:5:14","nodeType":"VariableDeclaration","scope":14469,"src":"60826:13:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14463,"name":"uint256","nodeType":"ElementaryTypeName","src":"60826:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14466,"mutability":"mutable","name":"error","nameLocation":"60857:5:14","nodeType":"VariableDeclaration","scope":14469,"src":"60841:21:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14465,"name":"string","nodeType":"ElementaryTypeName","src":"60841:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"60811:52:14"},"returnParameters":{"id":14468,"nodeType":"ParameterList","parameters":[],"src":"60877:0:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14477,"nodeType":"FunctionDefinition","src":"60966:59:14","nodes":[],"documentation":{"id":14470,"nodeType":"StructuredDocumentation","src":"60884:77:14","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:14","parameters":{"id":14475,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14472,"mutability":"mutable","name":"left","nameLocation":"60991:4:14","nodeType":"VariableDeclaration","scope":14477,"src":"60984:11:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14471,"name":"int256","nodeType":"ElementaryTypeName","src":"60984:6:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14474,"mutability":"mutable","name":"right","nameLocation":"61004:5:14","nodeType":"VariableDeclaration","scope":14477,"src":"60997:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14473,"name":"int256","nodeType":"ElementaryTypeName","src":"60997:6:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"60983:27:14"},"returnParameters":{"id":14476,"nodeType":"ParameterList","parameters":[],"src":"61024:0:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14487,"nodeType":"FunctionDefinition","src":"61175:82:14","nodes":[],"documentation":{"id":14478,"nodeType":"StructuredDocumentation","src":"61031:139:14","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:14","parameters":{"id":14485,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14480,"mutability":"mutable","name":"left","nameLocation":"61200:4:14","nodeType":"VariableDeclaration","scope":14487,"src":"61193:11:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14479,"name":"int256","nodeType":"ElementaryTypeName","src":"61193:6:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14482,"mutability":"mutable","name":"right","nameLocation":"61213:5:14","nodeType":"VariableDeclaration","scope":14487,"src":"61206:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14481,"name":"int256","nodeType":"ElementaryTypeName","src":"61206:6:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14484,"mutability":"mutable","name":"error","nameLocation":"61236:5:14","nodeType":"VariableDeclaration","scope":14487,"src":"61220:21:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14483,"name":"string","nodeType":"ElementaryTypeName","src":"61220:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"61192:50:14"},"returnParameters":{"id":14486,"nodeType":"ParameterList","parameters":[],"src":"61256:0:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14497,"nodeType":"FunctionDefinition","src":"61370:89:14","nodes":[],"documentation":{"id":14488,"nodeType":"StructuredDocumentation","src":"61263:102:14","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:14","parameters":{"id":14495,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14490,"mutability":"mutable","name":"left","nameLocation":"61406:4:14","nodeType":"VariableDeclaration","scope":14497,"src":"61398:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14489,"name":"uint256","nodeType":"ElementaryTypeName","src":"61398:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14492,"mutability":"mutable","name":"right","nameLocation":"61420:5:14","nodeType":"VariableDeclaration","scope":14497,"src":"61412:13:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14491,"name":"uint256","nodeType":"ElementaryTypeName","src":"61412:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14494,"mutability":"mutable","name":"decimals","nameLocation":"61435:8:14","nodeType":"VariableDeclaration","scope":14497,"src":"61427:16:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14493,"name":"uint256","nodeType":"ElementaryTypeName","src":"61427:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"61397:47:14"},"returnParameters":{"id":14496,"nodeType":"ParameterList","parameters":[],"src":"61458:0:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14509,"nodeType":"FunctionDefinition","src":"61634:112:14","nodes":[],"documentation":{"id":14498,"nodeType":"StructuredDocumentation","src":"61465:164:14","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:14","parameters":{"id":14507,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14500,"mutability":"mutable","name":"left","nameLocation":"61670:4:14","nodeType":"VariableDeclaration","scope":14509,"src":"61662:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14499,"name":"uint256","nodeType":"ElementaryTypeName","src":"61662:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14502,"mutability":"mutable","name":"right","nameLocation":"61684:5:14","nodeType":"VariableDeclaration","scope":14509,"src":"61676:13:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14501,"name":"uint256","nodeType":"ElementaryTypeName","src":"61676:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14504,"mutability":"mutable","name":"decimals","nameLocation":"61699:8:14","nodeType":"VariableDeclaration","scope":14509,"src":"61691:16:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14503,"name":"uint256","nodeType":"ElementaryTypeName","src":"61691:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14506,"mutability":"mutable","name":"error","nameLocation":"61725:5:14","nodeType":"VariableDeclaration","scope":14509,"src":"61709:21:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14505,"name":"string","nodeType":"ElementaryTypeName","src":"61709:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"61661:70:14"},"returnParameters":{"id":14508,"nodeType":"ParameterList","parameters":[],"src":"61745:0:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14519,"nodeType":"FunctionDefinition","src":"61858:87:14","nodes":[],"documentation":{"id":14510,"nodeType":"StructuredDocumentation","src":"61752:101:14","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:14","parameters":{"id":14517,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14512,"mutability":"mutable","name":"left","nameLocation":"61893:4:14","nodeType":"VariableDeclaration","scope":14519,"src":"61886:11:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14511,"name":"int256","nodeType":"ElementaryTypeName","src":"61886:6:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14514,"mutability":"mutable","name":"right","nameLocation":"61906:5:14","nodeType":"VariableDeclaration","scope":14519,"src":"61899:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14513,"name":"int256","nodeType":"ElementaryTypeName","src":"61899:6:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14516,"mutability":"mutable","name":"decimals","nameLocation":"61921:8:14","nodeType":"VariableDeclaration","scope":14519,"src":"61913:16:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14515,"name":"uint256","nodeType":"ElementaryTypeName","src":"61913:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"61885:45:14"},"returnParameters":{"id":14518,"nodeType":"ParameterList","parameters":[],"src":"61944:0:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14531,"nodeType":"FunctionDefinition","src":"62119:110:14","nodes":[],"documentation":{"id":14520,"nodeType":"StructuredDocumentation","src":"61951:163:14","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:14","parameters":{"id":14529,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14522,"mutability":"mutable","name":"left","nameLocation":"62154:4:14","nodeType":"VariableDeclaration","scope":14531,"src":"62147:11:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14521,"name":"int256","nodeType":"ElementaryTypeName","src":"62147:6:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14524,"mutability":"mutable","name":"right","nameLocation":"62167:5:14","nodeType":"VariableDeclaration","scope":14531,"src":"62160:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14523,"name":"int256","nodeType":"ElementaryTypeName","src":"62160:6:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14526,"mutability":"mutable","name":"decimals","nameLocation":"62182:8:14","nodeType":"VariableDeclaration","scope":14531,"src":"62174:16:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14525,"name":"uint256","nodeType":"ElementaryTypeName","src":"62174:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14528,"mutability":"mutable","name":"error","nameLocation":"62208:5:14","nodeType":"VariableDeclaration","scope":14531,"src":"62192:21:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14527,"name":"string","nodeType":"ElementaryTypeName","src":"62192:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"62146:68:14"},"returnParameters":{"id":14530,"nodeType":"ParameterList","parameters":[],"src":"62228:0:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14539,"nodeType":"FunctionDefinition","src":"62289:58:14","nodes":[],"documentation":{"id":14532,"nodeType":"StructuredDocumentation","src":"62235:49:14","text":"Asserts that two `bool` values are not equal."},"functionSelector":"236e4d66","implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"62298:11:14","parameters":{"id":14537,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14534,"mutability":"mutable","name":"left","nameLocation":"62315:4:14","nodeType":"VariableDeclaration","scope":14539,"src":"62310:9:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14533,"name":"bool","nodeType":"ElementaryTypeName","src":"62310:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":14536,"mutability":"mutable","name":"right","nameLocation":"62326:5:14","nodeType":"VariableDeclaration","scope":14539,"src":"62321:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14535,"name":"bool","nodeType":"ElementaryTypeName","src":"62321:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"62309:23:14"},"returnParameters":{"id":14538,"nodeType":"ParameterList","parameters":[],"src":"62346:0:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14549,"nodeType":"FunctionDefinition","src":"62464:81:14","nodes":[],"documentation":{"id":14540,"nodeType":"StructuredDocumentation","src":"62353:106:14","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:14","parameters":{"id":14547,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14542,"mutability":"mutable","name":"left","nameLocation":"62490:4:14","nodeType":"VariableDeclaration","scope":14549,"src":"62485:9:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14541,"name":"bool","nodeType":"ElementaryTypeName","src":"62485:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":14544,"mutability":"mutable","name":"right","nameLocation":"62501:5:14","nodeType":"VariableDeclaration","scope":14549,"src":"62496:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14543,"name":"bool","nodeType":"ElementaryTypeName","src":"62496:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":14546,"mutability":"mutable","name":"error","nameLocation":"62524:5:14","nodeType":"VariableDeclaration","scope":14549,"src":"62508:21:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14545,"name":"string","nodeType":"ElementaryTypeName","src":"62508:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"62484:46:14"},"returnParameters":{"id":14548,"nodeType":"ParameterList","parameters":[],"src":"62544:0:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14557,"nodeType":"FunctionDefinition","src":"62607:80:14","nodes":[],"documentation":{"id":14550,"nodeType":"StructuredDocumentation","src":"62551:51:14","text":"Asserts that two `string` values are not equal."},"functionSelector":"6a8237b3","implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"62616:11:14","parameters":{"id":14555,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14552,"mutability":"mutable","name":"left","nameLocation":"62644:4:14","nodeType":"VariableDeclaration","scope":14557,"src":"62628:20:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14551,"name":"string","nodeType":"ElementaryTypeName","src":"62628:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14554,"mutability":"mutable","name":"right","nameLocation":"62666:5:14","nodeType":"VariableDeclaration","scope":14557,"src":"62650:21:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14553,"name":"string","nodeType":"ElementaryTypeName","src":"62650:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"62627:45:14"},"returnParameters":{"id":14556,"nodeType":"ParameterList","parameters":[],"src":"62686:0:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14567,"nodeType":"FunctionDefinition","src":"62806:103:14","nodes":[],"documentation":{"id":14558,"nodeType":"StructuredDocumentation","src":"62693:108:14","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:14","parameters":{"id":14565,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14560,"mutability":"mutable","name":"left","nameLocation":"62843:4:14","nodeType":"VariableDeclaration","scope":14567,"src":"62827:20:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14559,"name":"string","nodeType":"ElementaryTypeName","src":"62827:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14562,"mutability":"mutable","name":"right","nameLocation":"62865:5:14","nodeType":"VariableDeclaration","scope":14567,"src":"62849:21:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14561,"name":"string","nodeType":"ElementaryTypeName","src":"62849:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14564,"mutability":"mutable","name":"error","nameLocation":"62888:5:14","nodeType":"VariableDeclaration","scope":14567,"src":"62872:21:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14563,"name":"string","nodeType":"ElementaryTypeName","src":"62872:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"62826:68:14"},"returnParameters":{"id":14566,"nodeType":"ParameterList","parameters":[],"src":"62908:0:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14575,"nodeType":"FunctionDefinition","src":"62970:78:14","nodes":[],"documentation":{"id":14568,"nodeType":"StructuredDocumentation","src":"62915:50:14","text":"Asserts that two `bytes` values are not equal."},"functionSelector":"3cf78e28","implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"62979:11:14","parameters":{"id":14573,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14570,"mutability":"mutable","name":"left","nameLocation":"63006:4:14","nodeType":"VariableDeclaration","scope":14575,"src":"62991:19:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":14569,"name":"bytes","nodeType":"ElementaryTypeName","src":"62991:5:14","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":14572,"mutability":"mutable","name":"right","nameLocation":"63027:5:14","nodeType":"VariableDeclaration","scope":14575,"src":"63012:20:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":14571,"name":"bytes","nodeType":"ElementaryTypeName","src":"63012:5:14","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"62990:43:14"},"returnParameters":{"id":14574,"nodeType":"ParameterList","parameters":[],"src":"63047:0:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14585,"nodeType":"FunctionDefinition","src":"63166:101:14","nodes":[],"documentation":{"id":14576,"nodeType":"StructuredDocumentation","src":"63054:107:14","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:14","parameters":{"id":14583,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14578,"mutability":"mutable","name":"left","nameLocation":"63202:4:14","nodeType":"VariableDeclaration","scope":14585,"src":"63187:19:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":14577,"name":"bytes","nodeType":"ElementaryTypeName","src":"63187:5:14","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":14580,"mutability":"mutable","name":"right","nameLocation":"63223:5:14","nodeType":"VariableDeclaration","scope":14585,"src":"63208:20:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":14579,"name":"bytes","nodeType":"ElementaryTypeName","src":"63208:5:14","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":14582,"mutability":"mutable","name":"error","nameLocation":"63246:5:14","nodeType":"VariableDeclaration","scope":14585,"src":"63230:21:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14581,"name":"string","nodeType":"ElementaryTypeName","src":"63230:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"63186:66:14"},"returnParameters":{"id":14584,"nodeType":"ParameterList","parameters":[],"src":"63266:0:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14595,"nodeType":"FunctionDefinition","src":"63337:80:14","nodes":[],"documentation":{"id":14586,"nodeType":"StructuredDocumentation","src":"63273:59:14","text":"Asserts that two arrays of `bool` values are not equal."},"functionSelector":"286fafea","implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"63346:11:14","parameters":{"id":14593,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14589,"mutability":"mutable","name":"left","nameLocation":"63374:4:14","nodeType":"VariableDeclaration","scope":14595,"src":"63358:20:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_calldata_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":14587,"name":"bool","nodeType":"ElementaryTypeName","src":"63358:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":14588,"nodeType":"ArrayTypeName","src":"63358:6:14","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"},{"constant":false,"id":14592,"mutability":"mutable","name":"right","nameLocation":"63396:5:14","nodeType":"VariableDeclaration","scope":14595,"src":"63380:21:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_calldata_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":14590,"name":"bool","nodeType":"ElementaryTypeName","src":"63380:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":14591,"nodeType":"ArrayTypeName","src":"63380:6:14","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"}],"src":"63357:45:14"},"returnParameters":{"id":14594,"nodeType":"ParameterList","parameters":[],"src":"63416:0:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14607,"nodeType":"FunctionDefinition","src":"63544:103:14","nodes":[],"documentation":{"id":14596,"nodeType":"StructuredDocumentation","src":"63423:116:14","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:14","parameters":{"id":14605,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14599,"mutability":"mutable","name":"left","nameLocation":"63581:4:14","nodeType":"VariableDeclaration","scope":14607,"src":"63565:20:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_calldata_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":14597,"name":"bool","nodeType":"ElementaryTypeName","src":"63565:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":14598,"nodeType":"ArrayTypeName","src":"63565:6:14","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"},{"constant":false,"id":14602,"mutability":"mutable","name":"right","nameLocation":"63603:5:14","nodeType":"VariableDeclaration","scope":14607,"src":"63587:21:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_calldata_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":14600,"name":"bool","nodeType":"ElementaryTypeName","src":"63587:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":14601,"nodeType":"ArrayTypeName","src":"63587:6:14","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"},{"constant":false,"id":14604,"mutability":"mutable","name":"error","nameLocation":"63626:5:14","nodeType":"VariableDeclaration","scope":14607,"src":"63610:21:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14603,"name":"string","nodeType":"ElementaryTypeName","src":"63610:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"63564:68:14"},"returnParameters":{"id":14606,"nodeType":"ParameterList","parameters":[],"src":"63646:0:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14617,"nodeType":"FunctionDefinition","src":"63720:86:14","nodes":[],"documentation":{"id":14608,"nodeType":"StructuredDocumentation","src":"63653:62:14","text":"Asserts that two arrays of `uint256` values are not equal."},"functionSelector":"56f29cba","implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"63729:11:14","parameters":{"id":14615,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14611,"mutability":"mutable","name":"left","nameLocation":"63760:4:14","nodeType":"VariableDeclaration","scope":14617,"src":"63741:23:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":14609,"name":"uint256","nodeType":"ElementaryTypeName","src":"63741:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":14610,"nodeType":"ArrayTypeName","src":"63741:9:14","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":14614,"mutability":"mutable","name":"right","nameLocation":"63785:5:14","nodeType":"VariableDeclaration","scope":14617,"src":"63766:24:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":14612,"name":"uint256","nodeType":"ElementaryTypeName","src":"63766:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":14613,"nodeType":"ArrayTypeName","src":"63766:9:14","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"63740:51:14"},"returnParameters":{"id":14616,"nodeType":"ParameterList","parameters":[],"src":"63805:0:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14629,"nodeType":"FunctionDefinition","src":"63936:109:14","nodes":[],"documentation":{"id":14618,"nodeType":"StructuredDocumentation","src":"63812:119:14","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:14","parameters":{"id":14627,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14621,"mutability":"mutable","name":"left","nameLocation":"63976:4:14","nodeType":"VariableDeclaration","scope":14629,"src":"63957:23:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":14619,"name":"uint256","nodeType":"ElementaryTypeName","src":"63957:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":14620,"nodeType":"ArrayTypeName","src":"63957:9:14","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":14624,"mutability":"mutable","name":"right","nameLocation":"64001:5:14","nodeType":"VariableDeclaration","scope":14629,"src":"63982:24:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":14622,"name":"uint256","nodeType":"ElementaryTypeName","src":"63982:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":14623,"nodeType":"ArrayTypeName","src":"63982:9:14","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":14626,"mutability":"mutable","name":"error","nameLocation":"64024:5:14","nodeType":"VariableDeclaration","scope":14629,"src":"64008:21:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14625,"name":"string","nodeType":"ElementaryTypeName","src":"64008:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"63956:74:14"},"returnParameters":{"id":14628,"nodeType":"ParameterList","parameters":[],"src":"64044:0:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14639,"nodeType":"FunctionDefinition","src":"64117:84:14","nodes":[],"documentation":{"id":14630,"nodeType":"StructuredDocumentation","src":"64051:61:14","text":"Asserts that two arrays of `int256` values are not equal."},"functionSelector":"0b72f4ef","implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"64126:11:14","parameters":{"id":14637,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14633,"mutability":"mutable","name":"left","nameLocation":"64156:4:14","nodeType":"VariableDeclaration","scope":14639,"src":"64138:22:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_calldata_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":14631,"name":"int256","nodeType":"ElementaryTypeName","src":"64138:6:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":14632,"nodeType":"ArrayTypeName","src":"64138:8:14","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"},{"constant":false,"id":14636,"mutability":"mutable","name":"right","nameLocation":"64180:5:14","nodeType":"VariableDeclaration","scope":14639,"src":"64162:23:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_calldata_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":14634,"name":"int256","nodeType":"ElementaryTypeName","src":"64162:6:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":14635,"nodeType":"ArrayTypeName","src":"64162:8:14","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"64137:49:14"},"returnParameters":{"id":14638,"nodeType":"ParameterList","parameters":[],"src":"64200:0:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14651,"nodeType":"FunctionDefinition","src":"64330:107:14","nodes":[],"documentation":{"id":14640,"nodeType":"StructuredDocumentation","src":"64207:118:14","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:14","parameters":{"id":14649,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14643,"mutability":"mutable","name":"left","nameLocation":"64369:4:14","nodeType":"VariableDeclaration","scope":14651,"src":"64351:22:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_calldata_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":14641,"name":"int256","nodeType":"ElementaryTypeName","src":"64351:6:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":14642,"nodeType":"ArrayTypeName","src":"64351:8:14","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"},{"constant":false,"id":14646,"mutability":"mutable","name":"right","nameLocation":"64393:5:14","nodeType":"VariableDeclaration","scope":14651,"src":"64375:23:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_calldata_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":14644,"name":"int256","nodeType":"ElementaryTypeName","src":"64375:6:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":14645,"nodeType":"ArrayTypeName","src":"64375:8:14","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"},{"constant":false,"id":14648,"mutability":"mutable","name":"error","nameLocation":"64416:5:14","nodeType":"VariableDeclaration","scope":14651,"src":"64400:21:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14647,"name":"string","nodeType":"ElementaryTypeName","src":"64400:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"64350:72:14"},"returnParameters":{"id":14650,"nodeType":"ParameterList","parameters":[],"src":"64436:0:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14659,"nodeType":"FunctionDefinition","src":"64500:64:14","nodes":[],"documentation":{"id":14652,"nodeType":"StructuredDocumentation","src":"64443:52:14","text":"Asserts that two `uint256` values are not equal."},"functionSelector":"b7909320","implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"64509:11:14","parameters":{"id":14657,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14654,"mutability":"mutable","name":"left","nameLocation":"64529:4:14","nodeType":"VariableDeclaration","scope":14659,"src":"64521:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14653,"name":"uint256","nodeType":"ElementaryTypeName","src":"64521:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14656,"mutability":"mutable","name":"right","nameLocation":"64543:5:14","nodeType":"VariableDeclaration","scope":14659,"src":"64535:13:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14655,"name":"uint256","nodeType":"ElementaryTypeName","src":"64535:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"64520:29:14"},"returnParameters":{"id":14658,"nodeType":"ParameterList","parameters":[],"src":"64563:0:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14669,"nodeType":"FunctionDefinition","src":"64637:86:14","nodes":[],"documentation":{"id":14660,"nodeType":"StructuredDocumentation","src":"64570:62:14","text":"Asserts that two arrays of `address` values are not equal."},"functionSelector":"46d0b252","implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"64646:11:14","parameters":{"id":14667,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14663,"mutability":"mutable","name":"left","nameLocation":"64677:4:14","nodeType":"VariableDeclaration","scope":14669,"src":"64658:23:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":14661,"name":"address","nodeType":"ElementaryTypeName","src":"64658:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":14662,"nodeType":"ArrayTypeName","src":"64658:9:14","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":14666,"mutability":"mutable","name":"right","nameLocation":"64702:5:14","nodeType":"VariableDeclaration","scope":14669,"src":"64683:24:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":14664,"name":"address","nodeType":"ElementaryTypeName","src":"64683:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":14665,"nodeType":"ArrayTypeName","src":"64683:9:14","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"64657:51:14"},"returnParameters":{"id":14668,"nodeType":"ParameterList","parameters":[],"src":"64722:0:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14681,"nodeType":"FunctionDefinition","src":"64853:109:14","nodes":[],"documentation":{"id":14670,"nodeType":"StructuredDocumentation","src":"64729:119:14","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:14","parameters":{"id":14679,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14673,"mutability":"mutable","name":"left","nameLocation":"64893:4:14","nodeType":"VariableDeclaration","scope":14681,"src":"64874:23:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":14671,"name":"address","nodeType":"ElementaryTypeName","src":"64874:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":14672,"nodeType":"ArrayTypeName","src":"64874:9:14","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":14676,"mutability":"mutable","name":"right","nameLocation":"64918:5:14","nodeType":"VariableDeclaration","scope":14681,"src":"64899:24:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":14674,"name":"address","nodeType":"ElementaryTypeName","src":"64899:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":14675,"nodeType":"ArrayTypeName","src":"64899:9:14","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":14678,"mutability":"mutable","name":"error","nameLocation":"64941:5:14","nodeType":"VariableDeclaration","scope":14681,"src":"64925:21:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14677,"name":"string","nodeType":"ElementaryTypeName","src":"64925:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"64873:74:14"},"returnParameters":{"id":14680,"nodeType":"ParameterList","parameters":[],"src":"64961:0:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14691,"nodeType":"FunctionDefinition","src":"65035:86:14","nodes":[],"documentation":{"id":14682,"nodeType":"StructuredDocumentation","src":"64968:62:14","text":"Asserts that two arrays of `bytes32` values are not equal."},"functionSelector":"0603ea68","implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"65044:11:14","parameters":{"id":14689,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14685,"mutability":"mutable","name":"left","nameLocation":"65075:4:14","nodeType":"VariableDeclaration","scope":14691,"src":"65056:23:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_calldata_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":14683,"name":"bytes32","nodeType":"ElementaryTypeName","src":"65056:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":14684,"nodeType":"ArrayTypeName","src":"65056:9:14","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":14688,"mutability":"mutable","name":"right","nameLocation":"65100:5:14","nodeType":"VariableDeclaration","scope":14691,"src":"65081:24:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_calldata_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":14686,"name":"bytes32","nodeType":"ElementaryTypeName","src":"65081:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":14687,"nodeType":"ArrayTypeName","src":"65081:9:14","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"65055:51:14"},"returnParameters":{"id":14690,"nodeType":"ParameterList","parameters":[],"src":"65120:0:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14703,"nodeType":"FunctionDefinition","src":"65251:109:14","nodes":[],"documentation":{"id":14692,"nodeType":"StructuredDocumentation","src":"65127:119:14","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:14","parameters":{"id":14701,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14695,"mutability":"mutable","name":"left","nameLocation":"65291:4:14","nodeType":"VariableDeclaration","scope":14703,"src":"65272:23:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_calldata_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":14693,"name":"bytes32","nodeType":"ElementaryTypeName","src":"65272:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":14694,"nodeType":"ArrayTypeName","src":"65272:9:14","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":14698,"mutability":"mutable","name":"right","nameLocation":"65316:5:14","nodeType":"VariableDeclaration","scope":14703,"src":"65297:24:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_calldata_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":14696,"name":"bytes32","nodeType":"ElementaryTypeName","src":"65297:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":14697,"nodeType":"ArrayTypeName","src":"65297:9:14","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":14700,"mutability":"mutable","name":"error","nameLocation":"65339:5:14","nodeType":"VariableDeclaration","scope":14703,"src":"65323:21:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14699,"name":"string","nodeType":"ElementaryTypeName","src":"65323:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"65271:74:14"},"returnParameters":{"id":14702,"nodeType":"ParameterList","parameters":[],"src":"65359:0:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14713,"nodeType":"FunctionDefinition","src":"65432:84:14","nodes":[],"documentation":{"id":14704,"nodeType":"StructuredDocumentation","src":"65366:61:14","text":"Asserts that two arrays of `string` values are not equal."},"functionSelector":"bdfacbe8","implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"65441:11:14","parameters":{"id":14711,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14707,"mutability":"mutable","name":"left","nameLocation":"65471:4:14","nodeType":"VariableDeclaration","scope":14713,"src":"65453:22:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_string_calldata_ptr_$dyn_calldata_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":14705,"name":"string","nodeType":"ElementaryTypeName","src":"65453:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":14706,"nodeType":"ArrayTypeName","src":"65453:8:14","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":14710,"mutability":"mutable","name":"right","nameLocation":"65495:5:14","nodeType":"VariableDeclaration","scope":14713,"src":"65477:23:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_string_calldata_ptr_$dyn_calldata_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":14708,"name":"string","nodeType":"ElementaryTypeName","src":"65477:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":14709,"nodeType":"ArrayTypeName","src":"65477:8:14","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"65452:49:14"},"returnParameters":{"id":14712,"nodeType":"ParameterList","parameters":[],"src":"65515:0:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14725,"nodeType":"FunctionDefinition","src":"65645:107:14","nodes":[],"documentation":{"id":14714,"nodeType":"StructuredDocumentation","src":"65522:118:14","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:14","parameters":{"id":14723,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14717,"mutability":"mutable","name":"left","nameLocation":"65684:4:14","nodeType":"VariableDeclaration","scope":14725,"src":"65666:22:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_string_calldata_ptr_$dyn_calldata_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":14715,"name":"string","nodeType":"ElementaryTypeName","src":"65666:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":14716,"nodeType":"ArrayTypeName","src":"65666:8:14","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":14720,"mutability":"mutable","name":"right","nameLocation":"65708:5:14","nodeType":"VariableDeclaration","scope":14725,"src":"65690:23:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_string_calldata_ptr_$dyn_calldata_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":14718,"name":"string","nodeType":"ElementaryTypeName","src":"65690:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":14719,"nodeType":"ArrayTypeName","src":"65690:8:14","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":14722,"mutability":"mutable","name":"error","nameLocation":"65731:5:14","nodeType":"VariableDeclaration","scope":14725,"src":"65715:21:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14721,"name":"string","nodeType":"ElementaryTypeName","src":"65715:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"65665:72:14"},"returnParameters":{"id":14724,"nodeType":"ParameterList","parameters":[],"src":"65751:0:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14735,"nodeType":"FunctionDefinition","src":"65823:82:14","nodes":[],"documentation":{"id":14726,"nodeType":"StructuredDocumentation","src":"65758:60:14","text":"Asserts that two arrays of `bytes` values are not equal."},"functionSelector":"edecd035","implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"65832:11:14","parameters":{"id":14733,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14729,"mutability":"mutable","name":"left","nameLocation":"65861:4:14","nodeType":"VariableDeclaration","scope":14735,"src":"65844:21:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":14727,"name":"bytes","nodeType":"ElementaryTypeName","src":"65844:5:14","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":14728,"nodeType":"ArrayTypeName","src":"65844:7:14","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":14732,"mutability":"mutable","name":"right","nameLocation":"65884:5:14","nodeType":"VariableDeclaration","scope":14735,"src":"65867:22:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":14730,"name":"bytes","nodeType":"ElementaryTypeName","src":"65867:5:14","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":14731,"nodeType":"ArrayTypeName","src":"65867:7:14","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"65843:47:14"},"returnParameters":{"id":14734,"nodeType":"ParameterList","parameters":[],"src":"65904:0:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14747,"nodeType":"FunctionDefinition","src":"66033:105:14","nodes":[],"documentation":{"id":14736,"nodeType":"StructuredDocumentation","src":"65911:117:14","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:14","parameters":{"id":14745,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14739,"mutability":"mutable","name":"left","nameLocation":"66071:4:14","nodeType":"VariableDeclaration","scope":14747,"src":"66054:21:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":14737,"name":"bytes","nodeType":"ElementaryTypeName","src":"66054:5:14","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":14738,"nodeType":"ArrayTypeName","src":"66054:7:14","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":14742,"mutability":"mutable","name":"right","nameLocation":"66094:5:14","nodeType":"VariableDeclaration","scope":14747,"src":"66077:22:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":14740,"name":"bytes","nodeType":"ElementaryTypeName","src":"66077:5:14","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":14741,"nodeType":"ArrayTypeName","src":"66077:7:14","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":14744,"mutability":"mutable","name":"error","nameLocation":"66117:5:14","nodeType":"VariableDeclaration","scope":14747,"src":"66101:21:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14743,"name":"string","nodeType":"ElementaryTypeName","src":"66101:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"66053:70:14"},"returnParameters":{"id":14746,"nodeType":"ParameterList","parameters":[],"src":"66137:0:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14757,"nodeType":"FunctionDefinition","src":"66258:87:14","nodes":[],"documentation":{"id":14748,"nodeType":"StructuredDocumentation","src":"66144:109:14","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:14","parameters":{"id":14755,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14750,"mutability":"mutable","name":"left","nameLocation":"66287:4:14","nodeType":"VariableDeclaration","scope":14757,"src":"66279:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14749,"name":"uint256","nodeType":"ElementaryTypeName","src":"66279:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14752,"mutability":"mutable","name":"right","nameLocation":"66301:5:14","nodeType":"VariableDeclaration","scope":14757,"src":"66293:13:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14751,"name":"uint256","nodeType":"ElementaryTypeName","src":"66293:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14754,"mutability":"mutable","name":"error","nameLocation":"66324:5:14","nodeType":"VariableDeclaration","scope":14757,"src":"66308:21:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14753,"name":"string","nodeType":"ElementaryTypeName","src":"66308:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"66278:52:14"},"returnParameters":{"id":14756,"nodeType":"ParameterList","parameters":[],"src":"66344:0:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14765,"nodeType":"FunctionDefinition","src":"66407:62:14","nodes":[],"documentation":{"id":14758,"nodeType":"StructuredDocumentation","src":"66351:51:14","text":"Asserts that two `int256` values are not equal."},"functionSelector":"f4c004e3","implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"66416:11:14","parameters":{"id":14763,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14760,"mutability":"mutable","name":"left","nameLocation":"66435:4:14","nodeType":"VariableDeclaration","scope":14765,"src":"66428:11:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14759,"name":"int256","nodeType":"ElementaryTypeName","src":"66428:6:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14762,"mutability":"mutable","name":"right","nameLocation":"66448:5:14","nodeType":"VariableDeclaration","scope":14765,"src":"66441:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14761,"name":"int256","nodeType":"ElementaryTypeName","src":"66441:6:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"66427:27:14"},"returnParameters":{"id":14764,"nodeType":"ParameterList","parameters":[],"src":"66468:0:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14775,"nodeType":"FunctionDefinition","src":"66588:85:14","nodes":[],"documentation":{"id":14766,"nodeType":"StructuredDocumentation","src":"66475:108:14","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:14","parameters":{"id":14773,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14768,"mutability":"mutable","name":"left","nameLocation":"66616:4:14","nodeType":"VariableDeclaration","scope":14775,"src":"66609:11:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14767,"name":"int256","nodeType":"ElementaryTypeName","src":"66609:6:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14770,"mutability":"mutable","name":"right","nameLocation":"66629:5:14","nodeType":"VariableDeclaration","scope":14775,"src":"66622:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14769,"name":"int256","nodeType":"ElementaryTypeName","src":"66622:6:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14772,"mutability":"mutable","name":"error","nameLocation":"66652:5:14","nodeType":"VariableDeclaration","scope":14775,"src":"66636:21:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14771,"name":"string","nodeType":"ElementaryTypeName","src":"66636:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"66608:50:14"},"returnParameters":{"id":14774,"nodeType":"ParameterList","parameters":[],"src":"66672:0:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14783,"nodeType":"FunctionDefinition","src":"66736:64:14","nodes":[],"documentation":{"id":14776,"nodeType":"StructuredDocumentation","src":"66679:52:14","text":"Asserts that two `address` values are not equal."},"functionSelector":"b12e1694","implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"66745:11:14","parameters":{"id":14781,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14778,"mutability":"mutable","name":"left","nameLocation":"66765:4:14","nodeType":"VariableDeclaration","scope":14783,"src":"66757:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14777,"name":"address","nodeType":"ElementaryTypeName","src":"66757:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":14780,"mutability":"mutable","name":"right","nameLocation":"66779:5:14","nodeType":"VariableDeclaration","scope":14783,"src":"66771:13:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14779,"name":"address","nodeType":"ElementaryTypeName","src":"66771:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"66756:29:14"},"returnParameters":{"id":14782,"nodeType":"ParameterList","parameters":[],"src":"66799:0:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14793,"nodeType":"FunctionDefinition","src":"66920:87:14","nodes":[],"documentation":{"id":14784,"nodeType":"StructuredDocumentation","src":"66806:109:14","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:14","parameters":{"id":14791,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14786,"mutability":"mutable","name":"left","nameLocation":"66949:4:14","nodeType":"VariableDeclaration","scope":14793,"src":"66941:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14785,"name":"address","nodeType":"ElementaryTypeName","src":"66941:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":14788,"mutability":"mutable","name":"right","nameLocation":"66963:5:14","nodeType":"VariableDeclaration","scope":14793,"src":"66955:13:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14787,"name":"address","nodeType":"ElementaryTypeName","src":"66955:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":14790,"mutability":"mutable","name":"error","nameLocation":"66986:5:14","nodeType":"VariableDeclaration","scope":14793,"src":"66970:21:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14789,"name":"string","nodeType":"ElementaryTypeName","src":"66970:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"66940:52:14"},"returnParameters":{"id":14792,"nodeType":"ParameterList","parameters":[],"src":"67006:0:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14801,"nodeType":"FunctionDefinition","src":"67070:64:14","nodes":[],"documentation":{"id":14794,"nodeType":"StructuredDocumentation","src":"67013:52:14","text":"Asserts that two `bytes32` values are not equal."},"functionSelector":"898e83fc","implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"67079:11:14","parameters":{"id":14799,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14796,"mutability":"mutable","name":"left","nameLocation":"67099:4:14","nodeType":"VariableDeclaration","scope":14801,"src":"67091:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":14795,"name":"bytes32","nodeType":"ElementaryTypeName","src":"67091:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":14798,"mutability":"mutable","name":"right","nameLocation":"67113:5:14","nodeType":"VariableDeclaration","scope":14801,"src":"67105:13:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":14797,"name":"bytes32","nodeType":"ElementaryTypeName","src":"67105:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"67090:29:14"},"returnParameters":{"id":14800,"nodeType":"ParameterList","parameters":[],"src":"67133:0:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14811,"nodeType":"FunctionDefinition","src":"67254:87:14","nodes":[],"documentation":{"id":14802,"nodeType":"StructuredDocumentation","src":"67140:109:14","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:14","parameters":{"id":14809,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14804,"mutability":"mutable","name":"left","nameLocation":"67283:4:14","nodeType":"VariableDeclaration","scope":14811,"src":"67275:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":14803,"name":"bytes32","nodeType":"ElementaryTypeName","src":"67275:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":14806,"mutability":"mutable","name":"right","nameLocation":"67297:5:14","nodeType":"VariableDeclaration","scope":14811,"src":"67289:13:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":14805,"name":"bytes32","nodeType":"ElementaryTypeName","src":"67289:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":14808,"mutability":"mutable","name":"error","nameLocation":"67320:5:14","nodeType":"VariableDeclaration","scope":14811,"src":"67304:21:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14807,"name":"string","nodeType":"ElementaryTypeName","src":"67304:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"67274:52:14"},"returnParameters":{"id":14810,"nodeType":"ParameterList","parameters":[],"src":"67340:0:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14817,"nodeType":"FunctionDefinition","src":"67397:50:14","nodes":[],"documentation":{"id":14812,"nodeType":"StructuredDocumentation","src":"67347:45:14","text":"Asserts that the given condition is true."},"functionSelector":"0c9fd581","implemented":false,"kind":"function","modifiers":[],"name":"assertTrue","nameLocation":"67406:10:14","parameters":{"id":14815,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14814,"mutability":"mutable","name":"condition","nameLocation":"67422:9:14","nodeType":"VariableDeclaration","scope":14817,"src":"67417:14:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14813,"name":"bool","nodeType":"ElementaryTypeName","src":"67417:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"67416:16:14"},"returnParameters":{"id":14816,"nodeType":"ParameterList","parameters":[],"src":"67446:0:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14825,"nodeType":"FunctionDefinition","src":"67560:73:14","nodes":[],"documentation":{"id":14818,"nodeType":"StructuredDocumentation","src":"67453:102:14","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:14","parameters":{"id":14823,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14820,"mutability":"mutable","name":"condition","nameLocation":"67585:9:14","nodeType":"VariableDeclaration","scope":14825,"src":"67580:14:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14819,"name":"bool","nodeType":"ElementaryTypeName","src":"67580:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":14822,"mutability":"mutable","name":"error","nameLocation":"67612:5:14","nodeType":"VariableDeclaration","scope":14825,"src":"67596:21:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14821,"name":"string","nodeType":"ElementaryTypeName","src":"67596:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"67579:39:14"},"returnParameters":{"id":14824,"nodeType":"ParameterList","parameters":[],"src":"67632:0:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14831,"nodeType":"FunctionDefinition","src":"67728:46:14","nodes":[],"documentation":{"id":14826,"nodeType":"StructuredDocumentation","src":"67639:84:14","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:14","parameters":{"id":14829,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14828,"mutability":"mutable","name":"condition","nameLocation":"67749:9:14","nodeType":"VariableDeclaration","scope":14831,"src":"67744:14:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14827,"name":"bool","nodeType":"ElementaryTypeName","src":"67744:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"67743:16:14"},"returnParameters":{"id":14830,"nodeType":"ParameterList","parameters":[],"src":"67773:0:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14837,"nodeType":"FunctionDefinition","src":"67836:51:14","nodes":[],"documentation":{"id":14832,"nodeType":"StructuredDocumentation","src":"67780:51:14","text":"Writes a breakpoint to jump to in the debugger."},"functionSelector":"f0259e92","implemented":false,"kind":"function","modifiers":[],"name":"breakpoint","nameLocation":"67845:10:14","parameters":{"id":14835,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14834,"mutability":"mutable","name":"char","nameLocation":"67872:4:14","nodeType":"VariableDeclaration","scope":14837,"src":"67856:20:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14833,"name":"string","nodeType":"ElementaryTypeName","src":"67856:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"67855:22:14"},"returnParameters":{"id":14836,"nodeType":"ParameterList","parameters":[],"src":"67886:0:14"},"scope":15270,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":14845,"nodeType":"FunctionDefinition","src":"67961:63:14","nodes":[],"documentation":{"id":14838,"nodeType":"StructuredDocumentation","src":"67893:63:14","text":"Writes a conditional breakpoint to jump to in the debugger."},"functionSelector":"f7d39a8d","implemented":false,"kind":"function","modifiers":[],"name":"breakpoint","nameLocation":"67970:10:14","parameters":{"id":14843,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14840,"mutability":"mutable","name":"char","nameLocation":"67997:4:14","nodeType":"VariableDeclaration","scope":14845,"src":"67981:20:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14839,"name":"string","nodeType":"ElementaryTypeName","src":"67981:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14842,"mutability":"mutable","name":"value","nameLocation":"68008:5:14","nodeType":"VariableDeclaration","scope":14845,"src":"68003:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14841,"name":"bool","nodeType":"ElementaryTypeName","src":"68003:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"67980:34:14"},"returnParameters":{"id":14844,"nodeType":"ParameterList","parameters":[],"src":"68023:0:14"},"scope":15270,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":14853,"nodeType":"FunctionDefinition","src":"68079:85:14","nodes":[],"documentation":{"id":14846,"nodeType":"StructuredDocumentation","src":"68030:44:14","text":"Returns the RPC url for the given alias."},"functionSelector":"975a6ce9","implemented":false,"kind":"function","modifiers":[],"name":"rpcUrl","nameLocation":"68088:6:14","parameters":{"id":14849,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14848,"mutability":"mutable","name":"rpcAlias","nameLocation":"68111:8:14","nodeType":"VariableDeclaration","scope":14853,"src":"68095:24:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14847,"name":"string","nodeType":"ElementaryTypeName","src":"68095:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"68094:26:14"},"returnParameters":{"id":14852,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14851,"mutability":"mutable","name":"json","nameLocation":"68158:4:14","nodeType":"VariableDeclaration","scope":14853,"src":"68144:18:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14850,"name":"string","nodeType":"ElementaryTypeName","src":"68144:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"68143:20:14"},"scope":15270,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14861,"nodeType":"FunctionDefinition","src":"68229:67:14","nodes":[],"documentation":{"id":14854,"nodeType":"StructuredDocumentation","src":"68170:54:14","text":"Returns all rpc urls and their aliases as structs."},"functionSelector":"9d2ad72a","implemented":false,"kind":"function","modifiers":[],"name":"rpcUrlStructs","nameLocation":"68238:13:14","parameters":{"id":14855,"nodeType":"ParameterList","parameters":[],"src":"68251:2:14"},"returnParameters":{"id":14860,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14859,"mutability":"mutable","name":"urls","nameLocation":"68290:4:14","nodeType":"VariableDeclaration","scope":14861,"src":"68277:17:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Rpc_$12116_memory_ptr_$dyn_memory_ptr","typeString":"struct VmSafe.Rpc[]"},"typeName":{"baseType":{"id":14857,"nodeType":"UserDefinedTypeName","pathNode":{"id":14856,"name":"Rpc","nameLocations":["68277:3:14"],"nodeType":"IdentifierPath","referencedDeclaration":12116,"src":"68277:3:14"},"referencedDeclaration":12116,"src":"68277:3:14","typeDescriptions":{"typeIdentifier":"t_struct$_Rpc_$12116_storage_ptr","typeString":"struct VmSafe.Rpc"}},"id":14858,"nodeType":"ArrayTypeName","src":"68277:5:14","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Rpc_$12116_storage_$dyn_storage_ptr","typeString":"struct VmSafe.Rpc[]"}},"visibility":"internal"}],"src":"68276:19:14"},"scope":15270,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14870,"nodeType":"FunctionDefinition","src":"68367:67:14","nodes":[],"documentation":{"id":14862,"nodeType":"StructuredDocumentation","src":"68302:60:14","text":"Returns all rpc urls and their aliases `[alias, url][]`."},"functionSelector":"a85a8418","implemented":false,"kind":"function","modifiers":[],"name":"rpcUrls","nameLocation":"68376:7:14","parameters":{"id":14863,"nodeType":"ParameterList","parameters":[],"src":"68383:2:14"},"returnParameters":{"id":14869,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14868,"mutability":"mutable","name":"urls","nameLocation":"68428:4:14","nodeType":"VariableDeclaration","scope":14870,"src":"68409:23:14","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":14864,"name":"string","nodeType":"ElementaryTypeName","src":"68409:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":14866,"length":{"hexValue":"32","id":14865,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"68416:1:14","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"ArrayTypeName","src":"68409:9:14","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$2_storage_ptr","typeString":"string[2]"}},"id":14867,"nodeType":"ArrayTypeName","src":"68409:11:14","typeDescriptions":{"typeIdentifier":"t_array$_t_array$_t_string_storage_$2_storage_$dyn_storage_ptr","typeString":"string[2][]"}},"visibility":"internal"}],"src":"68408:25:14"},"scope":15270,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14876,"nodeType":"FunctionDefinition","src":"68515:42:14","nodes":[],"documentation":{"id":14871,"nodeType":"StructuredDocumentation","src":"68440:70:14","text":"Suspends execution of the main thread for `duration` milliseconds."},"functionSelector":"fa9d8713","implemented":false,"kind":"function","modifiers":[],"name":"sleep","nameLocation":"68524:5:14","parameters":{"id":14874,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14873,"mutability":"mutable","name":"duration","nameLocation":"68538:8:14","nodeType":"VariableDeclaration","scope":14876,"src":"68530:16:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14872,"name":"uint256","nodeType":"ElementaryTypeName","src":"68530:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"68529:18:14"},"returnParameters":{"id":14875,"nodeType":"ParameterList","parameters":[],"src":"68556:0:14"},"scope":15270,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":14886,"nodeType":"FunctionDefinition","src":"68642:95:14","nodes":[],"documentation":{"id":14877,"nodeType":"StructuredDocumentation","src":"68594:43:14","text":"Checks if `key` exists in a TOML table."},"functionSelector":"600903ad","implemented":false,"kind":"function","modifiers":[],"name":"keyExistsToml","nameLocation":"68651:13:14","parameters":{"id":14882,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14879,"mutability":"mutable","name":"toml","nameLocation":"68681:4:14","nodeType":"VariableDeclaration","scope":14886,"src":"68665:20:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14878,"name":"string","nodeType":"ElementaryTypeName","src":"68665:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14881,"mutability":"mutable","name":"key","nameLocation":"68703:3:14","nodeType":"VariableDeclaration","scope":14886,"src":"68687:19:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14880,"name":"string","nodeType":"ElementaryTypeName","src":"68687:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"68664:43:14"},"returnParameters":{"id":14885,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14884,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":14886,"src":"68731:4:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14883,"name":"bool","nodeType":"ElementaryTypeName","src":"68731:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"68730:6:14"},"scope":15270,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14896,"nodeType":"FunctionDefinition","src":"68818:101:14","nodes":[],"documentation":{"id":14887,"nodeType":"StructuredDocumentation","src":"68743:70:14","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:14","parameters":{"id":14892,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14889,"mutability":"mutable","name":"toml","nameLocation":"68860:4:14","nodeType":"VariableDeclaration","scope":14896,"src":"68844:20:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14888,"name":"string","nodeType":"ElementaryTypeName","src":"68844:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14891,"mutability":"mutable","name":"key","nameLocation":"68882:3:14","nodeType":"VariableDeclaration","scope":14896,"src":"68866:19:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14890,"name":"string","nodeType":"ElementaryTypeName","src":"68866:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"68843:43:14"},"returnParameters":{"id":14895,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14894,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":14896,"src":"68910:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14893,"name":"address","nodeType":"ElementaryTypeName","src":"68910:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"68909:9:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14907,"nodeType":"FunctionDefinition","src":"69002:139:14","nodes":[],"documentation":{"id":14897,"nodeType":"StructuredDocumentation","src":"68925:72:14","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:14","parameters":{"id":14902,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14899,"mutability":"mutable","name":"toml","nameLocation":"69049:4:14","nodeType":"VariableDeclaration","scope":14907,"src":"69033:20:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14898,"name":"string","nodeType":"ElementaryTypeName","src":"69033:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14901,"mutability":"mutable","name":"key","nameLocation":"69071:3:14","nodeType":"VariableDeclaration","scope":14907,"src":"69055:19:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14900,"name":"string","nodeType":"ElementaryTypeName","src":"69055:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"69032:43:14"},"returnParameters":{"id":14906,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14905,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":14907,"src":"69123:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":14903,"name":"address","nodeType":"ElementaryTypeName","src":"69123:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":14904,"nodeType":"ArrayTypeName","src":"69123:9:14","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"69122:18:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14917,"nodeType":"FunctionDefinition","src":"69219:95:14","nodes":[],"documentation":{"id":14908,"nodeType":"StructuredDocumentation","src":"69147:67:14","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:14","parameters":{"id":14913,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14910,"mutability":"mutable","name":"toml","nameLocation":"69258:4:14","nodeType":"VariableDeclaration","scope":14917,"src":"69242:20:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14909,"name":"string","nodeType":"ElementaryTypeName","src":"69242:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14912,"mutability":"mutable","name":"key","nameLocation":"69280:3:14","nodeType":"VariableDeclaration","scope":14917,"src":"69264:19:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14911,"name":"string","nodeType":"ElementaryTypeName","src":"69264:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"69241:43:14"},"returnParameters":{"id":14916,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14915,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":14917,"src":"69308:4:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14914,"name":"bool","nodeType":"ElementaryTypeName","src":"69308:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"69307:6:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14928,"nodeType":"FunctionDefinition","src":"69394:109:14","nodes":[],"documentation":{"id":14918,"nodeType":"StructuredDocumentation","src":"69320:69:14","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:14","parameters":{"id":14923,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14920,"mutability":"mutable","name":"toml","nameLocation":"69438:4:14","nodeType":"VariableDeclaration","scope":14928,"src":"69422:20:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14919,"name":"string","nodeType":"ElementaryTypeName","src":"69422:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14922,"mutability":"mutable","name":"key","nameLocation":"69460:3:14","nodeType":"VariableDeclaration","scope":14928,"src":"69444:19:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14921,"name":"string","nodeType":"ElementaryTypeName","src":"69444:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"69421:43:14"},"returnParameters":{"id":14927,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14926,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":14928,"src":"69488:13:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":14924,"name":"bool","nodeType":"ElementaryTypeName","src":"69488:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":14925,"nodeType":"ArrayTypeName","src":"69488:6:14","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"}],"src":"69487:15:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14938,"nodeType":"FunctionDefinition","src":"69582:104:14","nodes":[],"documentation":{"id":14929,"nodeType":"StructuredDocumentation","src":"69509:68:14","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:14","parameters":{"id":14934,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14931,"mutability":"mutable","name":"toml","nameLocation":"69622:4:14","nodeType":"VariableDeclaration","scope":14938,"src":"69606:20:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14930,"name":"string","nodeType":"ElementaryTypeName","src":"69606:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14933,"mutability":"mutable","name":"key","nameLocation":"69644:3:14","nodeType":"VariableDeclaration","scope":14938,"src":"69628:19:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14932,"name":"string","nodeType":"ElementaryTypeName","src":"69628:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"69605:43:14"},"returnParameters":{"id":14937,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14936,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":14938,"src":"69672:12:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":14935,"name":"bytes","nodeType":"ElementaryTypeName","src":"69672:5:14","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"69671:14:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14948,"nodeType":"FunctionDefinition","src":"69767:101:14","nodes":[],"documentation":{"id":14939,"nodeType":"StructuredDocumentation","src":"69692:70:14","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:14","parameters":{"id":14944,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14941,"mutability":"mutable","name":"toml","nameLocation":"69809:4:14","nodeType":"VariableDeclaration","scope":14948,"src":"69793:20:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14940,"name":"string","nodeType":"ElementaryTypeName","src":"69793:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14943,"mutability":"mutable","name":"key","nameLocation":"69831:3:14","nodeType":"VariableDeclaration","scope":14948,"src":"69815:19:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14942,"name":"string","nodeType":"ElementaryTypeName","src":"69815:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"69792:43:14"},"returnParameters":{"id":14947,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14946,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":14948,"src":"69859:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":14945,"name":"bytes32","nodeType":"ElementaryTypeName","src":"69859:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"69858:9:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14959,"nodeType":"FunctionDefinition","src":"69951:139:14","nodes":[],"documentation":{"id":14949,"nodeType":"StructuredDocumentation","src":"69874:72:14","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:14","parameters":{"id":14954,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14951,"mutability":"mutable","name":"toml","nameLocation":"69998:4:14","nodeType":"VariableDeclaration","scope":14959,"src":"69982:20:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14950,"name":"string","nodeType":"ElementaryTypeName","src":"69982:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14953,"mutability":"mutable","name":"key","nameLocation":"70020:3:14","nodeType":"VariableDeclaration","scope":14959,"src":"70004:19:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14952,"name":"string","nodeType":"ElementaryTypeName","src":"70004:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"69981:43:14"},"returnParameters":{"id":14958,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14957,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":14959,"src":"70072:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":14955,"name":"bytes32","nodeType":"ElementaryTypeName","src":"70072:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":14956,"nodeType":"ArrayTypeName","src":"70072:9:14","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"70071:18:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14970,"nodeType":"FunctionDefinition","src":"70171:111:14","nodes":[],"documentation":{"id":14960,"nodeType":"StructuredDocumentation","src":"70096:70:14","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:14","parameters":{"id":14965,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14962,"mutability":"mutable","name":"toml","nameLocation":"70216:4:14","nodeType":"VariableDeclaration","scope":14970,"src":"70200:20:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14961,"name":"string","nodeType":"ElementaryTypeName","src":"70200:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14964,"mutability":"mutable","name":"key","nameLocation":"70238:3:14","nodeType":"VariableDeclaration","scope":14970,"src":"70222:19:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14963,"name":"string","nodeType":"ElementaryTypeName","src":"70222:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"70199:43:14"},"returnParameters":{"id":14969,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14968,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":14970,"src":"70266:14:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":14966,"name":"bytes","nodeType":"ElementaryTypeName","src":"70266:5:14","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":14967,"nodeType":"ArrayTypeName","src":"70266:7:14","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"70265:16:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14980,"nodeType":"FunctionDefinition","src":"70362:96:14","nodes":[],"documentation":{"id":14971,"nodeType":"StructuredDocumentation","src":"70288:69:14","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:14","parameters":{"id":14976,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14973,"mutability":"mutable","name":"toml","nameLocation":"70400:4:14","nodeType":"VariableDeclaration","scope":14980,"src":"70384:20:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14972,"name":"string","nodeType":"ElementaryTypeName","src":"70384:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14975,"mutability":"mutable","name":"key","nameLocation":"70422:3:14","nodeType":"VariableDeclaration","scope":14980,"src":"70406:19:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14974,"name":"string","nodeType":"ElementaryTypeName","src":"70406:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"70383:43:14"},"returnParameters":{"id":14979,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14978,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":14980,"src":"70450:6:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14977,"name":"int256","nodeType":"ElementaryTypeName","src":"70450:6:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"70449:8:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14991,"nodeType":"FunctionDefinition","src":"70540:110:14","nodes":[],"documentation":{"id":14981,"nodeType":"StructuredDocumentation","src":"70464:71:14","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:14","parameters":{"id":14986,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14983,"mutability":"mutable","name":"toml","nameLocation":"70583:4:14","nodeType":"VariableDeclaration","scope":14991,"src":"70567:20:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14982,"name":"string","nodeType":"ElementaryTypeName","src":"70567:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14985,"mutability":"mutable","name":"key","nameLocation":"70605:3:14","nodeType":"VariableDeclaration","scope":14991,"src":"70589:19:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14984,"name":"string","nodeType":"ElementaryTypeName","src":"70589:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"70566:43:14"},"returnParameters":{"id":14990,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14989,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":14991,"src":"70633:15:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":14987,"name":"int256","nodeType":"ElementaryTypeName","src":"70633:6:14","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":14988,"nodeType":"ArrayTypeName","src":"70633:8:14","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"70632:17:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15002,"nodeType":"FunctionDefinition","src":"70714:111:14","nodes":[],"documentation":{"id":14992,"nodeType":"StructuredDocumentation","src":"70656:53:14","text":"Returns an array of all the keys in a TOML table."},"functionSelector":"812a44b2","implemented":false,"kind":"function","modifiers":[],"name":"parseTomlKeys","nameLocation":"70723:13:14","parameters":{"id":14997,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14994,"mutability":"mutable","name":"toml","nameLocation":"70753:4:14","nodeType":"VariableDeclaration","scope":15002,"src":"70737:20:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14993,"name":"string","nodeType":"ElementaryTypeName","src":"70737:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14996,"mutability":"mutable","name":"key","nameLocation":"70775:3:14","nodeType":"VariableDeclaration","scope":15002,"src":"70759:19:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14995,"name":"string","nodeType":"ElementaryTypeName","src":"70759:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"70736:43:14"},"returnParameters":{"id":15001,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15000,"mutability":"mutable","name":"keys","nameLocation":"70819:4:14","nodeType":"VariableDeclaration","scope":15002,"src":"70803:20:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":14998,"name":"string","nodeType":"ElementaryTypeName","src":"70803:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":14999,"nodeType":"ArrayTypeName","src":"70803:8:14","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"70802:22:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15012,"nodeType":"FunctionDefinition","src":"70905:106:14","nodes":[],"documentation":{"id":15003,"nodeType":"StructuredDocumentation","src":"70831:69:14","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:14","parameters":{"id":15008,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15005,"mutability":"mutable","name":"toml","nameLocation":"70946:4:14","nodeType":"VariableDeclaration","scope":15012,"src":"70930:20:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15004,"name":"string","nodeType":"ElementaryTypeName","src":"70930:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15007,"mutability":"mutable","name":"key","nameLocation":"70968:3:14","nodeType":"VariableDeclaration","scope":15012,"src":"70952:19:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15006,"name":"string","nodeType":"ElementaryTypeName","src":"70952:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"70929:43:14"},"returnParameters":{"id":15011,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15010,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15012,"src":"70996:13:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15009,"name":"string","nodeType":"ElementaryTypeName","src":"70996:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"70995:15:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15023,"nodeType":"FunctionDefinition","src":"71093:113:14","nodes":[],"documentation":{"id":15013,"nodeType":"StructuredDocumentation","src":"71017:71:14","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:14","parameters":{"id":15018,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15015,"mutability":"mutable","name":"toml","nameLocation":"71139:4:14","nodeType":"VariableDeclaration","scope":15023,"src":"71123:20:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15014,"name":"string","nodeType":"ElementaryTypeName","src":"71123:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15017,"mutability":"mutable","name":"key","nameLocation":"71161:3:14","nodeType":"VariableDeclaration","scope":15023,"src":"71145:19:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15016,"name":"string","nodeType":"ElementaryTypeName","src":"71145:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"71122:43:14"},"returnParameters":{"id":15022,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15021,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15023,"src":"71189:15:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":15019,"name":"string","nodeType":"ElementaryTypeName","src":"71189:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":15020,"nodeType":"ArrayTypeName","src":"71189:8:14","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"71188:17:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15033,"nodeType":"FunctionDefinition","src":"71287:98:14","nodes":[],"documentation":{"id":15024,"nodeType":"StructuredDocumentation","src":"71212:70:14","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:14","parameters":{"id":15029,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15026,"mutability":"mutable","name":"toml","nameLocation":"71326:4:14","nodeType":"VariableDeclaration","scope":15033,"src":"71310:20:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15025,"name":"string","nodeType":"ElementaryTypeName","src":"71310:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15028,"mutability":"mutable","name":"key","nameLocation":"71348:3:14","nodeType":"VariableDeclaration","scope":15033,"src":"71332:19:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15027,"name":"string","nodeType":"ElementaryTypeName","src":"71332:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"71309:43:14"},"returnParameters":{"id":15032,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15031,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15033,"src":"71376:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15030,"name":"uint256","nodeType":"ElementaryTypeName","src":"71376:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"71375:9:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15044,"nodeType":"FunctionDefinition","src":"71468:112:14","nodes":[],"documentation":{"id":15034,"nodeType":"StructuredDocumentation","src":"71391:72:14","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:14","parameters":{"id":15039,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15036,"mutability":"mutable","name":"toml","nameLocation":"71512:4:14","nodeType":"VariableDeclaration","scope":15044,"src":"71496:20:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15035,"name":"string","nodeType":"ElementaryTypeName","src":"71496:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15038,"mutability":"mutable","name":"key","nameLocation":"71534:3:14","nodeType":"VariableDeclaration","scope":15044,"src":"71518:19:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15037,"name":"string","nodeType":"ElementaryTypeName","src":"71518:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"71495:43:14"},"returnParameters":{"id":15043,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15042,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15044,"src":"71562:16:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":15040,"name":"uint256","nodeType":"ElementaryTypeName","src":"71562:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":15041,"nodeType":"ArrayTypeName","src":"71562:9:14","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"71561:18:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15052,"nodeType":"FunctionDefinition","src":"71620:93:14","nodes":[],"documentation":{"id":15045,"nodeType":"StructuredDocumentation","src":"71586:29:14","text":"ABI-encodes a TOML table."},"functionSelector":"592151f0","implemented":false,"kind":"function","modifiers":[],"name":"parseToml","nameLocation":"71629:9:14","parameters":{"id":15048,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15047,"mutability":"mutable","name":"toml","nameLocation":"71655:4:14","nodeType":"VariableDeclaration","scope":15052,"src":"71639:20:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15046,"name":"string","nodeType":"ElementaryTypeName","src":"71639:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"71638:22:14"},"returnParameters":{"id":15051,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15050,"mutability":"mutable","name":"abiEncodedData","nameLocation":"71697:14:14","nodeType":"VariableDeclaration","scope":15052,"src":"71684:27:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":15049,"name":"bytes","nodeType":"ElementaryTypeName","src":"71684:5:14","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"71683:29:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15062,"nodeType":"FunctionDefinition","src":"71762:114:14","nodes":[],"documentation":{"id":15053,"nodeType":"StructuredDocumentation","src":"71719:38:14","text":"ABI-encodes a TOML table at `key`."},"functionSelector":"37736e08","implemented":false,"kind":"function","modifiers":[],"name":"parseToml","nameLocation":"71771:9:14","parameters":{"id":15058,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15055,"mutability":"mutable","name":"toml","nameLocation":"71797:4:14","nodeType":"VariableDeclaration","scope":15062,"src":"71781:20:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15054,"name":"string","nodeType":"ElementaryTypeName","src":"71781:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15057,"mutability":"mutable","name":"key","nameLocation":"71819:3:14","nodeType":"VariableDeclaration","scope":15062,"src":"71803:19:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15056,"name":"string","nodeType":"ElementaryTypeName","src":"71803:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"71780:43:14"},"returnParameters":{"id":15061,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15060,"mutability":"mutable","name":"abiEncodedData","nameLocation":"71860:14:14","nodeType":"VariableDeclaration","scope":15062,"src":"71847:27:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":15059,"name":"bytes","nodeType":"ElementaryTypeName","src":"71847:5:14","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"71846:29:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15070,"nodeType":"FunctionDefinition","src":"71969:72:14","nodes":[],"documentation":{"id":15063,"nodeType":"StructuredDocumentation","src":"71882:82:14","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:14","parameters":{"id":15068,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15065,"mutability":"mutable","name":"json","nameLocation":"72004:4:14","nodeType":"VariableDeclaration","scope":15070,"src":"71988:20:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15064,"name":"string","nodeType":"ElementaryTypeName","src":"71988:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15067,"mutability":"mutable","name":"path","nameLocation":"72026:4:14","nodeType":"VariableDeclaration","scope":15070,"src":"72010:20:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15066,"name":"string","nodeType":"ElementaryTypeName","src":"72010:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"71987:44:14"},"returnParameters":{"id":15069,"nodeType":"ParameterList","parameters":[],"src":"72040:0:14"},"scope":15270,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15080,"nodeType":"FunctionDefinition","src":"72310:98:14","nodes":[],"documentation":{"id":15071,"nodeType":"StructuredDocumentation","src":"72047:258:14","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:14","parameters":{"id":15078,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15073,"mutability":"mutable","name":"json","nameLocation":"72345:4:14","nodeType":"VariableDeclaration","scope":15080,"src":"72329:20:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15072,"name":"string","nodeType":"ElementaryTypeName","src":"72329:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15075,"mutability":"mutable","name":"path","nameLocation":"72367:4:14","nodeType":"VariableDeclaration","scope":15080,"src":"72351:20:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15074,"name":"string","nodeType":"ElementaryTypeName","src":"72351:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15077,"mutability":"mutable","name":"valueKey","nameLocation":"72389:8:14","nodeType":"VariableDeclaration","scope":15080,"src":"72373:24:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15076,"name":"string","nodeType":"ElementaryTypeName","src":"72373:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"72328:70:14"},"returnParameters":{"id":15079,"nodeType":"ParameterList","parameters":[],"src":"72407:0:14"},"scope":15270,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15092,"nodeType":"FunctionDefinition","src":"72547:141:14","nodes":[],"documentation":{"id":15081,"nodeType":"StructuredDocumentation","src":"72450:92:14","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:14","parameters":{"id":15088,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15083,"mutability":"mutable","name":"salt","nameLocation":"72586:4:14","nodeType":"VariableDeclaration","scope":15092,"src":"72578:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":15082,"name":"bytes32","nodeType":"ElementaryTypeName","src":"72578:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":15085,"mutability":"mutable","name":"initCodeHash","nameLocation":"72600:12:14","nodeType":"VariableDeclaration","scope":15092,"src":"72592:20:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":15084,"name":"bytes32","nodeType":"ElementaryTypeName","src":"72592:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":15087,"mutability":"mutable","name":"deployer","nameLocation":"72622:8:14","nodeType":"VariableDeclaration","scope":15092,"src":"72614:16:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15086,"name":"address","nodeType":"ElementaryTypeName","src":"72614:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"72577:54:14"},"returnParameters":{"id":15091,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15090,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15092,"src":"72679:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15089,"name":"address","nodeType":"ElementaryTypeName","src":"72679:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"72678:9:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15102,"nodeType":"FunctionDefinition","src":"72793:99:14","nodes":[],"documentation":{"id":15093,"nodeType":"StructuredDocumentation","src":"72694:94:14","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:14","parameters":{"id":15098,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15095,"mutability":"mutable","name":"salt","nameLocation":"72832:4:14","nodeType":"VariableDeclaration","scope":15102,"src":"72824:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":15094,"name":"bytes32","nodeType":"ElementaryTypeName","src":"72824:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":15097,"mutability":"mutable","name":"initCodeHash","nameLocation":"72846:12:14","nodeType":"VariableDeclaration","scope":15102,"src":"72838:20:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":15096,"name":"bytes32","nodeType":"ElementaryTypeName","src":"72838:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"72823:36:14"},"returnParameters":{"id":15101,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15100,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15102,"src":"72883:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15099,"name":"address","nodeType":"ElementaryTypeName","src":"72883:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"72882:9:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15112,"nodeType":"FunctionDefinition","src":"72997:95:14","nodes":[],"documentation":{"id":15103,"nodeType":"StructuredDocumentation","src":"72898:94:14","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:14","parameters":{"id":15108,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15105,"mutability":"mutable","name":"deployer","nameLocation":"73035:8:14","nodeType":"VariableDeclaration","scope":15112,"src":"73027:16:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15104,"name":"address","nodeType":"ElementaryTypeName","src":"73027:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15107,"mutability":"mutable","name":"nonce","nameLocation":"73053:5:14","nodeType":"VariableDeclaration","scope":15112,"src":"73045:13:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15106,"name":"uint256","nodeType":"ElementaryTypeName","src":"73045:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"73026:33:14"},"returnParameters":{"id":15111,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15110,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15112,"src":"73083:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15109,"name":"address","nodeType":"ElementaryTypeName","src":"73083:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"73082:9:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15121,"nodeType":"FunctionDefinition","src":"73202:91:14","nodes":[],"documentation":{"id":15113,"nodeType":"StructuredDocumentation","src":"73098:99:14","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:14","parameters":{"id":15116,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15115,"mutability":"mutable","name":"walletLabel","nameLocation":"73240:11:14","nodeType":"VariableDeclaration","scope":15121,"src":"73224:27:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15114,"name":"string","nodeType":"ElementaryTypeName","src":"73224:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"73223:29:14"},"returnParameters":{"id":15120,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15119,"mutability":"mutable","name":"wallet","nameLocation":"73285:6:14","nodeType":"VariableDeclaration","scope":15121,"src":"73271:20:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Wallet_$12175_memory_ptr","typeString":"struct VmSafe.Wallet"},"typeName":{"id":15118,"nodeType":"UserDefinedTypeName","pathNode":{"id":15117,"name":"Wallet","nameLocations":["73271:6:14"],"nodeType":"IdentifierPath","referencedDeclaration":12175,"src":"73271:6:14"},"referencedDeclaration":12175,"src":"73271:6:14","typeDescriptions":{"typeIdentifier":"t_struct$_Wallet_$12175_storage_ptr","typeString":"struct VmSafe.Wallet"}},"visibility":"internal"}],"src":"73270:22:14"},"scope":15270,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15130,"nodeType":"FunctionDefinition","src":"73371:82:14","nodes":[],"documentation":{"id":15122,"nodeType":"StructuredDocumentation","src":"73299:67:14","text":"Generates a wallet from the private key and returns the wallet."},"functionSelector":"7a675bb6","implemented":false,"kind":"function","modifiers":[],"name":"createWallet","nameLocation":"73380:12:14","parameters":{"id":15125,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15124,"mutability":"mutable","name":"privateKey","nameLocation":"73401:10:14","nodeType":"VariableDeclaration","scope":15130,"src":"73393:18:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15123,"name":"uint256","nodeType":"ElementaryTypeName","src":"73393:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"73392:20:14"},"returnParameters":{"id":15129,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15128,"mutability":"mutable","name":"wallet","nameLocation":"73445:6:14","nodeType":"VariableDeclaration","scope":15130,"src":"73431:20:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Wallet_$12175_memory_ptr","typeString":"struct VmSafe.Wallet"},"typeName":{"id":15127,"nodeType":"UserDefinedTypeName","pathNode":{"id":15126,"name":"Wallet","nameLocations":["73431:6:14"],"nodeType":"IdentifierPath","referencedDeclaration":12175,"src":"73431:6:14"},"referencedDeclaration":12175,"src":"73431:6:14","typeDescriptions":{"typeIdentifier":"t_struct$_Wallet_$12175_storage_ptr","typeString":"struct VmSafe.Wallet"}},"visibility":"internal"}],"src":"73430:22:14"},"scope":15270,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15141,"nodeType":"FunctionDefinition","src":"73567:111:14","nodes":[],"documentation":{"id":15131,"nodeType":"StructuredDocumentation","src":"73459:103:14","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:14","parameters":{"id":15136,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15133,"mutability":"mutable","name":"privateKey","nameLocation":"73597:10:14","nodeType":"VariableDeclaration","scope":15141,"src":"73589:18:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15132,"name":"uint256","nodeType":"ElementaryTypeName","src":"73589:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15135,"mutability":"mutable","name":"walletLabel","nameLocation":"73625:11:14","nodeType":"VariableDeclaration","scope":15141,"src":"73609:27:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15134,"name":"string","nodeType":"ElementaryTypeName","src":"73609:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"73588:49:14"},"returnParameters":{"id":15140,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15139,"mutability":"mutable","name":"wallet","nameLocation":"73670:6:14","nodeType":"VariableDeclaration","scope":15141,"src":"73656:20:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Wallet_$12175_memory_ptr","typeString":"struct VmSafe.Wallet"},"typeName":{"id":15138,"nodeType":"UserDefinedTypeName","pathNode":{"id":15137,"name":"Wallet","nameLocations":["73656:6:14"],"nodeType":"IdentifierPath","referencedDeclaration":12175,"src":"73656:6:14"},"referencedDeclaration":12175,"src":"73656:6:14","typeDescriptions":{"typeIdentifier":"t_struct$_Wallet_$12175_storage_ptr","typeString":"struct VmSafe.Wallet"}},"visibility":"internal"}],"src":"73655:22:14"},"scope":15270,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15151,"nodeType":"FunctionDefinition","src":"73826:102:14","nodes":[],"documentation":{"id":15142,"nodeType":"StructuredDocumentation","src":"73684:137:14","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:14","parameters":{"id":15147,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15144,"mutability":"mutable","name":"mnemonic","nameLocation":"73861:8:14","nodeType":"VariableDeclaration","scope":15151,"src":"73845:24:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15143,"name":"string","nodeType":"ElementaryTypeName","src":"73845:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15146,"mutability":"mutable","name":"index","nameLocation":"73878:5:14","nodeType":"VariableDeclaration","scope":15151,"src":"73871:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":15145,"name":"uint32","nodeType":"ElementaryTypeName","src":"73871:6:14","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"src":"73844:40:14"},"returnParameters":{"id":15150,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15149,"mutability":"mutable","name":"privateKey","nameLocation":"73916:10:14","nodeType":"VariableDeclaration","scope":15151,"src":"73908:18:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15148,"name":"uint256","nodeType":"ElementaryTypeName","src":"73908:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"73907:20:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15163,"nodeType":"FunctionDefinition","src":"74057:158:14","nodes":[],"documentation":{"id":15152,"nodeType":"StructuredDocumentation","src":"73934:118:14","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:14","parameters":{"id":15159,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15154,"mutability":"mutable","name":"mnemonic","nameLocation":"74092:8:14","nodeType":"VariableDeclaration","scope":15163,"src":"74076:24:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15153,"name":"string","nodeType":"ElementaryTypeName","src":"74076:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15156,"mutability":"mutable","name":"derivationPath","nameLocation":"74118:14:14","nodeType":"VariableDeclaration","scope":15163,"src":"74102:30:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15155,"name":"string","nodeType":"ElementaryTypeName","src":"74102:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15158,"mutability":"mutable","name":"index","nameLocation":"74141:5:14","nodeType":"VariableDeclaration","scope":15163,"src":"74134:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":15157,"name":"uint32","nodeType":"ElementaryTypeName","src":"74134:6:14","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"src":"74075:72:14"},"returnParameters":{"id":15162,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15161,"mutability":"mutable","name":"privateKey","nameLocation":"74203:10:14","nodeType":"VariableDeclaration","scope":15163,"src":"74195:18:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15160,"name":"uint256","nodeType":"ElementaryTypeName","src":"74195:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"74194:20:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15175,"nodeType":"FunctionDefinition","src":"74389:152:14","nodes":[],"documentation":{"id":15164,"nodeType":"StructuredDocumentation","src":"74221:163:14","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:14","parameters":{"id":15171,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15166,"mutability":"mutable","name":"mnemonic","nameLocation":"74424:8:14","nodeType":"VariableDeclaration","scope":15175,"src":"74408:24:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15165,"name":"string","nodeType":"ElementaryTypeName","src":"74408:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15168,"mutability":"mutable","name":"index","nameLocation":"74441:5:14","nodeType":"VariableDeclaration","scope":15175,"src":"74434:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":15167,"name":"uint32","nodeType":"ElementaryTypeName","src":"74434:6:14","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"},{"constant":false,"id":15170,"mutability":"mutable","name":"language","nameLocation":"74464:8:14","nodeType":"VariableDeclaration","scope":15175,"src":"74448:24:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15169,"name":"string","nodeType":"ElementaryTypeName","src":"74448:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"74407:66:14"},"returnParameters":{"id":15174,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15173,"mutability":"mutable","name":"privateKey","nameLocation":"74529:10:14","nodeType":"VariableDeclaration","scope":15175,"src":"74521:18:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15172,"name":"uint256","nodeType":"ElementaryTypeName","src":"74521:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"74520:20:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15189,"nodeType":"FunctionDefinition","src":"74696:184:14","nodes":[],"documentation":{"id":15176,"nodeType":"StructuredDocumentation","src":"74547:144:14","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:14","parameters":{"id":15185,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15178,"mutability":"mutable","name":"mnemonic","nameLocation":"74731:8:14","nodeType":"VariableDeclaration","scope":15189,"src":"74715:24:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15177,"name":"string","nodeType":"ElementaryTypeName","src":"74715:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15180,"mutability":"mutable","name":"derivationPath","nameLocation":"74757:14:14","nodeType":"VariableDeclaration","scope":15189,"src":"74741:30:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15179,"name":"string","nodeType":"ElementaryTypeName","src":"74741:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15182,"mutability":"mutable","name":"index","nameLocation":"74780:5:14","nodeType":"VariableDeclaration","scope":15189,"src":"74773:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":15181,"name":"uint32","nodeType":"ElementaryTypeName","src":"74773:6:14","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"},{"constant":false,"id":15184,"mutability":"mutable","name":"language","nameLocation":"74803:8:14","nodeType":"VariableDeclaration","scope":15189,"src":"74787:24:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15183,"name":"string","nodeType":"ElementaryTypeName","src":"74787:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"74714:98:14"},"returnParameters":{"id":15188,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15187,"mutability":"mutable","name":"privateKey","nameLocation":"74868:10:14","nodeType":"VariableDeclaration","scope":15189,"src":"74860:18:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15186,"name":"uint256","nodeType":"ElementaryTypeName","src":"74860:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"74859:20:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15197,"nodeType":"FunctionDefinition","src":"74936:86:14","nodes":[],"documentation":{"id":15190,"nodeType":"StructuredDocumentation","src":"74886:45:14","text":"Gets the label for the specified address."},"functionSelector":"28a249b0","implemented":false,"kind":"function","modifiers":[],"name":"getLabel","nameLocation":"74945:8:14","parameters":{"id":15193,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15192,"mutability":"mutable","name":"account","nameLocation":"74962:7:14","nodeType":"VariableDeclaration","scope":15197,"src":"74954:15:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15191,"name":"address","nodeType":"ElementaryTypeName","src":"74954:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"74953:17:14"},"returnParameters":{"id":15196,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15195,"mutability":"mutable","name":"currentLabel","nameLocation":"75008:12:14","nodeType":"VariableDeclaration","scope":15197,"src":"74994:26:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15194,"name":"string","nodeType":"ElementaryTypeName","src":"74994:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"74993:28:14"},"scope":15270,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":15206,"nodeType":"FunctionDefinition","src":"75060:74:14","nodes":[],"documentation":{"id":15198,"nodeType":"StructuredDocumentation","src":"75028:27:14","text":"Get a `Wallet`'s nonce."},"functionSelector":"a5748aad","implemented":false,"kind":"function","modifiers":[],"name":"getNonce","nameLocation":"75069:8:14","parameters":{"id":15202,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15201,"mutability":"mutable","name":"wallet","nameLocation":"75094:6:14","nodeType":"VariableDeclaration","scope":15206,"src":"75078:22:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_struct$_Wallet_$12175_calldata_ptr","typeString":"struct VmSafe.Wallet"},"typeName":{"id":15200,"nodeType":"UserDefinedTypeName","pathNode":{"id":15199,"name":"Wallet","nameLocations":["75078:6:14"],"nodeType":"IdentifierPath","referencedDeclaration":12175,"src":"75078:6:14"},"referencedDeclaration":12175,"src":"75078:6:14","typeDescriptions":{"typeIdentifier":"t_struct$_Wallet_$12175_storage_ptr","typeString":"struct VmSafe.Wallet"}},"visibility":"internal"}],"src":"75077:24:14"},"returnParameters":{"id":15205,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15204,"mutability":"mutable","name":"nonce","nameLocation":"75127:5:14","nodeType":"VariableDeclaration","scope":15206,"src":"75120:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":15203,"name":"uint64","nodeType":"ElementaryTypeName","src":"75120:6:14","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"75119:14:14"},"scope":15270,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15214,"nodeType":"FunctionDefinition","src":"75182:67:14","nodes":[],"documentation":{"id":15207,"nodeType":"StructuredDocumentation","src":"75140:37:14","text":"Labels an address in call traces."},"functionSelector":"c657c718","implemented":false,"kind":"function","modifiers":[],"name":"label","nameLocation":"75191:5:14","parameters":{"id":15212,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15209,"mutability":"mutable","name":"account","nameLocation":"75205:7:14","nodeType":"VariableDeclaration","scope":15214,"src":"75197:15:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15208,"name":"address","nodeType":"ElementaryTypeName","src":"75197:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15211,"mutability":"mutable","name":"newLabel","nameLocation":"75230:8:14","nodeType":"VariableDeclaration","scope":15214,"src":"75214:24:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15210,"name":"string","nodeType":"ElementaryTypeName","src":"75214:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"75196:43:14"},"returnParameters":{"id":15213,"nodeType":"ParameterList","parameters":[],"src":"75248:0:14"},"scope":15270,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15222,"nodeType":"FunctionDefinition","src":"75333:76:14","nodes":[],"documentation":{"id":15215,"nodeType":"StructuredDocumentation","src":"75255:73:14","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:14","parameters":{"id":15218,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15217,"mutability":"mutable","name":"privateKey","nameLocation":"75362:10:14","nodeType":"VariableDeclaration","scope":15222,"src":"75354:18:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15216,"name":"uint256","nodeType":"ElementaryTypeName","src":"75354:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"75353:20:14"},"returnParameters":{"id":15221,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15220,"mutability":"mutable","name":"keyAddr","nameLocation":"75400:7:14","nodeType":"VariableDeclaration","scope":15222,"src":"75392:15:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15219,"name":"address","nodeType":"ElementaryTypeName","src":"75392:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"75391:17:14"},"scope":15270,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15237,"nodeType":"FunctionDefinition","src":"75451:103:14","nodes":[],"documentation":{"id":15223,"nodeType":"StructuredDocumentation","src":"75415:31:14","text":"Signs data with a `Wallet`."},"functionSelector":"b25c5a25","implemented":false,"kind":"function","modifiers":[],"name":"sign","nameLocation":"75460:4:14","parameters":{"id":15229,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15226,"mutability":"mutable","name":"wallet","nameLocation":"75481:6:14","nodeType":"VariableDeclaration","scope":15237,"src":"75465:22:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_struct$_Wallet_$12175_calldata_ptr","typeString":"struct VmSafe.Wallet"},"typeName":{"id":15225,"nodeType":"UserDefinedTypeName","pathNode":{"id":15224,"name":"Wallet","nameLocations":["75465:6:14"],"nodeType":"IdentifierPath","referencedDeclaration":12175,"src":"75465:6:14"},"referencedDeclaration":12175,"src":"75465:6:14","typeDescriptions":{"typeIdentifier":"t_struct$_Wallet_$12175_storage_ptr","typeString":"struct VmSafe.Wallet"}},"visibility":"internal"},{"constant":false,"id":15228,"mutability":"mutable","name":"digest","nameLocation":"75497:6:14","nodeType":"VariableDeclaration","scope":15237,"src":"75489:14:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":15227,"name":"bytes32","nodeType":"ElementaryTypeName","src":"75489:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"75464:40:14"},"returnParameters":{"id":15236,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15231,"mutability":"mutable","name":"v","nameLocation":"75529:1:14","nodeType":"VariableDeclaration","scope":15237,"src":"75523:7:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":15230,"name":"uint8","nodeType":"ElementaryTypeName","src":"75523:5:14","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":15233,"mutability":"mutable","name":"r","nameLocation":"75540:1:14","nodeType":"VariableDeclaration","scope":15237,"src":"75532:9:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":15232,"name":"bytes32","nodeType":"ElementaryTypeName","src":"75532:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":15235,"mutability":"mutable","name":"s","nameLocation":"75551:1:14","nodeType":"VariableDeclaration","scope":15237,"src":"75543:9:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":15234,"name":"bytes32","nodeType":"ElementaryTypeName","src":"75543:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"75522:31:14"},"scope":15270,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15245,"nodeType":"FunctionDefinition","src":"75615:80:14","nodes":[],"documentation":{"id":15238,"nodeType":"StructuredDocumentation","src":"75560:50:14","text":"Encodes a `bytes` value to a base64url string."},"functionSelector":"c8bd0e4a","implemented":false,"kind":"function","modifiers":[],"name":"toBase64URL","nameLocation":"75624:11:14","parameters":{"id":15241,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15240,"mutability":"mutable","name":"data","nameLocation":"75651:4:14","nodeType":"VariableDeclaration","scope":15245,"src":"75636:19:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":15239,"name":"bytes","nodeType":"ElementaryTypeName","src":"75636:5:14","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"75635:21:14"},"returnParameters":{"id":15244,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15243,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15245,"src":"75680:13:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15242,"name":"string","nodeType":"ElementaryTypeName","src":"75680:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"75679:15:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15253,"nodeType":"FunctionDefinition","src":"75757:81:14","nodes":[],"documentation":{"id":15246,"nodeType":"StructuredDocumentation","src":"75701:51:14","text":"Encodes a `string` value to a base64url string."},"functionSelector":"ae3165b3","implemented":false,"kind":"function","modifiers":[],"name":"toBase64URL","nameLocation":"75766:11:14","parameters":{"id":15249,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15248,"mutability":"mutable","name":"data","nameLocation":"75794:4:14","nodeType":"VariableDeclaration","scope":15253,"src":"75778:20:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15247,"name":"string","nodeType":"ElementaryTypeName","src":"75778:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"75777:22:14"},"returnParameters":{"id":15252,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15251,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15253,"src":"75823:13:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15250,"name":"string","nodeType":"ElementaryTypeName","src":"75823:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"75822:15:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15261,"nodeType":"FunctionDefinition","src":"75896:77:14","nodes":[],"documentation":{"id":15254,"nodeType":"StructuredDocumentation","src":"75844:47:14","text":"Encodes a `bytes` value to a base64 string."},"functionSelector":"a5cbfe65","implemented":false,"kind":"function","modifiers":[],"name":"toBase64","nameLocation":"75905:8:14","parameters":{"id":15257,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15256,"mutability":"mutable","name":"data","nameLocation":"75929:4:14","nodeType":"VariableDeclaration","scope":15261,"src":"75914:19:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":15255,"name":"bytes","nodeType":"ElementaryTypeName","src":"75914:5:14","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"75913:21:14"},"returnParameters":{"id":15260,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15259,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15261,"src":"75958:13:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15258,"name":"string","nodeType":"ElementaryTypeName","src":"75958:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"75957:15:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15269,"nodeType":"FunctionDefinition","src":"76032:78:14","nodes":[],"documentation":{"id":15262,"nodeType":"StructuredDocumentation","src":"75979:48:14","text":"Encodes a `string` value to a base64 string."},"functionSelector":"3f8be2c8","implemented":false,"kind":"function","modifiers":[],"name":"toBase64","nameLocation":"76041:8:14","parameters":{"id":15265,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15264,"mutability":"mutable","name":"data","nameLocation":"76066:4:14","nodeType":"VariableDeclaration","scope":15269,"src":"76050:20:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15263,"name":"string","nodeType":"ElementaryTypeName","src":"76050:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"76049:22:14"},"returnParameters":{"id":15268,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15267,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15269,"src":"76095:13:14","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15266,"name":"string","nodeType":"ElementaryTypeName","src":"76095:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"76094:15:14"},"scope":15270,"stateMutability":"pure","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"VmSafe","contractDependencies":[],"contractKind":"interface","documentation":{"id":12070,"nodeType":"StructuredDocumentation","src":"184:225:14","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":[15270],"name":"VmSafe","nameLocation":"419:6:14","scope":15858,"usedErrors":[],"usedEvents":[]},{"id":15857,"nodeType":"ContractDefinition","src":"76285:13912:14","nodes":[{"id":15279,"nodeType":"FunctionDefinition","src":"76445:61:14","nodes":[],"documentation":{"id":15274,"nodeType":"StructuredDocumentation","src":"76344:96:14","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:14","parameters":{"id":15275,"nodeType":"ParameterList","parameters":[],"src":"76464:2:14"},"returnParameters":{"id":15278,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15277,"mutability":"mutable","name":"forkId","nameLocation":"76498:6:14","nodeType":"VariableDeclaration","scope":15279,"src":"76490:14:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15276,"name":"uint256","nodeType":"ElementaryTypeName","src":"76490:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"76489:16:14"},"scope":15857,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":15285,"nodeType":"FunctionDefinition","src":"76590:51:14","nodes":[],"documentation":{"id":15280,"nodeType":"StructuredDocumentation","src":"76512:73:14","text":"In forking mode, explicitly grant the given address cheatcode access."},"functionSelector":"ea060291","implemented":false,"kind":"function","modifiers":[],"name":"allowCheatcodes","nameLocation":"76599:15:14","parameters":{"id":15283,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15282,"mutability":"mutable","name":"account","nameLocation":"76623:7:14","nodeType":"VariableDeclaration","scope":15285,"src":"76615:15:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15281,"name":"address","nodeType":"ElementaryTypeName","src":"76615:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"76614:17:14"},"returnParameters":{"id":15284,"nodeType":"ParameterList","parameters":[],"src":"76640:0:14"},"scope":15857,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15291,"nodeType":"FunctionDefinition","src":"76680:54:14","nodes":[],"documentation":{"id":15286,"nodeType":"StructuredDocumentation","src":"76647:28:14","text":"Sets `block.blobbasefee`"},"functionSelector":"6d315d7e","implemented":false,"kind":"function","modifiers":[],"name":"blobBaseFee","nameLocation":"76689:11:14","parameters":{"id":15289,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15288,"mutability":"mutable","name":"newBlobBaseFee","nameLocation":"76709:14:14","nodeType":"VariableDeclaration","scope":15291,"src":"76701:22:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15287,"name":"uint256","nodeType":"ElementaryTypeName","src":"76701:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"76700:24:14"},"returnParameters":{"id":15290,"nodeType":"ParameterList","parameters":[],"src":"76733:0:14"},"scope":15857,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15297,"nodeType":"FunctionDefinition","src":"76770:46:14","nodes":[],"documentation":{"id":15292,"nodeType":"StructuredDocumentation","src":"76740:25:14","text":"Sets `block.chainid`."},"functionSelector":"4049ddd2","implemented":false,"kind":"function","modifiers":[],"name":"chainId","nameLocation":"76779:7:14","parameters":{"id":15295,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15294,"mutability":"mutable","name":"newChainId","nameLocation":"76795:10:14","nodeType":"VariableDeclaration","scope":15297,"src":"76787:18:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15293,"name":"uint256","nodeType":"ElementaryTypeName","src":"76787:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"76786:20:14"},"returnParameters":{"id":15296,"nodeType":"ParameterList","parameters":[],"src":"76815:0:14"},"scope":15857,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15301,"nodeType":"FunctionDefinition","src":"76855:37:14","nodes":[],"documentation":{"id":15298,"nodeType":"StructuredDocumentation","src":"76822:28:14","text":"Clears all mocked calls."},"functionSelector":"3fdf4e15","implemented":false,"kind":"function","modifiers":[],"name":"clearMockedCalls","nameLocation":"76864:16:14","parameters":{"id":15299,"nodeType":"ParameterList","parameters":[],"src":"76880:2:14"},"returnParameters":{"id":15300,"nodeType":"ParameterList","parameters":[],"src":"76891:0:14"},"scope":15857,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15307,"nodeType":"FunctionDefinition","src":"76929:48:14","nodes":[],"documentation":{"id":15302,"nodeType":"StructuredDocumentation","src":"76898:26:14","text":"Sets `block.coinbase`."},"functionSelector":"ff483c54","implemented":false,"kind":"function","modifiers":[],"name":"coinbase","nameLocation":"76938:8:14","parameters":{"id":15305,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15304,"mutability":"mutable","name":"newCoinbase","nameLocation":"76955:11:14","nodeType":"VariableDeclaration","scope":15307,"src":"76947:19:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15303,"name":"address","nodeType":"ElementaryTypeName","src":"76947:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"76946:21:14"},"returnParameters":{"id":15306,"nodeType":"ParameterList","parameters":[],"src":"76976:0:14"},"scope":15857,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15315,"nodeType":"FunctionDefinition","src":"77097:82:14","nodes":[],"documentation":{"id":15308,"nodeType":"StructuredDocumentation","src":"76983:109:14","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:14","parameters":{"id":15311,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15310,"mutability":"mutable","name":"urlOrAlias","nameLocation":"77133:10:14","nodeType":"VariableDeclaration","scope":15315,"src":"77117:26:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15309,"name":"string","nodeType":"ElementaryTypeName","src":"77117:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"77116:28:14"},"returnParameters":{"id":15314,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15313,"mutability":"mutable","name":"forkId","nameLocation":"77171:6:14","nodeType":"VariableDeclaration","scope":15315,"src":"77163:14:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15312,"name":"uint256","nodeType":"ElementaryTypeName","src":"77163:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"77162:16:14"},"scope":15857,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15325,"nodeType":"FunctionDefinition","src":"77286:103:14","nodes":[],"documentation":{"id":15316,"nodeType":"StructuredDocumentation","src":"77185:96:14","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:14","parameters":{"id":15321,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15318,"mutability":"mutable","name":"urlOrAlias","nameLocation":"77322:10:14","nodeType":"VariableDeclaration","scope":15325,"src":"77306:26:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15317,"name":"string","nodeType":"ElementaryTypeName","src":"77306:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15320,"mutability":"mutable","name":"blockNumber","nameLocation":"77342:11:14","nodeType":"VariableDeclaration","scope":15325,"src":"77334:19:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15319,"name":"uint256","nodeType":"ElementaryTypeName","src":"77334:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"77305:49:14"},"returnParameters":{"id":15324,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15323,"mutability":"mutable","name":"forkId","nameLocation":"77381:6:14","nodeType":"VariableDeclaration","scope":15325,"src":"77373:14:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15322,"name":"uint256","nodeType":"ElementaryTypeName","src":"77373:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"77372:16:14"},"scope":15857,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15335,"nodeType":"FunctionDefinition","src":"77614:98:14","nodes":[],"documentation":{"id":15326,"nodeType":"StructuredDocumentation","src":"77395:214:14","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:14","parameters":{"id":15331,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15328,"mutability":"mutable","name":"urlOrAlias","nameLocation":"77650:10:14","nodeType":"VariableDeclaration","scope":15335,"src":"77634:26:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15327,"name":"string","nodeType":"ElementaryTypeName","src":"77634:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15330,"mutability":"mutable","name":"txHash","nameLocation":"77670:6:14","nodeType":"VariableDeclaration","scope":15335,"src":"77662:14:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":15329,"name":"bytes32","nodeType":"ElementaryTypeName","src":"77662:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"77633:44:14"},"returnParameters":{"id":15334,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15333,"mutability":"mutable","name":"forkId","nameLocation":"77704:6:14","nodeType":"VariableDeclaration","scope":15335,"src":"77696:14:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15332,"name":"uint256","nodeType":"ElementaryTypeName","src":"77696:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"77695:16:14"},"scope":15857,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15343,"nodeType":"FunctionDefinition","src":"77847:88:14","nodes":[],"documentation":{"id":15336,"nodeType":"StructuredDocumentation","src":"77718:124:14","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:14","parameters":{"id":15339,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15338,"mutability":"mutable","name":"urlOrAlias","nameLocation":"77889:10:14","nodeType":"VariableDeclaration","scope":15343,"src":"77873:26:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15337,"name":"string","nodeType":"ElementaryTypeName","src":"77873:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"77872:28:14"},"returnParameters":{"id":15342,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15341,"mutability":"mutable","name":"forkId","nameLocation":"77927:6:14","nodeType":"VariableDeclaration","scope":15343,"src":"77919:14:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15340,"name":"uint256","nodeType":"ElementaryTypeName","src":"77919:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"77918:16:14"},"scope":15857,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15353,"nodeType":"FunctionDefinition","src":"78059:109:14","nodes":[],"documentation":{"id":15344,"nodeType":"StructuredDocumentation","src":"77941:113:14","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:14","parameters":{"id":15349,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15346,"mutability":"mutable","name":"urlOrAlias","nameLocation":"78101:10:14","nodeType":"VariableDeclaration","scope":15353,"src":"78085:26:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15345,"name":"string","nodeType":"ElementaryTypeName","src":"78085:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15348,"mutability":"mutable","name":"blockNumber","nameLocation":"78121:11:14","nodeType":"VariableDeclaration","scope":15353,"src":"78113:19:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15347,"name":"uint256","nodeType":"ElementaryTypeName","src":"78113:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"78084:49:14"},"returnParameters":{"id":15352,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15351,"mutability":"mutable","name":"forkId","nameLocation":"78160:6:14","nodeType":"VariableDeclaration","scope":15353,"src":"78152:14:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15350,"name":"uint256","nodeType":"ElementaryTypeName","src":"78152:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"78151:16:14"},"scope":15857,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15363,"nodeType":"FunctionDefinition","src":"78404:104:14","nodes":[],"documentation":{"id":15354,"nodeType":"StructuredDocumentation","src":"78174:225:14","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:14","parameters":{"id":15359,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15356,"mutability":"mutable","name":"urlOrAlias","nameLocation":"78446:10:14","nodeType":"VariableDeclaration","scope":15363,"src":"78430:26:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15355,"name":"string","nodeType":"ElementaryTypeName","src":"78430:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15358,"mutability":"mutable","name":"txHash","nameLocation":"78466:6:14","nodeType":"VariableDeclaration","scope":15363,"src":"78458:14:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":15357,"name":"bytes32","nodeType":"ElementaryTypeName","src":"78458:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"78429:44:14"},"returnParameters":{"id":15362,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15361,"mutability":"mutable","name":"forkId","nameLocation":"78500:6:14","nodeType":"VariableDeclaration","scope":15363,"src":"78492:14:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15360,"name":"uint256","nodeType":"ElementaryTypeName","src":"78492:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"78491:16:14"},"scope":15857,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15371,"nodeType":"FunctionDefinition","src":"78548:60:14","nodes":[],"documentation":{"id":15364,"nodeType":"StructuredDocumentation","src":"78514:29:14","text":"Sets an address' balance."},"functionSelector":"c88a5e6d","implemented":false,"kind":"function","modifiers":[],"name":"deal","nameLocation":"78557:4:14","parameters":{"id":15369,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15366,"mutability":"mutable","name":"account","nameLocation":"78570:7:14","nodeType":"VariableDeclaration","scope":15371,"src":"78562:15:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15365,"name":"address","nodeType":"ElementaryTypeName","src":"78562:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15368,"mutability":"mutable","name":"newBalance","nameLocation":"78587:10:14","nodeType":"VariableDeclaration","scope":15371,"src":"78579:18:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15367,"name":"uint256","nodeType":"ElementaryTypeName","src":"78579:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"78561:37:14"},"returnParameters":{"id":15370,"nodeType":"ParameterList","parameters":[],"src":"78607:0:14"},"scope":15857,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15379,"nodeType":"FunctionDefinition","src":"78846:76:14","nodes":[],"documentation":{"id":15372,"nodeType":"StructuredDocumentation","src":"78614:227:14","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:14","parameters":{"id":15375,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15374,"mutability":"mutable","name":"snapshotId","nameLocation":"78878:10:14","nodeType":"VariableDeclaration","scope":15379,"src":"78870:18:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15373,"name":"uint256","nodeType":"ElementaryTypeName","src":"78870:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"78869:20:14"},"returnParameters":{"id":15378,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15377,"mutability":"mutable","name":"success","nameLocation":"78913:7:14","nodeType":"VariableDeclaration","scope":15379,"src":"78908:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15376,"name":"bool","nodeType":"ElementaryTypeName","src":"78908:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"78907:14:14"},"scope":15857,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15383,"nodeType":"FunctionDefinition","src":"78994:36:14","nodes":[],"documentation":{"id":15380,"nodeType":"StructuredDocumentation","src":"78928:61:14","text":"Removes _all_ snapshots previously created by `snapshot`."},"functionSelector":"421ae469","implemented":false,"kind":"function","modifiers":[],"name":"deleteSnapshots","nameLocation":"79003:15:14","parameters":{"id":15381,"nodeType":"ParameterList","parameters":[],"src":"79018:2:14"},"returnParameters":{"id":15382,"nodeType":"ParameterList","parameters":[],"src":"79029:0:14"},"scope":15857,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15389,"nodeType":"FunctionDefinition","src":"79206:52:14","nodes":[],"documentation":{"id":15384,"nodeType":"StructuredDocumentation","src":"79036:165:14","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:14","parameters":{"id":15387,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15386,"mutability":"mutable","name":"newDifficulty","nameLocation":"79234:13:14","nodeType":"VariableDeclaration","scope":15389,"src":"79226:21:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15385,"name":"uint256","nodeType":"ElementaryTypeName","src":"79226:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"79225:23:14"},"returnParameters":{"id":15388,"nodeType":"ParameterList","parameters":[],"src":"79257:0:14"},"scope":15857,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15395,"nodeType":"FunctionDefinition","src":"79317:61:14","nodes":[],"documentation":{"id":15390,"nodeType":"StructuredDocumentation","src":"79264:48:14","text":"Dump a genesis JSON file's `allocs` to disk."},"functionSelector":"709ecd3f","implemented":false,"kind":"function","modifiers":[],"name":"dumpState","nameLocation":"79326:9:14","parameters":{"id":15393,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15392,"mutability":"mutable","name":"pathToStateJson","nameLocation":"79352:15:14","nodeType":"VariableDeclaration","scope":15395,"src":"79336:31:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15391,"name":"string","nodeType":"ElementaryTypeName","src":"79336:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"79335:33:14"},"returnParameters":{"id":15394,"nodeType":"ParameterList","parameters":[],"src":"79377:0:14"},"scope":15857,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15403,"nodeType":"FunctionDefinition","src":"79415:74:14","nodes":[],"documentation":{"id":15396,"nodeType":"StructuredDocumentation","src":"79384:26:14","text":"Sets an address' code."},"functionSelector":"b4d6c782","implemented":false,"kind":"function","modifiers":[],"name":"etch","nameLocation":"79424:4:14","parameters":{"id":15401,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15398,"mutability":"mutable","name":"target","nameLocation":"79437:6:14","nodeType":"VariableDeclaration","scope":15403,"src":"79429:14:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15397,"name":"address","nodeType":"ElementaryTypeName","src":"79429:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15400,"mutability":"mutable","name":"newRuntimeBytecode","nameLocation":"79460:18:14","nodeType":"VariableDeclaration","scope":15403,"src":"79445:33:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":15399,"name":"bytes","nodeType":"ElementaryTypeName","src":"79445:5:14","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"79428:51:14"},"returnParameters":{"id":15402,"nodeType":"ParameterList","parameters":[],"src":"79488:0:14"},"scope":15857,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15409,"nodeType":"FunctionDefinition","src":"79525:42:14","nodes":[],"documentation":{"id":15404,"nodeType":"StructuredDocumentation","src":"79495:25:14","text":"Sets `block.basefee`."},"functionSelector":"39b37ab0","implemented":false,"kind":"function","modifiers":[],"name":"fee","nameLocation":"79534:3:14","parameters":{"id":15407,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15406,"mutability":"mutable","name":"newBasefee","nameLocation":"79546:10:14","nodeType":"VariableDeclaration","scope":15409,"src":"79538:18:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15405,"name":"uint256","nodeType":"ElementaryTypeName","src":"79538:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"79537:20:14"},"returnParameters":{"id":15408,"nodeType":"ParameterList","parameters":[],"src":"79566:0:14"},"scope":15857,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15417,"nodeType":"FunctionDefinition","src":"79634:79:14","nodes":[],"documentation":{"id":15410,"nodeType":"StructuredDocumentation","src":"79573:56:14","text":"Returns true if the account is marked as persistent."},"functionSelector":"d92d8efd","implemented":false,"kind":"function","modifiers":[],"name":"isPersistent","nameLocation":"79643:12:14","parameters":{"id":15413,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15412,"mutability":"mutable","name":"account","nameLocation":"79664:7:14","nodeType":"VariableDeclaration","scope":15417,"src":"79656:15:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15411,"name":"address","nodeType":"ElementaryTypeName","src":"79656:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"79655:17:14"},"returnParameters":{"id":15416,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15415,"mutability":"mutable","name":"persistent","nameLocation":"79701:10:14","nodeType":"VariableDeclaration","scope":15417,"src":"79696:15:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15414,"name":"bool","nodeType":"ElementaryTypeName","src":"79696:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"79695:17:14"},"scope":15857,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":15423,"nodeType":"FunctionDefinition","src":"79794:63:14","nodes":[],"documentation":{"id":15418,"nodeType":"StructuredDocumentation","src":"79719:70:14","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:14","parameters":{"id":15421,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15420,"mutability":"mutable","name":"pathToAllocsJson","nameLocation":"79830:16:14","nodeType":"VariableDeclaration","scope":15423,"src":"79814:32:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15419,"name":"string","nodeType":"ElementaryTypeName","src":"79814:6:14","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"79813:34:14"},"returnParameters":{"id":15422,"nodeType":"ParameterList","parameters":[],"src":"79856:0:14"},"scope":15857,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15429,"nodeType":"FunctionDefinition","src":"80060:50:14","nodes":[],"documentation":{"id":15424,"nodeType":"StructuredDocumentation","src":"79863:192:14","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:14","parameters":{"id":15427,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15426,"mutability":"mutable","name":"account","nameLocation":"80092:7:14","nodeType":"VariableDeclaration","scope":15429,"src":"80084:15:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15425,"name":"address","nodeType":"ElementaryTypeName","src":"80084:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"80083:17:14"},"returnParameters":{"id":15428,"nodeType":"ParameterList","parameters":[],"src":"80109:0:14"},"scope":15857,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15437,"nodeType":"FunctionDefinition","src":"80155:69:14","nodes":[],"documentation":{"id":15430,"nodeType":"StructuredDocumentation","src":"80116:34:14","text":"See `makePersistent(address)`."},"functionSelector":"4074e0a8","implemented":false,"kind":"function","modifiers":[],"name":"makePersistent","nameLocation":"80164:14:14","parameters":{"id":15435,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15432,"mutability":"mutable","name":"account0","nameLocation":"80187:8:14","nodeType":"VariableDeclaration","scope":15437,"src":"80179:16:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15431,"name":"address","nodeType":"ElementaryTypeName","src":"80179:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15434,"mutability":"mutable","name":"account1","nameLocation":"80205:8:14","nodeType":"VariableDeclaration","scope":15437,"src":"80197:16:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15433,"name":"address","nodeType":"ElementaryTypeName","src":"80197:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"80178:36:14"},"returnParameters":{"id":15436,"nodeType":"ParameterList","parameters":[],"src":"80223:0:14"},"scope":15857,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15447,"nodeType":"FunctionDefinition","src":"80269:87:14","nodes":[],"documentation":{"id":15438,"nodeType":"StructuredDocumentation","src":"80230:34:14","text":"See `makePersistent(address)`."},"functionSelector":"efb77a75","implemented":false,"kind":"function","modifiers":[],"name":"makePersistent","nameLocation":"80278:14:14","parameters":{"id":15445,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15440,"mutability":"mutable","name":"account0","nameLocation":"80301:8:14","nodeType":"VariableDeclaration","scope":15447,"src":"80293:16:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15439,"name":"address","nodeType":"ElementaryTypeName","src":"80293:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15442,"mutability":"mutable","name":"account1","nameLocation":"80319:8:14","nodeType":"VariableDeclaration","scope":15447,"src":"80311:16:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15441,"name":"address","nodeType":"ElementaryTypeName","src":"80311:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15444,"mutability":"mutable","name":"account2","nameLocation":"80337:8:14","nodeType":"VariableDeclaration","scope":15447,"src":"80329:16:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15443,"name":"address","nodeType":"ElementaryTypeName","src":"80329:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"80292:54:14"},"returnParameters":{"id":15446,"nodeType":"ParameterList","parameters":[],"src":"80355:0:14"},"scope":15857,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15454,"nodeType":"FunctionDefinition","src":"80401:62:14","nodes":[],"documentation":{"id":15448,"nodeType":"StructuredDocumentation","src":"80362:34:14","text":"See `makePersistent(address)`."},"functionSelector":"1d9e269e","implemented":false,"kind":"function","modifiers":[],"name":"makePersistent","nameLocation":"80410:14:14","parameters":{"id":15452,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15451,"mutability":"mutable","name":"accounts","nameLocation":"80444:8:14","nodeType":"VariableDeclaration","scope":15454,"src":"80425:27:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":15449,"name":"address","nodeType":"ElementaryTypeName","src":"80425:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":15450,"nodeType":"ArrayTypeName","src":"80425:9:14","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"80424:29:14"},"returnParameters":{"id":15453,"nodeType":"ParameterList","parameters":[],"src":"80462:0:14"},"scope":15857,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15464,"nodeType":"FunctionDefinition","src":"80534:97:14","nodes":[],"documentation":{"id":15455,"nodeType":"StructuredDocumentation","src":"80469:60:14","text":"Reverts a call to an address with specified revert data."},"functionSelector":"dbaad147","implemented":false,"kind":"function","modifiers":[],"name":"mockCallRevert","nameLocation":"80543:14:14","parameters":{"id":15462,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15457,"mutability":"mutable","name":"callee","nameLocation":"80566:6:14","nodeType":"VariableDeclaration","scope":15464,"src":"80558:14:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15456,"name":"address","nodeType":"ElementaryTypeName","src":"80558:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15459,"mutability":"mutable","name":"data","nameLocation":"80589:4:14","nodeType":"VariableDeclaration","scope":15464,"src":"80574:19:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":15458,"name":"bytes","nodeType":"ElementaryTypeName","src":"80574:5:14","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":15461,"mutability":"mutable","name":"revertData","nameLocation":"80610:10:14","nodeType":"VariableDeclaration","scope":15464,"src":"80595:25:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":15460,"name":"bytes","nodeType":"ElementaryTypeName","src":"80595:5:14","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"80557:64:14"},"returnParameters":{"id":15463,"nodeType":"ParameterList","parameters":[],"src":"80630:0:14"},"scope":15857,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15476,"nodeType":"FunctionDefinition","src":"80731:123:14","nodes":[],"documentation":{"id":15465,"nodeType":"StructuredDocumentation","src":"80637:89:14","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:14","parameters":{"id":15474,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15467,"mutability":"mutable","name":"callee","nameLocation":"80763:6:14","nodeType":"VariableDeclaration","scope":15476,"src":"80755:14:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15466,"name":"address","nodeType":"ElementaryTypeName","src":"80755:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15469,"mutability":"mutable","name":"msgValue","nameLocation":"80779:8:14","nodeType":"VariableDeclaration","scope":15476,"src":"80771:16:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15468,"name":"uint256","nodeType":"ElementaryTypeName","src":"80771:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15471,"mutability":"mutable","name":"data","nameLocation":"80804:4:14","nodeType":"VariableDeclaration","scope":15476,"src":"80789:19:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":15470,"name":"bytes","nodeType":"ElementaryTypeName","src":"80789:5:14","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":15473,"mutability":"mutable","name":"revertData","nameLocation":"80825:10:14","nodeType":"VariableDeclaration","scope":15476,"src":"80810:25:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":15472,"name":"bytes","nodeType":"ElementaryTypeName","src":"80810:5:14","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"80754:82:14"},"returnParameters":{"id":15475,"nodeType":"ParameterList","parameters":[],"src":"80853:0:14"},"scope":15857,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15486,"nodeType":"FunctionDefinition","src":"81114:91:14","nodes":[],"documentation":{"id":15477,"nodeType":"StructuredDocumentation","src":"80860:249:14","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:14","parameters":{"id":15484,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15479,"mutability":"mutable","name":"callee","nameLocation":"81140:6:14","nodeType":"VariableDeclaration","scope":15486,"src":"81132:14:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15478,"name":"address","nodeType":"ElementaryTypeName","src":"81132:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15481,"mutability":"mutable","name":"data","nameLocation":"81163:4:14","nodeType":"VariableDeclaration","scope":15486,"src":"81148:19:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":15480,"name":"bytes","nodeType":"ElementaryTypeName","src":"81148:5:14","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":15483,"mutability":"mutable","name":"returnData","nameLocation":"81184:10:14","nodeType":"VariableDeclaration","scope":15486,"src":"81169:25:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":15482,"name":"bytes","nodeType":"ElementaryTypeName","src":"81169:5:14","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"81131:64:14"},"returnParameters":{"id":15485,"nodeType":"ParameterList","parameters":[],"src":"81204:0:14"},"scope":15857,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15498,"nodeType":"FunctionDefinition","src":"81380:109:14","nodes":[],"documentation":{"id":15487,"nodeType":"StructuredDocumentation","src":"81211:164:14","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:14","parameters":{"id":15496,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15489,"mutability":"mutable","name":"callee","nameLocation":"81406:6:14","nodeType":"VariableDeclaration","scope":15498,"src":"81398:14:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15488,"name":"address","nodeType":"ElementaryTypeName","src":"81398:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15491,"mutability":"mutable","name":"msgValue","nameLocation":"81422:8:14","nodeType":"VariableDeclaration","scope":15498,"src":"81414:16:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15490,"name":"uint256","nodeType":"ElementaryTypeName","src":"81414:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15493,"mutability":"mutable","name":"data","nameLocation":"81447:4:14","nodeType":"VariableDeclaration","scope":15498,"src":"81432:19:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":15492,"name":"bytes","nodeType":"ElementaryTypeName","src":"81432:5:14","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":15495,"mutability":"mutable","name":"returnData","nameLocation":"81468:10:14","nodeType":"VariableDeclaration","scope":15498,"src":"81453:25:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":15494,"name":"bytes","nodeType":"ElementaryTypeName","src":"81453:5:14","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"81397:82:14"},"returnParameters":{"id":15497,"nodeType":"ParameterList","parameters":[],"src":"81488:0:14"},"scope":15857,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15504,"nodeType":"FunctionDefinition","src":"81564:43:14","nodes":[],"documentation":{"id":15499,"nodeType":"StructuredDocumentation","src":"81495:64:14","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:14","parameters":{"id":15502,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15501,"mutability":"mutable","name":"msgSender","nameLocation":"81587:9:14","nodeType":"VariableDeclaration","scope":15504,"src":"81579:17:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15500,"name":"address","nodeType":"ElementaryTypeName","src":"81579:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"81578:19:14"},"returnParameters":{"id":15503,"nodeType":"ParameterList","parameters":[],"src":"81606:0:14"},"scope":15857,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15512,"nodeType":"FunctionDefinition","src":"81726:61:14","nodes":[],"documentation":{"id":15505,"nodeType":"StructuredDocumentation","src":"81613:108:14","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:14","parameters":{"id":15510,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15507,"mutability":"mutable","name":"msgSender","nameLocation":"81749:9:14","nodeType":"VariableDeclaration","scope":15512,"src":"81741:17:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15506,"name":"address","nodeType":"ElementaryTypeName","src":"81741:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15509,"mutability":"mutable","name":"txOrigin","nameLocation":"81768:8:14","nodeType":"VariableDeclaration","scope":15512,"src":"81760:16:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15508,"name":"address","nodeType":"ElementaryTypeName","src":"81760:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"81740:37:14"},"returnParameters":{"id":15511,"nodeType":"ParameterList","parameters":[],"src":"81786:0:14"},"scope":15857,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15518,"nodeType":"FunctionDefinition","src":"81964:52:14","nodes":[],"documentation":{"id":15513,"nodeType":"StructuredDocumentation","src":"81793:166:14","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:14","parameters":{"id":15516,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15515,"mutability":"mutable","name":"newPrevrandao","nameLocation":"81992:13:14","nodeType":"VariableDeclaration","scope":15518,"src":"81984:21:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":15514,"name":"bytes32","nodeType":"ElementaryTypeName","src":"81984:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"81983:23:14"},"returnParameters":{"id":15517,"nodeType":"ParameterList","parameters":[],"src":"82015:0:14"},"scope":15857,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15524,"nodeType":"FunctionDefinition","src":"82193:52:14","nodes":[],"documentation":{"id":15519,"nodeType":"StructuredDocumentation","src":"82022:166:14","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:14","parameters":{"id":15522,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15521,"mutability":"mutable","name":"newPrevrandao","nameLocation":"82221:13:14","nodeType":"VariableDeclaration","scope":15524,"src":"82213:21:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15520,"name":"uint256","nodeType":"ElementaryTypeName","src":"82213:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"82212:23:14"},"returnParameters":{"id":15523,"nodeType":"ParameterList","parameters":[],"src":"82244:0:14"},"scope":15857,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15535,"nodeType":"FunctionDefinition","src":"82373:101:14","nodes":[],"documentation":{"id":15525,"nodeType":"StructuredDocumentation","src":"82251:117:14","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:14","parameters":{"id":15526,"nodeType":"ParameterList","parameters":[],"src":"82393:2:14"},"returnParameters":{"id":15534,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15529,"mutability":"mutable","name":"callerMode","nameLocation":"82425:10:14","nodeType":"VariableDeclaration","scope":15535,"src":"82414:21:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_CallerMode_$12077","typeString":"enum VmSafe.CallerMode"},"typeName":{"id":15528,"nodeType":"UserDefinedTypeName","pathNode":{"id":15527,"name":"CallerMode","nameLocations":["82414:10:14"],"nodeType":"IdentifierPath","referencedDeclaration":12077,"src":"82414:10:14"},"referencedDeclaration":12077,"src":"82414:10:14","typeDescriptions":{"typeIdentifier":"t_enum$_CallerMode_$12077","typeString":"enum VmSafe.CallerMode"}},"visibility":"internal"},{"constant":false,"id":15531,"mutability":"mutable","name":"msgSender","nameLocation":"82445:9:14","nodeType":"VariableDeclaration","scope":15535,"src":"82437:17:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15530,"name":"address","nodeType":"ElementaryTypeName","src":"82437:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15533,"mutability":"mutable","name":"txOrigin","nameLocation":"82464:8:14","nodeType":"VariableDeclaration","scope":15535,"src":"82456:16:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15532,"name":"address","nodeType":"ElementaryTypeName","src":"82456:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"82413:60:14"},"scope":15857,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15541,"nodeType":"FunctionDefinition","src":"82562:46:14","nodes":[],"documentation":{"id":15536,"nodeType":"StructuredDocumentation","src":"82480:77:14","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:14","parameters":{"id":15539,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15538,"mutability":"mutable","name":"account","nameLocation":"82590:7:14","nodeType":"VariableDeclaration","scope":15541,"src":"82582:15:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15537,"name":"address","nodeType":"ElementaryTypeName","src":"82582:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"82581:17:14"},"returnParameters":{"id":15540,"nodeType":"ParameterList","parameters":[],"src":"82607:0:14"},"scope":15857,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15549,"nodeType":"FunctionDefinition","src":"82951:70:14","nodes":[],"documentation":{"id":15542,"nodeType":"StructuredDocumentation","src":"82614:332:14","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:14","parameters":{"id":15545,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15544,"mutability":"mutable","name":"snapshotId","nameLocation":"82977:10:14","nodeType":"VariableDeclaration","scope":15549,"src":"82969:18:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15543,"name":"uint256","nodeType":"ElementaryTypeName","src":"82969:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"82968:20:14"},"returnParameters":{"id":15548,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15547,"mutability":"mutable","name":"success","nameLocation":"83012:7:14","nodeType":"VariableDeclaration","scope":15549,"src":"83007:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15546,"name":"bool","nodeType":"ElementaryTypeName","src":"83007:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"83006:14:14"},"scope":15857,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15557,"nodeType":"FunctionDefinition","src":"83304:79:14","nodes":[],"documentation":{"id":15550,"nodeType":"StructuredDocumentation","src":"83027:272:14","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:14","parameters":{"id":15553,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15552,"mutability":"mutable","name":"snapshotId","nameLocation":"83339:10:14","nodeType":"VariableDeclaration","scope":15557,"src":"83331:18:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15551,"name":"uint256","nodeType":"ElementaryTypeName","src":"83331:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"83330:20:14"},"returnParameters":{"id":15556,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15555,"mutability":"mutable","name":"success","nameLocation":"83374:7:14","nodeType":"VariableDeclaration","scope":15557,"src":"83369:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15554,"name":"bool","nodeType":"ElementaryTypeName","src":"83369:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"83368:14:14"},"scope":15857,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15563,"nodeType":"FunctionDefinition","src":"83480:52:14","nodes":[],"documentation":{"id":15558,"nodeType":"StructuredDocumentation","src":"83389:86:14","text":"Revokes persistent status from the address, previously added via `makePersistent`."},"functionSelector":"997a0222","implemented":false,"kind":"function","modifiers":[],"name":"revokePersistent","nameLocation":"83489:16:14","parameters":{"id":15561,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15560,"mutability":"mutable","name":"account","nameLocation":"83514:7:14","nodeType":"VariableDeclaration","scope":15563,"src":"83506:15:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15559,"name":"address","nodeType":"ElementaryTypeName","src":"83506:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"83505:17:14"},"returnParameters":{"id":15562,"nodeType":"ParameterList","parameters":[],"src":"83531:0:14"},"scope":15857,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15570,"nodeType":"FunctionDefinition","src":"83579:64:14","nodes":[],"documentation":{"id":15564,"nodeType":"StructuredDocumentation","src":"83538:36:14","text":"See `revokePersistent(address)`."},"functionSelector":"3ce969e6","implemented":false,"kind":"function","modifiers":[],"name":"revokePersistent","nameLocation":"83588:16:14","parameters":{"id":15568,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15567,"mutability":"mutable","name":"accounts","nameLocation":"83624:8:14","nodeType":"VariableDeclaration","scope":15570,"src":"83605:27:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":15565,"name":"address","nodeType":"ElementaryTypeName","src":"83605:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":15566,"nodeType":"ArrayTypeName","src":"83605:9:14","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"83604:29:14"},"returnParameters":{"id":15569,"nodeType":"ParameterList","parameters":[],"src":"83642:0:14"},"scope":15857,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15576,"nodeType":"FunctionDefinition","src":"83678:42:14","nodes":[],"documentation":{"id":15571,"nodeType":"StructuredDocumentation","src":"83649:24:14","text":"Sets `block.height`."},"functionSelector":"1f7b4f30","implemented":false,"kind":"function","modifiers":[],"name":"roll","nameLocation":"83687:4:14","parameters":{"id":15574,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15573,"mutability":"mutable","name":"newHeight","nameLocation":"83700:9:14","nodeType":"VariableDeclaration","scope":15576,"src":"83692:17:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15572,"name":"uint256","nodeType":"ElementaryTypeName","src":"83692:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"83691:19:14"},"returnParameters":{"id":15575,"nodeType":"ParameterList","parameters":[],"src":"83719:0:14"},"scope":15857,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15582,"nodeType":"FunctionDefinition","src":"83859:48:14","nodes":[],"documentation":{"id":15577,"nodeType":"StructuredDocumentation","src":"83726:128:14","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:14","parameters":{"id":15580,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15579,"mutability":"mutable","name":"blockNumber","nameLocation":"83885:11:14","nodeType":"VariableDeclaration","scope":15582,"src":"83877:19:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15578,"name":"uint256","nodeType":"ElementaryTypeName","src":"83877:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"83876:21:14"},"returnParameters":{"id":15581,"nodeType":"ParameterList","parameters":[],"src":"83906:0:14"},"scope":15857,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15588,"nodeType":"FunctionDefinition","src":"84122:43:14","nodes":[],"documentation":{"id":15583,"nodeType":"StructuredDocumentation","src":"83913:204:14","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:14","parameters":{"id":15586,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15585,"mutability":"mutable","name":"txHash","nameLocation":"84148:6:14","nodeType":"VariableDeclaration","scope":15588,"src":"84140:14:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":15584,"name":"bytes32","nodeType":"ElementaryTypeName","src":"84140:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"84139:16:14"},"returnParameters":{"id":15587,"nodeType":"ParameterList","parameters":[],"src":"84164:0:14"},"scope":15857,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15596,"nodeType":"FunctionDefinition","src":"84225:64:14","nodes":[],"documentation":{"id":15589,"nodeType":"StructuredDocumentation","src":"84171:49:14","text":"Updates the given fork to given block number."},"functionSelector":"d74c83a4","implemented":false,"kind":"function","modifiers":[],"name":"rollFork","nameLocation":"84234:8:14","parameters":{"id":15594,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15591,"mutability":"mutable","name":"forkId","nameLocation":"84251:6:14","nodeType":"VariableDeclaration","scope":15596,"src":"84243:14:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15590,"name":"uint256","nodeType":"ElementaryTypeName","src":"84243:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15593,"mutability":"mutable","name":"blockNumber","nameLocation":"84267:11:14","nodeType":"VariableDeclaration","scope":15596,"src":"84259:19:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15592,"name":"uint256","nodeType":"ElementaryTypeName","src":"84259:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"84242:37:14"},"returnParameters":{"id":15595,"nodeType":"ParameterList","parameters":[],"src":"84288:0:14"},"scope":15857,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15604,"nodeType":"FunctionDefinition","src":"84425:59:14","nodes":[],"documentation":{"id":15597,"nodeType":"StructuredDocumentation","src":"84295:125:14","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:14","parameters":{"id":15602,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15599,"mutability":"mutable","name":"forkId","nameLocation":"84451:6:14","nodeType":"VariableDeclaration","scope":15604,"src":"84443:14:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15598,"name":"uint256","nodeType":"ElementaryTypeName","src":"84443:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15601,"mutability":"mutable","name":"txHash","nameLocation":"84467:6:14","nodeType":"VariableDeclaration","scope":15604,"src":"84459:14:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":15600,"name":"bytes32","nodeType":"ElementaryTypeName","src":"84459:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"84442:32:14"},"returnParameters":{"id":15603,"nodeType":"ParameterList","parameters":[],"src":"84483:0:14"},"scope":15857,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15610,"nodeType":"FunctionDefinition","src":"84597:45:14","nodes":[],"documentation":{"id":15605,"nodeType":"StructuredDocumentation","src":"84490:102:14","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:14","parameters":{"id":15608,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15607,"mutability":"mutable","name":"forkId","nameLocation":"84625:6:14","nodeType":"VariableDeclaration","scope":15610,"src":"84617:14:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15606,"name":"uint256","nodeType":"ElementaryTypeName","src":"84617:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"84616:16:14"},"returnParameters":{"id":15609,"nodeType":"ParameterList","parameters":[],"src":"84641:0:14"},"scope":15857,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15618,"nodeType":"FunctionDefinition","src":"84740:61:14","nodes":[],"documentation":{"id":15611,"nodeType":"StructuredDocumentation","src":"84648:87:14","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:14","parameters":{"id":15616,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15613,"mutability":"mutable","name":"account","nameLocation":"84766:7:14","nodeType":"VariableDeclaration","scope":15618,"src":"84758:15:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15612,"name":"address","nodeType":"ElementaryTypeName","src":"84758:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15615,"mutability":"mutable","name":"newNonce","nameLocation":"84782:8:14","nodeType":"VariableDeclaration","scope":15618,"src":"84775:15:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":15614,"name":"uint64","nodeType":"ElementaryTypeName","src":"84775:6:14","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"84757:34:14"},"returnParameters":{"id":15617,"nodeType":"ParameterList","parameters":[],"src":"84800:0:14"},"scope":15857,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15626,"nodeType":"FunctionDefinition","src":"84867:67:14","nodes":[],"documentation":{"id":15619,"nodeType":"StructuredDocumentation","src":"84807:55:14","text":"Sets the nonce of an account to an arbitrary value."},"functionSelector":"9b67b21c","implemented":false,"kind":"function","modifiers":[],"name":"setNonceUnsafe","nameLocation":"84876:14:14","parameters":{"id":15624,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15621,"mutability":"mutable","name":"account","nameLocation":"84899:7:14","nodeType":"VariableDeclaration","scope":15626,"src":"84891:15:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15620,"name":"address","nodeType":"ElementaryTypeName","src":"84891:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15623,"mutability":"mutable","name":"newNonce","nameLocation":"84915:8:14","nodeType":"VariableDeclaration","scope":15626,"src":"84908:15:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":15622,"name":"uint64","nodeType":"ElementaryTypeName","src":"84908:6:14","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"84890:34:14"},"returnParameters":{"id":15625,"nodeType":"ParameterList","parameters":[],"src":"84933:0:14"},"scope":15857,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15632,"nodeType":"FunctionDefinition","src":"85089:58:14","nodes":[],"documentation":{"id":15627,"nodeType":"StructuredDocumentation","src":"84940:144:14","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:14","parameters":{"id":15628,"nodeType":"ParameterList","parameters":[],"src":"85106:2:14"},"returnParameters":{"id":15631,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15630,"mutability":"mutable","name":"snapshotId","nameLocation":"85135:10:14","nodeType":"VariableDeclaration","scope":15632,"src":"85127:18:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15629,"name":"uint256","nodeType":"ElementaryTypeName","src":"85127:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"85126:20:14"},"scope":15857,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15638,"nodeType":"FunctionDefinition","src":"85254:48:14","nodes":[],"documentation":{"id":15633,"nodeType":"StructuredDocumentation","src":"85153:96:14","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:14","parameters":{"id":15636,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15635,"mutability":"mutable","name":"msgSender","nameLocation":"85282:9:14","nodeType":"VariableDeclaration","scope":15638,"src":"85274:17:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15634,"name":"address","nodeType":"ElementaryTypeName","src":"85274:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"85273:19:14"},"returnParameters":{"id":15637,"nodeType":"ParameterList","parameters":[],"src":"85301:0:14"},"scope":15857,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15646,"nodeType":"FunctionDefinition","src":"85453:66:14","nodes":[],"documentation":{"id":15639,"nodeType":"StructuredDocumentation","src":"85308:140:14","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:14","parameters":{"id":15644,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15641,"mutability":"mutable","name":"msgSender","nameLocation":"85481:9:14","nodeType":"VariableDeclaration","scope":15646,"src":"85473:17:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15640,"name":"address","nodeType":"ElementaryTypeName","src":"85473:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15643,"mutability":"mutable","name":"txOrigin","nameLocation":"85500:8:14","nodeType":"VariableDeclaration","scope":15646,"src":"85492:16:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15642,"name":"address","nodeType":"ElementaryTypeName","src":"85492:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"85472:37:14"},"returnParameters":{"id":15645,"nodeType":"ParameterList","parameters":[],"src":"85518:0:14"},"scope":15857,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15650,"nodeType":"FunctionDefinition","src":"85594:30:14","nodes":[],"documentation":{"id":15647,"nodeType":"StructuredDocumentation","src":"85525:64:14","text":"Resets subsequent calls' `msg.sender` to be `address(this)`."},"functionSelector":"90c5013b","implemented":false,"kind":"function","modifiers":[],"name":"stopPrank","nameLocation":"85603:9:14","parameters":{"id":15648,"nodeType":"ParameterList","parameters":[],"src":"85612:2:14"},"returnParameters":{"id":15649,"nodeType":"ParameterList","parameters":[],"src":"85623:0:14"},"scope":15857,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15660,"nodeType":"FunctionDefinition","src":"85682:69:14","nodes":[],"documentation":{"id":15651,"nodeType":"StructuredDocumentation","src":"85630:47:14","text":"Stores a value to an address' storage slot."},"functionSelector":"70ca10bb","implemented":false,"kind":"function","modifiers":[],"name":"store","nameLocation":"85691:5:14","parameters":{"id":15658,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15653,"mutability":"mutable","name":"target","nameLocation":"85705:6:14","nodeType":"VariableDeclaration","scope":15660,"src":"85697:14:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15652,"name":"address","nodeType":"ElementaryTypeName","src":"85697:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15655,"mutability":"mutable","name":"slot","nameLocation":"85721:4:14","nodeType":"VariableDeclaration","scope":15660,"src":"85713:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":15654,"name":"bytes32","nodeType":"ElementaryTypeName","src":"85713:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":15657,"mutability":"mutable","name":"value","nameLocation":"85735:5:14","nodeType":"VariableDeclaration","scope":15660,"src":"85727:13:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":15656,"name":"bytes32","nodeType":"ElementaryTypeName","src":"85727:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"85696:45:14"},"returnParameters":{"id":15659,"nodeType":"ParameterList","parameters":[],"src":"85750:0:14"},"scope":15857,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15666,"nodeType":"FunctionDefinition","src":"85854:43:14","nodes":[],"documentation":{"id":15661,"nodeType":"StructuredDocumentation","src":"85757:92:14","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:14","parameters":{"id":15664,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15663,"mutability":"mutable","name":"txHash","nameLocation":"85880:6:14","nodeType":"VariableDeclaration","scope":15666,"src":"85872:14:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":15662,"name":"bytes32","nodeType":"ElementaryTypeName","src":"85872:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"85871:16:14"},"returnParameters":{"id":15665,"nodeType":"ParameterList","parameters":[],"src":"85896:0:14"},"scope":15857,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15674,"nodeType":"FunctionDefinition","src":"85999:59:14","nodes":[],"documentation":{"id":15667,"nodeType":"StructuredDocumentation","src":"85903:91:14","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:14","parameters":{"id":15672,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15669,"mutability":"mutable","name":"forkId","nameLocation":"86025:6:14","nodeType":"VariableDeclaration","scope":15674,"src":"86017:14:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15668,"name":"uint256","nodeType":"ElementaryTypeName","src":"86017:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15671,"mutability":"mutable","name":"txHash","nameLocation":"86041:6:14","nodeType":"VariableDeclaration","scope":15674,"src":"86033:14:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":15670,"name":"bytes32","nodeType":"ElementaryTypeName","src":"86033:7:14","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"86016:32:14"},"returnParameters":{"id":15673,"nodeType":"ParameterList","parameters":[],"src":"86057:0:14"},"scope":15857,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15680,"nodeType":"FunctionDefinition","src":"86092:50:14","nodes":[],"documentation":{"id":15675,"nodeType":"StructuredDocumentation","src":"86064:23:14","text":"Sets `tx.gasprice`."},"functionSelector":"48f50c0f","implemented":false,"kind":"function","modifiers":[],"name":"txGasPrice","nameLocation":"86101:10:14","parameters":{"id":15678,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15677,"mutability":"mutable","name":"newGasPrice","nameLocation":"86120:11:14","nodeType":"VariableDeclaration","scope":15680,"src":"86112:19:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15676,"name":"uint256","nodeType":"ElementaryTypeName","src":"86112:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"86111:21:14"},"returnParameters":{"id":15679,"nodeType":"ParameterList","parameters":[],"src":"86141:0:14"},"scope":15857,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15686,"nodeType":"FunctionDefinition","src":"86180:45:14","nodes":[],"documentation":{"id":15681,"nodeType":"StructuredDocumentation","src":"86148:27:14","text":"Sets `block.timestamp`."},"functionSelector":"e5d6bf02","implemented":false,"kind":"function","modifiers":[],"name":"warp","nameLocation":"86189:4:14","parameters":{"id":15684,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15683,"mutability":"mutable","name":"newTimestamp","nameLocation":"86202:12:14","nodeType":"VariableDeclaration","scope":15686,"src":"86194:20:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15682,"name":"uint256","nodeType":"ElementaryTypeName","src":"86194:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"86193:22:14"},"returnParameters":{"id":15685,"nodeType":"ParameterList","parameters":[],"src":"86224:0:14"},"scope":15857,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15698,"nodeType":"FunctionDefinition","src":"86377:105:14","nodes":[],"documentation":{"id":15687,"nodeType":"StructuredDocumentation","src":"86265:107:14","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:14","parameters":{"id":15696,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15689,"mutability":"mutable","name":"callee","nameLocation":"86411:6:14","nodeType":"VariableDeclaration","scope":15698,"src":"86403:14:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15688,"name":"address","nodeType":"ElementaryTypeName","src":"86403:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15691,"mutability":"mutable","name":"msgValue","nameLocation":"86427:8:14","nodeType":"VariableDeclaration","scope":15698,"src":"86419:16:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15690,"name":"uint256","nodeType":"ElementaryTypeName","src":"86419:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15693,"mutability":"mutable","name":"minGas","nameLocation":"86444:6:14","nodeType":"VariableDeclaration","scope":15698,"src":"86437:13:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":15692,"name":"uint64","nodeType":"ElementaryTypeName","src":"86437:6:14","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":15695,"mutability":"mutable","name":"data","nameLocation":"86467:4:14","nodeType":"VariableDeclaration","scope":15698,"src":"86452:19:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":15694,"name":"bytes","nodeType":"ElementaryTypeName","src":"86452:5:14","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"86402:70:14"},"returnParameters":{"id":15697,"nodeType":"ParameterList","parameters":[],"src":"86481:0:14"},"scope":15857,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15712,"nodeType":"FunctionDefinition","src":"86615:127:14","nodes":[],"documentation":{"id":15699,"nodeType":"StructuredDocumentation","src":"86488:122:14","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:14","parameters":{"id":15710,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15701,"mutability":"mutable","name":"callee","nameLocation":"86649:6:14","nodeType":"VariableDeclaration","scope":15712,"src":"86641:14:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15700,"name":"address","nodeType":"ElementaryTypeName","src":"86641:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15703,"mutability":"mutable","name":"msgValue","nameLocation":"86665:8:14","nodeType":"VariableDeclaration","scope":15712,"src":"86657:16:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15702,"name":"uint256","nodeType":"ElementaryTypeName","src":"86657:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15705,"mutability":"mutable","name":"minGas","nameLocation":"86682:6:14","nodeType":"VariableDeclaration","scope":15712,"src":"86675:13:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":15704,"name":"uint64","nodeType":"ElementaryTypeName","src":"86675:6:14","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":15707,"mutability":"mutable","name":"data","nameLocation":"86705:4:14","nodeType":"VariableDeclaration","scope":15712,"src":"86690:19:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":15706,"name":"bytes","nodeType":"ElementaryTypeName","src":"86690:5:14","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":15709,"mutability":"mutable","name":"count","nameLocation":"86718:5:14","nodeType":"VariableDeclaration","scope":15712,"src":"86711:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":15708,"name":"uint64","nodeType":"ElementaryTypeName","src":"86711:6:14","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"86640:84:14"},"returnParameters":{"id":15711,"nodeType":"ParameterList","parameters":[],"src":"86741:0:14"},"scope":15857,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15720,"nodeType":"FunctionDefinition","src":"86874:66:14","nodes":[],"documentation":{"id":15713,"nodeType":"StructuredDocumentation","src":"86748:121:14","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:14","parameters":{"id":15718,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15715,"mutability":"mutable","name":"callee","nameLocation":"86902:6:14","nodeType":"VariableDeclaration","scope":15720,"src":"86894:14:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15714,"name":"address","nodeType":"ElementaryTypeName","src":"86894:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15717,"mutability":"mutable","name":"data","nameLocation":"86925:4:14","nodeType":"VariableDeclaration","scope":15720,"src":"86910:19:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":15716,"name":"bytes","nodeType":"ElementaryTypeName","src":"86910:5:14","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"86893:37:14"},"returnParameters":{"id":15719,"nodeType":"ParameterList","parameters":[],"src":"86939:0:14"},"scope":15857,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15730,"nodeType":"FunctionDefinition","src":"87027:80:14","nodes":[],"documentation":{"id":15721,"nodeType":"StructuredDocumentation","src":"86946:76:14","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:14","parameters":{"id":15728,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15723,"mutability":"mutable","name":"callee","nameLocation":"87055:6:14","nodeType":"VariableDeclaration","scope":15730,"src":"87047:14:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15722,"name":"address","nodeType":"ElementaryTypeName","src":"87047:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15725,"mutability":"mutable","name":"data","nameLocation":"87078:4:14","nodeType":"VariableDeclaration","scope":15730,"src":"87063:19:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":15724,"name":"bytes","nodeType":"ElementaryTypeName","src":"87063:5:14","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":15727,"mutability":"mutable","name":"count","nameLocation":"87091:5:14","nodeType":"VariableDeclaration","scope":15730,"src":"87084:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":15726,"name":"uint64","nodeType":"ElementaryTypeName","src":"87084:6:14","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"87046:51:14"},"returnParameters":{"id":15729,"nodeType":"ParameterList","parameters":[],"src":"87106:0:14"},"scope":15857,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15740,"nodeType":"FunctionDefinition","src":"87195:84:14","nodes":[],"documentation":{"id":15731,"nodeType":"StructuredDocumentation","src":"87113:77:14","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:14","parameters":{"id":15738,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15733,"mutability":"mutable","name":"callee","nameLocation":"87223:6:14","nodeType":"VariableDeclaration","scope":15740,"src":"87215:14:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15732,"name":"address","nodeType":"ElementaryTypeName","src":"87215:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15735,"mutability":"mutable","name":"msgValue","nameLocation":"87239:8:14","nodeType":"VariableDeclaration","scope":15740,"src":"87231:16:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15734,"name":"uint256","nodeType":"ElementaryTypeName","src":"87231:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15737,"mutability":"mutable","name":"data","nameLocation":"87264:4:14","nodeType":"VariableDeclaration","scope":15740,"src":"87249:19:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":15736,"name":"bytes","nodeType":"ElementaryTypeName","src":"87249:5:14","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"87214:55:14"},"returnParameters":{"id":15739,"nodeType":"ParameterList","parameters":[],"src":"87278:0:14"},"scope":15857,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15752,"nodeType":"FunctionDefinition","src":"87382:98:14","nodes":[],"documentation":{"id":15741,"nodeType":"StructuredDocumentation","src":"87285:92:14","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:14","parameters":{"id":15750,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15743,"mutability":"mutable","name":"callee","nameLocation":"87410:6:14","nodeType":"VariableDeclaration","scope":15752,"src":"87402:14:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15742,"name":"address","nodeType":"ElementaryTypeName","src":"87402:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15745,"mutability":"mutable","name":"msgValue","nameLocation":"87426:8:14","nodeType":"VariableDeclaration","scope":15752,"src":"87418:16:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15744,"name":"uint256","nodeType":"ElementaryTypeName","src":"87418:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15747,"mutability":"mutable","name":"data","nameLocation":"87451:4:14","nodeType":"VariableDeclaration","scope":15752,"src":"87436:19:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":15746,"name":"bytes","nodeType":"ElementaryTypeName","src":"87436:5:14","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":15749,"mutability":"mutable","name":"count","nameLocation":"87464:5:14","nodeType":"VariableDeclaration","scope":15752,"src":"87457:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":15748,"name":"uint64","nodeType":"ElementaryTypeName","src":"87457:6:14","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"87401:69:14"},"returnParameters":{"id":15751,"nodeType":"ParameterList","parameters":[],"src":"87479:0:14"},"scope":15857,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15764,"nodeType":"FunctionDefinition","src":"87573:96:14","nodes":[],"documentation":{"id":15753,"nodeType":"StructuredDocumentation","src":"87486:82:14","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:14","parameters":{"id":15762,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15755,"mutability":"mutable","name":"callee","nameLocation":"87601:6:14","nodeType":"VariableDeclaration","scope":15764,"src":"87593:14:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15754,"name":"address","nodeType":"ElementaryTypeName","src":"87593:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15757,"mutability":"mutable","name":"msgValue","nameLocation":"87617:8:14","nodeType":"VariableDeclaration","scope":15764,"src":"87609:16:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15756,"name":"uint256","nodeType":"ElementaryTypeName","src":"87609:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15759,"mutability":"mutable","name":"gas","nameLocation":"87634:3:14","nodeType":"VariableDeclaration","scope":15764,"src":"87627:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":15758,"name":"uint64","nodeType":"ElementaryTypeName","src":"87627:6:14","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":15761,"mutability":"mutable","name":"data","nameLocation":"87654:4:14","nodeType":"VariableDeclaration","scope":15764,"src":"87639:19:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":15760,"name":"bytes","nodeType":"ElementaryTypeName","src":"87639:5:14","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"87592:67:14"},"returnParameters":{"id":15763,"nodeType":"ParameterList","parameters":[],"src":"87668:0:14"},"scope":15857,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15778,"nodeType":"FunctionDefinition","src":"87778:110:14","nodes":[],"documentation":{"id":15765,"nodeType":"StructuredDocumentation","src":"87675:98:14","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:14","parameters":{"id":15776,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15767,"mutability":"mutable","name":"callee","nameLocation":"87806:6:14","nodeType":"VariableDeclaration","scope":15778,"src":"87798:14:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15766,"name":"address","nodeType":"ElementaryTypeName","src":"87798:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15769,"mutability":"mutable","name":"msgValue","nameLocation":"87822:8:14","nodeType":"VariableDeclaration","scope":15778,"src":"87814:16:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15768,"name":"uint256","nodeType":"ElementaryTypeName","src":"87814:7:14","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15771,"mutability":"mutable","name":"gas","nameLocation":"87839:3:14","nodeType":"VariableDeclaration","scope":15778,"src":"87832:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":15770,"name":"uint64","nodeType":"ElementaryTypeName","src":"87832:6:14","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":15773,"mutability":"mutable","name":"data","nameLocation":"87859:4:14","nodeType":"VariableDeclaration","scope":15778,"src":"87844:19:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":15772,"name":"bytes","nodeType":"ElementaryTypeName","src":"87844:5:14","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":15775,"mutability":"mutable","name":"count","nameLocation":"87872:5:14","nodeType":"VariableDeclaration","scope":15778,"src":"87865:12:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":15774,"name":"uint64","nodeType":"ElementaryTypeName","src":"87865:6:14","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"87797:81:14"},"returnParameters":{"id":15777,"nodeType":"ParameterList","parameters":[],"src":"87887:0:14"},"scope":15857,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15790,"nodeType":"FunctionDefinition","src":"88227:99:14","nodes":[],"documentation":{"id":15779,"nodeType":"StructuredDocumentation","src":"87894:328:14","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:14","parameters":{"id":15788,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15781,"mutability":"mutable","name":"checkTopic1","nameLocation":"88252:11:14","nodeType":"VariableDeclaration","scope":15790,"src":"88247:16:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15780,"name":"bool","nodeType":"ElementaryTypeName","src":"88247:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":15783,"mutability":"mutable","name":"checkTopic2","nameLocation":"88270:11:14","nodeType":"VariableDeclaration","scope":15790,"src":"88265:16:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15782,"name":"bool","nodeType":"ElementaryTypeName","src":"88265:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":15785,"mutability":"mutable","name":"checkTopic3","nameLocation":"88288:11:14","nodeType":"VariableDeclaration","scope":15790,"src":"88283:16:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15784,"name":"bool","nodeType":"ElementaryTypeName","src":"88283:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":15787,"mutability":"mutable","name":"checkData","nameLocation":"88306:9:14","nodeType":"VariableDeclaration","scope":15790,"src":"88301:14:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15786,"name":"bool","nodeType":"ElementaryTypeName","src":"88301:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"88246:70:14"},"returnParameters":{"id":15789,"nodeType":"ParameterList","parameters":[],"src":"88325:0:14"},"scope":15857,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15804,"nodeType":"FunctionDefinition","src":"88429:124:14","nodes":[],"documentation":{"id":15791,"nodeType":"StructuredDocumentation","src":"88332:92:14","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:14","parameters":{"id":15802,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15793,"mutability":"mutable","name":"checkTopic1","nameLocation":"88454:11:14","nodeType":"VariableDeclaration","scope":15804,"src":"88449:16:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15792,"name":"bool","nodeType":"ElementaryTypeName","src":"88449:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":15795,"mutability":"mutable","name":"checkTopic2","nameLocation":"88472:11:14","nodeType":"VariableDeclaration","scope":15804,"src":"88467:16:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15794,"name":"bool","nodeType":"ElementaryTypeName","src":"88467:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":15797,"mutability":"mutable","name":"checkTopic3","nameLocation":"88490:11:14","nodeType":"VariableDeclaration","scope":15804,"src":"88485:16:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15796,"name":"bool","nodeType":"ElementaryTypeName","src":"88485:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":15799,"mutability":"mutable","name":"checkData","nameLocation":"88508:9:14","nodeType":"VariableDeclaration","scope":15804,"src":"88503:14:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15798,"name":"bool","nodeType":"ElementaryTypeName","src":"88503:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":15801,"mutability":"mutable","name":"emitter","nameLocation":"88527:7:14","nodeType":"VariableDeclaration","scope":15804,"src":"88519:15:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15800,"name":"address","nodeType":"ElementaryTypeName","src":"88519:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"88448:87:14"},"returnParameters":{"id":15803,"nodeType":"ParameterList","parameters":[],"src":"88552:0:14"},"scope":15857,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15808,"nodeType":"FunctionDefinition","src":"88823:31:14","nodes":[],"documentation":{"id":15805,"nodeType":"StructuredDocumentation","src":"88559:259:14","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:14","parameters":{"id":15806,"nodeType":"ParameterList","parameters":[],"src":"88842:2:14"},"returnParameters":{"id":15807,"nodeType":"ParameterList","parameters":[],"src":"88853:0:14"},"scope":15857,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15814,"nodeType":"FunctionDefinition","src":"88957:46:14","nodes":[],"documentation":{"id":15809,"nodeType":"StructuredDocumentation","src":"88860:92:14","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:14","parameters":{"id":15812,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15811,"mutability":"mutable","name":"emitter","nameLocation":"88985:7:14","nodeType":"VariableDeclaration","scope":15814,"src":"88977:15:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15810,"name":"address","nodeType":"ElementaryTypeName","src":"88977:7:14","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"88976:17:14"},"returnParameters":{"id":15813,"nodeType":"ParameterList","parameters":[],"src":"89002:0:14"},"scope":15857,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15818,"nodeType":"FunctionDefinition","src":"89069:33:14","nodes":[],"documentation":{"id":15815,"nodeType":"StructuredDocumentation","src":"89009:55:14","text":"Expects an error on next call with any revert data."},"functionSelector":"f4844814","implemented":false,"kind":"function","modifiers":[],"name":"expectRevert","nameLocation":"89078:12:14","parameters":{"id":15816,"nodeType":"ParameterList","parameters":[],"src":"89090:2:14"},"returnParameters":{"id":15817,"nodeType":"ParameterList","parameters":[],"src":"89101:0:14"},"scope":15857,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15824,"nodeType":"FunctionDefinition","src":"89180:50:14","nodes":[],"documentation":{"id":15819,"nodeType":"StructuredDocumentation","src":"89108:67:14","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:14","parameters":{"id":15822,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15821,"mutability":"mutable","name":"revertData","nameLocation":"89209:10:14","nodeType":"VariableDeclaration","scope":15824,"src":"89202:17:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":15820,"name":"bytes4","nodeType":"ElementaryTypeName","src":"89202:6:14","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"89201:19:14"},"returnParameters":{"id":15823,"nodeType":"ParameterList","parameters":[],"src":"89229:0:14"},"scope":15857,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15830,"nodeType":"FunctionDefinition","src":"89312:58:14","nodes":[],"documentation":{"id":15825,"nodeType":"StructuredDocumentation","src":"89236:71:14","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:14","parameters":{"id":15828,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15827,"mutability":"mutable","name":"revertData","nameLocation":"89349:10:14","nodeType":"VariableDeclaration","scope":15830,"src":"89334:25:14","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":15826,"name":"bytes","nodeType":"ElementaryTypeName","src":"89334:5:14","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"89333:27:14"},"returnParameters":{"id":15829,"nodeType":"ParameterList","parameters":[],"src":"89369:0:14"},"scope":15857,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15838,"nodeType":"FunctionDefinition","src":"89599:59:14","nodes":[],"documentation":{"id":15831,"nodeType":"StructuredDocumentation","src":"89376:218:14","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:14","parameters":{"id":15836,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15833,"mutability":"mutable","name":"min","nameLocation":"89632:3:14","nodeType":"VariableDeclaration","scope":15838,"src":"89625:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":15832,"name":"uint64","nodeType":"ElementaryTypeName","src":"89625:6:14","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":15835,"mutability":"mutable","name":"max","nameLocation":"89644:3:14","nodeType":"VariableDeclaration","scope":15838,"src":"89637:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":15834,"name":"uint64","nodeType":"ElementaryTypeName","src":"89637:6:14","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"89624:24:14"},"returnParameters":{"id":15837,"nodeType":"ParameterList","parameters":[],"src":"89657:0:14"},"scope":15857,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15846,"nodeType":"FunctionDefinition","src":"89900:63:14","nodes":[],"documentation":{"id":15839,"nodeType":"StructuredDocumentation","src":"89664:231:14","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:14","parameters":{"id":15844,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15841,"mutability":"mutable","name":"min","nameLocation":"89937:3:14","nodeType":"VariableDeclaration","scope":15846,"src":"89930:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":15840,"name":"uint64","nodeType":"ElementaryTypeName","src":"89930:6:14","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":15843,"mutability":"mutable","name":"max","nameLocation":"89949:3:14","nodeType":"VariableDeclaration","scope":15846,"src":"89942:10:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":15842,"name":"uint64","nodeType":"ElementaryTypeName","src":"89942:6:14","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"89929:24:14"},"returnParameters":{"id":15845,"nodeType":"ParameterList","parameters":[],"src":"89962:0:14"},"scope":15857,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15852,"nodeType":"FunctionDefinition","src":"90041:38:14","nodes":[],"documentation":{"id":15847,"nodeType":"StructuredDocumentation","src":"89969:67:14","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:14","parameters":{"id":15850,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15849,"mutability":"mutable","name":"skipTest","nameLocation":"90060:8:14","nodeType":"VariableDeclaration","scope":15852,"src":"90055:13:14","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15848,"name":"bool","nodeType":"ElementaryTypeName","src":"90055:4:14","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"90054:15:14"},"returnParameters":{"id":15851,"nodeType":"ParameterList","parameters":[],"src":"90078:0:14"},"scope":15857,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15856,"nodeType":"FunctionDefinition","src":"90154:41:14","nodes":[],"documentation":{"id":15853,"nodeType":"StructuredDocumentation","src":"90085:64:14","text":"Stops all safe memory expectation in the current subcontext."},"functionSelector":"0956441b","implemented":false,"kind":"function","modifiers":[],"name":"stopExpectSafeMemory","nameLocation":"90163:20:14","parameters":{"id":15854,"nodeType":"ParameterList","parameters":[],"src":"90183:2:14"},"returnParameters":{"id":15855,"nodeType":"ParameterList","parameters":[],"src":"90194:0:14"},"scope":15857,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[{"baseName":{"id":15272,"name":"VmSafe","nameLocations":["76301:6:14"],"nodeType":"IdentifierPath","referencedDeclaration":15270,"src":"76301:6:14"},"id":15273,"nodeType":"InheritanceSpecifier","src":"76301:6:14"}],"canonicalName":"Vm","contractDependencies":[],"contractKind":"interface","documentation":{"id":15271,"nodeType":"StructuredDocumentation","src":"76114:171:14","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":[15857,15270],"name":"Vm","nameLocation":"76295:2:14","scope":15858,"usedErrors":[],"usedEvents":[]}],"license":"MIT OR Apache-2.0"},"id":14}