{"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.25+commit.b61c2a91\"},\"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.25+commit.b61c2a91"},"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":15819,"exportedSymbols":{"Vm":[15818],"VmSafe":[15231]},"nodeType":"SourceUnit","src":"117:90081:13","nodes":[{"id":12029,"nodeType":"PragmaDirective","src":"117:31:13","nodes":[],"literals":["solidity",">=","0.6",".2","<","0.9",".0"]},{"id":12030,"nodeType":"PragmaDirective","src":"149:33:13","nodes":[],"literals":["experimental","ABIEncoderV2"]},{"id":15231,"nodeType":"ContractDefinition","src":"409:75703:13","nodes":[{"id":12038,"nodeType":"EnumDefinition","src":"529:533:13","nodes":[],"canonicalName":"VmSafe.CallerMode","documentation":{"id":12032,"nodeType":"StructuredDocumentation","src":"432:92:13","text":"A modification applied to either `msg.sender` or `tx.origin`. Returned by `readCallers`."},"members":[{"id":12033,"name":"None","nameLocation":"610:4:13","nodeType":"EnumValue","src":"610:4:13"},{"id":12034,"name":"Broadcast","nameLocation":"714:9:13","nodeType":"EnumValue","src":"714:9:13"},{"id":12035,"name":"RecurrentBroadcast","nameLocation":"829:18:13","nodeType":"EnumValue","src":"829:18:13"},{"id":12036,"name":"Prank","nameLocation":"939:5:13","nodeType":"EnumValue","src":"939:5:13"},{"id":12037,"name":"RecurrentPrank","nameLocation":"1042:14:13","nodeType":"EnumValue","src":"1042:14:13"}],"name":"CallerMode","nameLocation":"534:10:13"},{"id":12051,"nodeType":"EnumDefinition","src":"1118:791:13","nodes":[],"canonicalName":"VmSafe.AccountAccessKind","documentation":{"id":12039,"nodeType":"StructuredDocumentation","src":"1068:45:13","text":"The kind of account access that occurred."},"members":[{"id":12040,"name":"Call","nameLocation":"1186:4:13","nodeType":"EnumValue","src":"1186:4:13"},{"id":12041,"name":"DelegateCall","nameLocation":"1252:12:13","nodeType":"EnumValue","src":"1252:12:13"},{"id":12042,"name":"CallCode","nameLocation":"1322:8:13","nodeType":"EnumValue","src":"1322:8:13"},{"id":12043,"name":"StaticCall","nameLocation":"1390:10:13","nodeType":"EnumValue","src":"1390:10:13"},{"id":12044,"name":"Create","nameLocation":"1446:6:13","nodeType":"EnumValue","src":"1446:6:13"},{"id":12045,"name":"SelfDestruct","nameLocation":"1505:12:13","nodeType":"EnumValue","src":"1505:12:13"},{"id":12046,"name":"Resume","nameLocation":"1644:6:13","nodeType":"EnumValue","src":"1644:6:13"},{"id":12047,"name":"Balance","nameLocation":"1703:7:13","nodeType":"EnumValue","src":"1703:7:13"},{"id":12048,"name":"Extcodesize","nameLocation":"1764:11:13","nodeType":"EnumValue","src":"1764:11:13"},{"id":12049,"name":"Extcodehash","nameLocation":"1829:11:13","nodeType":"EnumValue","src":"1829:11:13"},{"id":12050,"name":"Extcodecopy","nameLocation":"1892:11:13","nodeType":"EnumValue","src":"1892:11:13"}],"name":"AccountAccessKind","nameLocation":"1123:17:13"},{"id":12062,"nodeType":"EnumDefinition","src":"1949:683:13","nodes":[],"canonicalName":"VmSafe.ForgeContext","documentation":{"id":12052,"nodeType":"StructuredDocumentation","src":"1915:29:13","text":"Forge execution contexts."},"members":[{"id":12053,"name":"TestGroup","nameLocation":"2047:9:13","nodeType":"EnumValue","src":"2047:9:13"},{"id":12054,"name":"Test","nameLocation":"2109:4:13","nodeType":"EnumValue","src":"2109:4:13"},{"id":12055,"name":"Coverage","nameLocation":"2170:8:13","nodeType":"EnumValue","src":"2170:8:13"},{"id":12056,"name":"Snapshot","nameLocation":"2235:8:13","nodeType":"EnumValue","src":"2235:8:13"},{"id":12057,"name":"ScriptGroup","nameLocation":"2327:11:13","nodeType":"EnumValue","src":"2327:11:13"},{"id":12058,"name":"ScriptDryRun","nameLocation":"2393:12:13","nodeType":"EnumValue","src":"2393:12:13"},{"id":12059,"name":"ScriptBroadcast","nameLocation":"2472:15:13","nodeType":"EnumValue","src":"2472:15:13"},{"id":12060,"name":"ScriptResume","nameLocation":"2551:12:13","nodeType":"EnumValue","src":"2551:12:13"},{"id":12061,"name":"Unknown","nameLocation":"2619:7:13","nodeType":"EnumValue","src":"2619:7:13"}],"name":"ForgeContext","nameLocation":"1954:12:13"},{"id":12071,"nodeType":"StructDefinition","src":"2694:237:13","nodes":[],"canonicalName":"VmSafe.Log","documentation":{"id":12063,"nodeType":"StructuredDocumentation","src":"2638:51:13","text":"An Ethereum log. Returned by `getRecordedLogs`."},"members":[{"constant":false,"id":12066,"mutability":"mutable","name":"topics","nameLocation":"2792:6:13","nodeType":"VariableDeclaration","scope":12071,"src":"2782:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":12064,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2782:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":12065,"nodeType":"ArrayTypeName","src":"2782:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":12068,"mutability":"mutable","name":"data","nameLocation":"2850:4:13","nodeType":"VariableDeclaration","scope":12071,"src":"2844:10:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":12067,"name":"bytes","nodeType":"ElementaryTypeName","src":"2844:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":12070,"mutability":"mutable","name":"emitter","nameLocation":"2917:7:13","nodeType":"VariableDeclaration","scope":12071,"src":"2909:15:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12069,"name":"address","nodeType":"ElementaryTypeName","src":"2909:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"name":"Log","nameLocation":"2701:3:13","scope":15231,"visibility":"public"},{"id":12077,"nodeType":"StructDefinition","src":"3000:119:13","nodes":[],"canonicalName":"VmSafe.Rpc","documentation":{"id":12072,"nodeType":"StructuredDocumentation","src":"2937:58:13","text":"An RPC URL and its alias. Returned by `rpcUrlStructs`."},"members":[{"constant":false,"id":12074,"mutability":"mutable","name":"key","nameLocation":"3065:3:13","nodeType":"VariableDeclaration","scope":12077,"src":"3058:10:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":12073,"name":"string","nodeType":"ElementaryTypeName","src":"3058:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12076,"mutability":"mutable","name":"url","nameLocation":"3109:3:13","nodeType":"VariableDeclaration","scope":12077,"src":"3102:10:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":12075,"name":"string","nodeType":"ElementaryTypeName","src":"3102:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"name":"Rpc","nameLocation":"3007:3:13","scope":15231,"visibility":"public"},{"id":12098,"nodeType":"StructDefinition","src":"3179:615:13","nodes":[],"canonicalName":"VmSafe.EthGetLogs","documentation":{"id":12078,"nodeType":"StructuredDocumentation","src":"3125:49:13","text":"An RPC log object. Returned by `eth_getLogs`."},"members":[{"constant":false,"id":12080,"mutability":"mutable","name":"emitter","nameLocation":"3260:7:13","nodeType":"VariableDeclaration","scope":12098,"src":"3252:15:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12079,"name":"address","nodeType":"ElementaryTypeName","src":"3252:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12083,"mutability":"mutable","name":"topics","nameLocation":"3354:6:13","nodeType":"VariableDeclaration","scope":12098,"src":"3344:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":12081,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3344:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":12082,"nodeType":"ArrayTypeName","src":"3344:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":12085,"mutability":"mutable","name":"data","nameLocation":"3412:4:13","nodeType":"VariableDeclaration","scope":12098,"src":"3406:10:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":12084,"name":"bytes","nodeType":"ElementaryTypeName","src":"3406:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":12087,"mutability":"mutable","name":"blockHash","nameLocation":"3461:9:13","nodeType":"VariableDeclaration","scope":12098,"src":"3453:17:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12086,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3453:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":12089,"mutability":"mutable","name":"blockNumber","nameLocation":"3516:11:13","nodeType":"VariableDeclaration","scope":12098,"src":"3509:18:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":12088,"name":"uint64","nodeType":"ElementaryTypeName","src":"3509:6:13","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":12091,"mutability":"mutable","name":"transactionHash","nameLocation":"3578:15:13","nodeType":"VariableDeclaration","scope":12098,"src":"3570:23:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12090,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3570:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":12093,"mutability":"mutable","name":"transactionIndex","nameLocation":"3657:16:13","nodeType":"VariableDeclaration","scope":12098,"src":"3650:23:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":12092,"name":"uint64","nodeType":"ElementaryTypeName","src":"3650:6:13","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":12095,"mutability":"mutable","name":"logIndex","nameLocation":"3717:8:13","nodeType":"VariableDeclaration","scope":12098,"src":"3709:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12094,"name":"uint256","nodeType":"ElementaryTypeName","src":"3709:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":12097,"mutability":"mutable","name":"removed","nameLocation":"3780:7:13","nodeType":"VariableDeclaration","scope":12098,"src":"3775:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12096,"name":"bool","nodeType":"ElementaryTypeName","src":"3775:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"name":"EthGetLogs","nameLocation":"3186:10:13","scope":15231,"visibility":"public"},{"id":12110,"nodeType":"StructDefinition","src":"3870:334:13","nodes":[],"canonicalName":"VmSafe.DirEntry","documentation":{"id":12099,"nodeType":"StructuredDocumentation","src":"3800:65:13","text":"A single entry in a directory listing. Returned by `readDir`."},"members":[{"constant":false,"id":12101,"mutability":"mutable","name":"errorMessage","nameLocation":"3941:12:13","nodeType":"VariableDeclaration","scope":12110,"src":"3934:19:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":12100,"name":"string","nodeType":"ElementaryTypeName","src":"3934:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12103,"mutability":"mutable","name":"path","nameLocation":"4004:4:13","nodeType":"VariableDeclaration","scope":12110,"src":"3997:11:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"},"typeName":{"id":12102,"name":"string","nodeType":"ElementaryTypeName","src":"3997:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12105,"mutability":"mutable","name":"depth","nameLocation":"4060:5:13","nodeType":"VariableDeclaration","scope":12110,"src":"4053:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":12104,"name":"uint64","nodeType":"ElementaryTypeName","src":"4053:6:13","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":12107,"mutability":"mutable","name":"isDir","nameLocation":"4125:5:13","nodeType":"VariableDeclaration","scope":12110,"src":"4120:10:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12106,"name":"bool","nodeType":"ElementaryTypeName","src":"4120:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":12109,"mutability":"mutable","name":"isSymlink","nameLocation":"4188:9:13","nodeType":"VariableDeclaration","scope":12110,"src":"4183:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12108,"name":"bool","nodeType":"ElementaryTypeName","src":"4183:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"name":"DirEntry","nameLocation":"3877:8:13","scope":15231,"visibility":"public"},{"id":12126,"nodeType":"StructDefinition","src":"4434:599:13","nodes":[],"canonicalName":"VmSafe.FsMetadata","documentation":{"id":12111,"nodeType":"StructuredDocumentation","src":"4210:219:13","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":12113,"mutability":"mutable","name":"isDir","nameLocation":"4520:5:13","nodeType":"VariableDeclaration","scope":12126,"src":"4515:10:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12112,"name":"bool","nodeType":"ElementaryTypeName","src":"4515:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":12115,"mutability":"mutable","name":"isSymlink","nameLocation":"4591:9:13","nodeType":"VariableDeclaration","scope":12126,"src":"4586:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12114,"name":"bool","nodeType":"ElementaryTypeName","src":"4586:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":12117,"mutability":"mutable","name":"length","nameLocation":"4683:6:13","nodeType":"VariableDeclaration","scope":12126,"src":"4675:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12116,"name":"uint256","nodeType":"ElementaryTypeName","src":"4675:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":12119,"mutability":"mutable","name":"readOnly","nameLocation":"4774:8:13","nodeType":"VariableDeclaration","scope":12126,"src":"4769:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12118,"name":"bool","nodeType":"ElementaryTypeName","src":"4769:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":12121,"mutability":"mutable","name":"modified","nameLocation":"4863:8:13","nodeType":"VariableDeclaration","scope":12126,"src":"4855:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12120,"name":"uint256","nodeType":"ElementaryTypeName","src":"4855:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":12123,"mutability":"mutable","name":"accessed","nameLocation":"4939:8:13","nodeType":"VariableDeclaration","scope":12126,"src":"4931:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12122,"name":"uint256","nodeType":"ElementaryTypeName","src":"4931:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":12125,"mutability":"mutable","name":"created","nameLocation":"5019:7:13","nodeType":"VariableDeclaration","scope":12126,"src":"5011:15:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12124,"name":"uint256","nodeType":"ElementaryTypeName","src":"5011:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"FsMetadata","nameLocation":"4441:10:13","scope":15231,"visibility":"public"},{"id":12136,"nodeType":"StructDefinition","src":"5087:277:13","nodes":[],"canonicalName":"VmSafe.Wallet","documentation":{"id":12127,"nodeType":"StructuredDocumentation","src":"5039:43:13","text":"A wallet with a public and private key."},"members":[{"constant":false,"id":12129,"mutability":"mutable","name":"addr","nameLocation":"5152:4:13","nodeType":"VariableDeclaration","scope":12136,"src":"5144:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12128,"name":"address","nodeType":"ElementaryTypeName","src":"5144:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12131,"mutability":"mutable","name":"publicKeyX","nameLocation":"5214:10:13","nodeType":"VariableDeclaration","scope":12136,"src":"5206:18:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12130,"name":"uint256","nodeType":"ElementaryTypeName","src":"5206:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":12133,"mutability":"mutable","name":"publicKeyY","nameLocation":"5282:10:13","nodeType":"VariableDeclaration","scope":12136,"src":"5274:18:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12132,"name":"uint256","nodeType":"ElementaryTypeName","src":"5274:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":12135,"mutability":"mutable","name":"privateKey","nameLocation":"5347:10:13","nodeType":"VariableDeclaration","scope":12136,"src":"5339:18:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12134,"name":"uint256","nodeType":"ElementaryTypeName","src":"5339:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"Wallet","nameLocation":"5094:6:13","scope":15231,"visibility":"public"},{"id":12144,"nodeType":"StructDefinition","src":"5409:213:13","nodes":[],"canonicalName":"VmSafe.FfiResult","documentation":{"id":12137,"nodeType":"StructuredDocumentation","src":"5370:34:13","text":"The result of a `tryFfi` call."},"members":[{"constant":false,"id":12139,"mutability":"mutable","name":"exitCode","nameLocation":"5480:8:13","nodeType":"VariableDeclaration","scope":12144,"src":"5474:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":12138,"name":"int32","nodeType":"ElementaryTypeName","src":"5474:5:13","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"visibility":"internal"},{"constant":false,"id":12141,"mutability":"mutable","name":"stdout","nameLocation":"5557:6:13","nodeType":"VariableDeclaration","scope":12144,"src":"5551:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":12140,"name":"bytes","nodeType":"ElementaryTypeName","src":"5551:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":12143,"mutability":"mutable","name":"stderr","nameLocation":"5609:6:13","nodeType":"VariableDeclaration","scope":12144,"src":"5603:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":12142,"name":"bytes","nodeType":"ElementaryTypeName","src":"5603:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"name":"FfiResult","nameLocation":"5416:9:13","scope":15231,"visibility":"public"},{"id":12150,"nodeType":"StructDefinition","src":"5671:184:13","nodes":[],"canonicalName":"VmSafe.ChainInfo","documentation":{"id":12145,"nodeType":"StructuredDocumentation","src":"5628:38:13","text":"Information on the chain and fork."},"members":[{"constant":false,"id":12147,"mutability":"mutable","name":"forkId","nameLocation":"5772:6:13","nodeType":"VariableDeclaration","scope":12150,"src":"5764:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12146,"name":"uint256","nodeType":"ElementaryTypeName","src":"5764:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":12149,"mutability":"mutable","name":"chainId","nameLocation":"5841:7:13","nodeType":"VariableDeclaration","scope":12150,"src":"5833:15:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12148,"name":"uint256","nodeType":"ElementaryTypeName","src":"5833:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"name":"ChainInfo","nameLocation":"5678:9:13","scope":15231,"visibility":"public"},{"id":12182,"nodeType":"StructDefinition","src":"5916:1837:13","nodes":[],"canonicalName":"VmSafe.AccountAccess","documentation":{"id":12151,"nodeType":"StructuredDocumentation","src":"5861:50:13","text":"The result of a `stopAndReturnStateDiff` call."},"members":[{"constant":false,"id":12154,"mutability":"mutable","name":"chainInfo","nameLocation":"6008:9:13","nodeType":"VariableDeclaration","scope":12182,"src":"5998:19:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_struct$_ChainInfo_$12150_storage_ptr","typeString":"struct VmSafe.ChainInfo"},"typeName":{"id":12153,"nodeType":"UserDefinedTypeName","pathNode":{"id":12152,"name":"ChainInfo","nameLocations":["5998:9:13"],"nodeType":"IdentifierPath","referencedDeclaration":12150,"src":"5998:9:13"},"referencedDeclaration":12150,"src":"5998:9:13","typeDescriptions":{"typeIdentifier":"t_struct$_ChainInfo_$12150_storage_ptr","typeString":"struct VmSafe.ChainInfo"}},"visibility":"internal"},{"constant":false,"id":12157,"mutability":"mutable","name":"kind","nameLocation":"6471:4:13","nodeType":"VariableDeclaration","scope":12182,"src":"6453:22:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_AccountAccessKind_$12051","typeString":"enum VmSafe.AccountAccessKind"},"typeName":{"id":12156,"nodeType":"UserDefinedTypeName","pathNode":{"id":12155,"name":"AccountAccessKind","nameLocations":["6453:17:13"],"nodeType":"IdentifierPath","referencedDeclaration":12051,"src":"6453:17:13"},"referencedDeclaration":12051,"src":"6453:17:13","typeDescriptions":{"typeIdentifier":"t_enum$_AccountAccessKind_$12051","typeString":"enum VmSafe.AccountAccessKind"}},"visibility":"internal"},{"constant":false,"id":12159,"mutability":"mutable","name":"account","nameLocation":"6648:7:13","nodeType":"VariableDeclaration","scope":12182,"src":"6640:15:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12158,"name":"address","nodeType":"ElementaryTypeName","src":"6640:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12161,"mutability":"mutable","name":"accessor","nameLocation":"6711:8:13","nodeType":"VariableDeclaration","scope":12182,"src":"6703:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12160,"name":"address","nodeType":"ElementaryTypeName","src":"6703:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12163,"mutability":"mutable","name":"initialized","nameLocation":"6922:11:13","nodeType":"VariableDeclaration","scope":12182,"src":"6917:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12162,"name":"bool","nodeType":"ElementaryTypeName","src":"6917:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":12165,"mutability":"mutable","name":"oldBalance","nameLocation":"7008:10:13","nodeType":"VariableDeclaration","scope":12182,"src":"7000:18:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12164,"name":"uint256","nodeType":"ElementaryTypeName","src":"7000:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":12167,"mutability":"mutable","name":"newBalance","nameLocation":"7183:10:13","nodeType":"VariableDeclaration","scope":12182,"src":"7175:18:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12166,"name":"uint256","nodeType":"ElementaryTypeName","src":"7175:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":12169,"mutability":"mutable","name":"deployedCode","nameLocation":"7260:12:13","nodeType":"VariableDeclaration","scope":12182,"src":"7254:18:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":12168,"name":"bytes","nodeType":"ElementaryTypeName","src":"7254:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":12171,"mutability":"mutable","name":"value","nameLocation":"7344:5:13","nodeType":"VariableDeclaration","scope":12182,"src":"7336:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12170,"name":"uint256","nodeType":"ElementaryTypeName","src":"7336:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":12173,"mutability":"mutable","name":"data","nameLocation":"7418:4:13","nodeType":"VariableDeclaration","scope":12182,"src":"7412:10:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"},"typeName":{"id":12172,"name":"bytes","nodeType":"ElementaryTypeName","src":"7412:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":12175,"mutability":"mutable","name":"reverted","nameLocation":"7513:8:13","nodeType":"VariableDeclaration","scope":12182,"src":"7508:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12174,"name":"bool","nodeType":"ElementaryTypeName","src":"7508:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":12179,"mutability":"mutable","name":"storageAccesses","nameLocation":"7635:15:13","nodeType":"VariableDeclaration","scope":12182,"src":"7619:31:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_StorageAccess_$12196_storage_$dyn_storage_ptr","typeString":"struct VmSafe.StorageAccess[]"},"typeName":{"baseType":{"id":12177,"nodeType":"UserDefinedTypeName","pathNode":{"id":12176,"name":"StorageAccess","nameLocations":["7619:13:13"],"nodeType":"IdentifierPath","referencedDeclaration":12196,"src":"7619:13:13"},"referencedDeclaration":12196,"src":"7619:13:13","typeDescriptions":{"typeIdentifier":"t_struct$_StorageAccess_$12196_storage_ptr","typeString":"struct VmSafe.StorageAccess"}},"id":12178,"nodeType":"ArrayTypeName","src":"7619:15:13","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_StorageAccess_$12196_storage_$dyn_storage_ptr","typeString":"struct VmSafe.StorageAccess[]"}},"visibility":"internal"},{"constant":false,"id":12181,"mutability":"mutable","name":"depth","nameLocation":"7741:5:13","nodeType":"VariableDeclaration","scope":12182,"src":"7734:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":12180,"name":"uint64","nodeType":"ElementaryTypeName","src":"7734:6:13","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"name":"AccountAccess","nameLocation":"5923:13:13","scope":15231,"visibility":"public"},{"id":12196,"nodeType":"StructDefinition","src":"7815:425:13","nodes":[],"canonicalName":"VmSafe.StorageAccess","documentation":{"id":12183,"nodeType":"StructuredDocumentation","src":"7759:51:13","text":"The storage accessed during an `AccountAccess`."},"members":[{"constant":false,"id":12185,"mutability":"mutable","name":"account","nameLocation":"7905:7:13","nodeType":"VariableDeclaration","scope":12196,"src":"7897:15:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12184,"name":"address","nodeType":"ElementaryTypeName","src":"7897:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12187,"mutability":"mutable","name":"slot","nameLocation":"7969:4:13","nodeType":"VariableDeclaration","scope":12196,"src":"7961:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12186,"name":"bytes32","nodeType":"ElementaryTypeName","src":"7961:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":12189,"mutability":"mutable","name":"isWrite","nameLocation":"8026:7:13","nodeType":"VariableDeclaration","scope":12196,"src":"8021:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12188,"name":"bool","nodeType":"ElementaryTypeName","src":"8021:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":12191,"mutability":"mutable","name":"previousValue","nameLocation":"8094:13:13","nodeType":"VariableDeclaration","scope":12196,"src":"8086:21:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12190,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8086:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":12193,"mutability":"mutable","name":"newValue","nameLocation":"8163:8:13","nodeType":"VariableDeclaration","scope":12196,"src":"8155:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12192,"name":"bytes32","nodeType":"ElementaryTypeName","src":"8155:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":12195,"mutability":"mutable","name":"reverted","nameLocation":"8225:8:13","nodeType":"VariableDeclaration","scope":12196,"src":"8220:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12194,"name":"bool","nodeType":"ElementaryTypeName","src":"8220:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"name":"StorageAccess","nameLocation":"7822:13:13","scope":15231,"visibility":"public"},{"id":12208,"nodeType":"StructDefinition","src":"8291:362:13","nodes":[],"canonicalName":"VmSafe.Gas","documentation":{"id":12197,"nodeType":"StructuredDocumentation","src":"8246:40:13","text":"Gas used. Returned by `lastCallGas`."},"members":[{"constant":false,"id":12199,"mutability":"mutable","name":"gasLimit","nameLocation":"8357:8:13","nodeType":"VariableDeclaration","scope":12208,"src":"8350:15:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":12198,"name":"uint64","nodeType":"ElementaryTypeName","src":"8350:6:13","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":12201,"mutability":"mutable","name":"gasTotalUsed","nameLocation":"8413:12:13","nodeType":"VariableDeclaration","scope":12208,"src":"8406:19:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":12200,"name":"uint64","nodeType":"ElementaryTypeName","src":"8406:6:13","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":12203,"mutability":"mutable","name":"gasMemoryUsed","nameLocation":"8498:13:13","nodeType":"VariableDeclaration","scope":12208,"src":"8491:20:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":12202,"name":"uint64","nodeType":"ElementaryTypeName","src":"8491:6:13","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":12205,"mutability":"mutable","name":"gasRefunded","nameLocation":"8566:11:13","nodeType":"VariableDeclaration","scope":12208,"src":"8560:17:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"},"typeName":{"id":12204,"name":"int64","nodeType":"ElementaryTypeName","src":"8560:5:13","typeDescriptions":{"typeIdentifier":"t_int64","typeString":"int64"}},"visibility":"internal"},{"constant":false,"id":12207,"mutability":"mutable","name":"gasRemaining","nameLocation":"8634:12:13","nodeType":"VariableDeclaration","scope":12208,"src":"8627:19:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":12206,"name":"uint64","nodeType":"ElementaryTypeName","src":"8627:6:13","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"name":"Gas","nameLocation":"8298:3:13","scope":15231,"visibility":"public"},{"id":12216,"nodeType":"FunctionDefinition","src":"8840:80:13","nodes":[],"documentation":{"id":12209,"nodeType":"StructuredDocumentation","src":"8697:138:13","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:13","parameters":{"id":12212,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12211,"mutability":"mutable","name":"name","nameLocation":"8876:4:13","nodeType":"VariableDeclaration","scope":12216,"src":"8860:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12210,"name":"string","nodeType":"ElementaryTypeName","src":"8860:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"8859:22:13"},"returnParameters":{"id":12215,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12214,"mutability":"mutable","name":"value","nameLocation":"8913:5:13","nodeType":"VariableDeclaration","scope":12216,"src":"8905:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12213,"name":"address","nodeType":"ElementaryTypeName","src":"8905:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"8904:15:13"},"scope":15231,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":12227,"nodeType":"FunctionDefinition","src":"9103:112:13","nodes":[],"documentation":{"id":12217,"nodeType":"StructuredDocumentation","src":"8926:172:13","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:13","parameters":{"id":12222,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12219,"mutability":"mutable","name":"name","nameLocation":"9139:4:13","nodeType":"VariableDeclaration","scope":12227,"src":"9123:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12218,"name":"string","nodeType":"ElementaryTypeName","src":"9123:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12221,"mutability":"mutable","name":"delim","nameLocation":"9161:5:13","nodeType":"VariableDeclaration","scope":12227,"src":"9145:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12220,"name":"string","nodeType":"ElementaryTypeName","src":"9145:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9122:45:13"},"returnParameters":{"id":12226,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12225,"mutability":"mutable","name":"value","nameLocation":"9208:5:13","nodeType":"VariableDeclaration","scope":12227,"src":"9191:22:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":12223,"name":"address","nodeType":"ElementaryTypeName","src":"9191:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":12224,"nodeType":"ArrayTypeName","src":"9191:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"9190:24:13"},"scope":15231,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":12235,"nodeType":"FunctionDefinition","src":"9361:74:13","nodes":[],"documentation":{"id":12228,"nodeType":"StructuredDocumentation","src":"9221:135:13","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:13","parameters":{"id":12231,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12230,"mutability":"mutable","name":"name","nameLocation":"9394:4:13","nodeType":"VariableDeclaration","scope":12235,"src":"9378:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12229,"name":"string","nodeType":"ElementaryTypeName","src":"9378:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9377:22:13"},"returnParameters":{"id":12234,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12233,"mutability":"mutable","name":"value","nameLocation":"9428:5:13","nodeType":"VariableDeclaration","scope":12235,"src":"9423:10:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12232,"name":"bool","nodeType":"ElementaryTypeName","src":"9423:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"9422:12:13"},"scope":15231,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":12246,"nodeType":"FunctionDefinition","src":"9615:106:13","nodes":[],"documentation":{"id":12236,"nodeType":"StructuredDocumentation","src":"9441:169:13","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:13","parameters":{"id":12241,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12238,"mutability":"mutable","name":"name","nameLocation":"9648:4:13","nodeType":"VariableDeclaration","scope":12246,"src":"9632:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12237,"name":"string","nodeType":"ElementaryTypeName","src":"9632:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12240,"mutability":"mutable","name":"delim","nameLocation":"9670:5:13","nodeType":"VariableDeclaration","scope":12246,"src":"9654:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12239,"name":"string","nodeType":"ElementaryTypeName","src":"9654:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9631:45:13"},"returnParameters":{"id":12245,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12244,"mutability":"mutable","name":"value","nameLocation":"9714:5:13","nodeType":"VariableDeclaration","scope":12246,"src":"9700:19:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":12242,"name":"bool","nodeType":"ElementaryTypeName","src":"9700:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":12243,"nodeType":"ArrayTypeName","src":"9700:6:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"}],"src":"9699:21:13"},"scope":15231,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":12254,"nodeType":"FunctionDefinition","src":"9870:80:13","nodes":[],"documentation":{"id":12247,"nodeType":"StructuredDocumentation","src":"9727:138:13","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:13","parameters":{"id":12250,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12249,"mutability":"mutable","name":"name","nameLocation":"9906:4:13","nodeType":"VariableDeclaration","scope":12254,"src":"9890:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12248,"name":"string","nodeType":"ElementaryTypeName","src":"9890:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"9889:22:13"},"returnParameters":{"id":12253,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12252,"mutability":"mutable","name":"value","nameLocation":"9943:5:13","nodeType":"VariableDeclaration","scope":12254,"src":"9935:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12251,"name":"bytes32","nodeType":"ElementaryTypeName","src":"9935:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"9934:15:13"},"scope":15231,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":12265,"nodeType":"FunctionDefinition","src":"10133:112:13","nodes":[],"documentation":{"id":12255,"nodeType":"StructuredDocumentation","src":"9956:172:13","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:13","parameters":{"id":12260,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12257,"mutability":"mutable","name":"name","nameLocation":"10169:4:13","nodeType":"VariableDeclaration","scope":12265,"src":"10153:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12256,"name":"string","nodeType":"ElementaryTypeName","src":"10153:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12259,"mutability":"mutable","name":"delim","nameLocation":"10191:5:13","nodeType":"VariableDeclaration","scope":12265,"src":"10175:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12258,"name":"string","nodeType":"ElementaryTypeName","src":"10175:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"10152:45:13"},"returnParameters":{"id":12264,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12263,"mutability":"mutable","name":"value","nameLocation":"10238:5:13","nodeType":"VariableDeclaration","scope":12265,"src":"10221:22:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":12261,"name":"bytes32","nodeType":"ElementaryTypeName","src":"10221:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":12262,"nodeType":"ArrayTypeName","src":"10221:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"10220:24:13"},"scope":15231,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":12273,"nodeType":"FunctionDefinition","src":"10392:83:13","nodes":[],"documentation":{"id":12266,"nodeType":"StructuredDocumentation","src":"10251:136:13","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:13","parameters":{"id":12269,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12268,"mutability":"mutable","name":"name","nameLocation":"10426:4:13","nodeType":"VariableDeclaration","scope":12273,"src":"10410:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12267,"name":"string","nodeType":"ElementaryTypeName","src":"10410:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"10409:22:13"},"returnParameters":{"id":12272,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12271,"mutability":"mutable","name":"value","nameLocation":"10468:5:13","nodeType":"VariableDeclaration","scope":12273,"src":"10455:18:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":12270,"name":"bytes","nodeType":"ElementaryTypeName","src":"10455:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"10454:20:13"},"scope":15231,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":12284,"nodeType":"FunctionDefinition","src":"10656:108:13","nodes":[],"documentation":{"id":12274,"nodeType":"StructuredDocumentation","src":"10481:170:13","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:13","parameters":{"id":12279,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12276,"mutability":"mutable","name":"name","nameLocation":"10690:4:13","nodeType":"VariableDeclaration","scope":12284,"src":"10674:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12275,"name":"string","nodeType":"ElementaryTypeName","src":"10674:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12278,"mutability":"mutable","name":"delim","nameLocation":"10712:5:13","nodeType":"VariableDeclaration","scope":12284,"src":"10696:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12277,"name":"string","nodeType":"ElementaryTypeName","src":"10696:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"10673:45:13"},"returnParameters":{"id":12283,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12282,"mutability":"mutable","name":"value","nameLocation":"10757:5:13","nodeType":"VariableDeclaration","scope":12284,"src":"10742:20:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":12280,"name":"bytes","nodeType":"ElementaryTypeName","src":"10742:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":12281,"nodeType":"ArrayTypeName","src":"10742:7:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"10741:22:13"},"scope":15231,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":12292,"nodeType":"FunctionDefinition","src":"10866:77:13","nodes":[],"documentation":{"id":12285,"nodeType":"StructuredDocumentation","src":"10770:91:13","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:13","parameters":{"id":12288,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12287,"mutability":"mutable","name":"name","nameLocation":"10901:4:13","nodeType":"VariableDeclaration","scope":12292,"src":"10885:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12286,"name":"string","nodeType":"ElementaryTypeName","src":"10885:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"10884:22:13"},"returnParameters":{"id":12291,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12290,"mutability":"mutable","name":"result","nameLocation":"10935:6:13","nodeType":"VariableDeclaration","scope":12292,"src":"10930:11:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12289,"name":"bool","nodeType":"ElementaryTypeName","src":"10930:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"10929:13:13"},"scope":15231,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":12300,"nodeType":"FunctionDefinition","src":"11091:75:13","nodes":[],"documentation":{"id":12293,"nodeType":"StructuredDocumentation","src":"10949:137:13","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:13","parameters":{"id":12296,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12295,"mutability":"mutable","name":"name","nameLocation":"11123:4:13","nodeType":"VariableDeclaration","scope":12300,"src":"11107:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12294,"name":"string","nodeType":"ElementaryTypeName","src":"11107:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"11106:22:13"},"returnParameters":{"id":12299,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12298,"mutability":"mutable","name":"value","nameLocation":"11159:5:13","nodeType":"VariableDeclaration","scope":12300,"src":"11152:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":12297,"name":"int256","nodeType":"ElementaryTypeName","src":"11152:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"11151:14:13"},"scope":15231,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":12311,"nodeType":"FunctionDefinition","src":"11348:107:13","nodes":[],"documentation":{"id":12301,"nodeType":"StructuredDocumentation","src":"11172:171:13","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:13","parameters":{"id":12306,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12303,"mutability":"mutable","name":"name","nameLocation":"11380:4:13","nodeType":"VariableDeclaration","scope":12311,"src":"11364:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12302,"name":"string","nodeType":"ElementaryTypeName","src":"11364:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12305,"mutability":"mutable","name":"delim","nameLocation":"11402:5:13","nodeType":"VariableDeclaration","scope":12311,"src":"11386:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12304,"name":"string","nodeType":"ElementaryTypeName","src":"11386:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"11363:45:13"},"returnParameters":{"id":12310,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12309,"mutability":"mutable","name":"value","nameLocation":"11448:5:13","nodeType":"VariableDeclaration","scope":12311,"src":"11432:21:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":12307,"name":"int256","nodeType":"ElementaryTypeName","src":"11432:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":12308,"nodeType":"ArrayTypeName","src":"11432:8:13","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"11431:23:13"},"scope":15231,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":12321,"nodeType":"FunctionDefinition","src":"11646:91:13","nodes":[],"documentation":{"id":12312,"nodeType":"StructuredDocumentation","src":"11461:180:13","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:13","parameters":{"id":12317,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12314,"mutability":"mutable","name":"name","nameLocation":"11677:4:13","nodeType":"VariableDeclaration","scope":12321,"src":"11661:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12313,"name":"string","nodeType":"ElementaryTypeName","src":"11661:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12316,"mutability":"mutable","name":"defaultValue","nameLocation":"11688:12:13","nodeType":"VariableDeclaration","scope":12321,"src":"11683:17:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12315,"name":"bool","nodeType":"ElementaryTypeName","src":"11683:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"11660:41:13"},"returnParameters":{"id":12320,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12319,"mutability":"mutable","name":"value","nameLocation":"11730:5:13","nodeType":"VariableDeclaration","scope":12321,"src":"11725:10:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12318,"name":"bool","nodeType":"ElementaryTypeName","src":"11725:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"11724:12:13"},"scope":15231,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":12331,"nodeType":"FunctionDefinition","src":"11931:97:13","nodes":[],"documentation":{"id":12322,"nodeType":"StructuredDocumentation","src":"11743:183:13","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:13","parameters":{"id":12327,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12324,"mutability":"mutable","name":"name","nameLocation":"11962:4:13","nodeType":"VariableDeclaration","scope":12331,"src":"11946:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12323,"name":"string","nodeType":"ElementaryTypeName","src":"11946:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12326,"mutability":"mutable","name":"defaultValue","nameLocation":"11976:12:13","nodeType":"VariableDeclaration","scope":12331,"src":"11968:20:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12325,"name":"uint256","nodeType":"ElementaryTypeName","src":"11968:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"11945:44:13"},"returnParameters":{"id":12330,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12329,"mutability":"mutable","name":"value","nameLocation":"12021:5:13","nodeType":"VariableDeclaration","scope":12331,"src":"12013:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12328,"name":"uint256","nodeType":"ElementaryTypeName","src":"12013:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"12012:15:13"},"scope":15231,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":12345,"nodeType":"FunctionDefinition","src":"12256:164:13","nodes":[],"documentation":{"id":12332,"nodeType":"StructuredDocumentation","src":"12034:217:13","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:13","parameters":{"id":12340,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12334,"mutability":"mutable","name":"name","nameLocation":"12287:4:13","nodeType":"VariableDeclaration","scope":12345,"src":"12271:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12333,"name":"string","nodeType":"ElementaryTypeName","src":"12271:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12336,"mutability":"mutable","name":"delim","nameLocation":"12309:5:13","nodeType":"VariableDeclaration","scope":12345,"src":"12293:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12335,"name":"string","nodeType":"ElementaryTypeName","src":"12293:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12339,"mutability":"mutable","name":"defaultValue","nameLocation":"12335:12:13","nodeType":"VariableDeclaration","scope":12345,"src":"12316:31:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":12337,"name":"address","nodeType":"ElementaryTypeName","src":"12316:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":12338,"nodeType":"ArrayTypeName","src":"12316:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"12270:78:13"},"returnParameters":{"id":12344,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12343,"mutability":"mutable","name":"value","nameLocation":"12413:5:13","nodeType":"VariableDeclaration","scope":12345,"src":"12396:22:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":12341,"name":"address","nodeType":"ElementaryTypeName","src":"12396:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":12342,"nodeType":"ArrayTypeName","src":"12396:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"12395:24:13"},"scope":15231,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":12359,"nodeType":"FunctionDefinition","src":"12648:164:13","nodes":[],"documentation":{"id":12346,"nodeType":"StructuredDocumentation","src":"12426:217:13","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:13","parameters":{"id":12354,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12348,"mutability":"mutable","name":"name","nameLocation":"12679:4:13","nodeType":"VariableDeclaration","scope":12359,"src":"12663:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12347,"name":"string","nodeType":"ElementaryTypeName","src":"12663:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12350,"mutability":"mutable","name":"delim","nameLocation":"12701:5:13","nodeType":"VariableDeclaration","scope":12359,"src":"12685:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12349,"name":"string","nodeType":"ElementaryTypeName","src":"12685:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12353,"mutability":"mutable","name":"defaultValue","nameLocation":"12727:12:13","nodeType":"VariableDeclaration","scope":12359,"src":"12708:31:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_calldata_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":12351,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12708:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":12352,"nodeType":"ArrayTypeName","src":"12708:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"12662:78:13"},"returnParameters":{"id":12358,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12357,"mutability":"mutable","name":"value","nameLocation":"12805:5:13","nodeType":"VariableDeclaration","scope":12359,"src":"12788:22:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":12355,"name":"bytes32","nodeType":"ElementaryTypeName","src":"12788:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":12356,"nodeType":"ArrayTypeName","src":"12788:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"12787:24:13"},"scope":15231,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":12373,"nodeType":"FunctionDefinition","src":"13039:162:13","nodes":[],"documentation":{"id":12360,"nodeType":"StructuredDocumentation","src":"12818:216:13","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:13","parameters":{"id":12368,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12362,"mutability":"mutable","name":"name","nameLocation":"13070:4:13","nodeType":"VariableDeclaration","scope":12373,"src":"13054:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12361,"name":"string","nodeType":"ElementaryTypeName","src":"13054:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12364,"mutability":"mutable","name":"delim","nameLocation":"13092:5:13","nodeType":"VariableDeclaration","scope":12373,"src":"13076:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12363,"name":"string","nodeType":"ElementaryTypeName","src":"13076:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12367,"mutability":"mutable","name":"defaultValue","nameLocation":"13117:12:13","nodeType":"VariableDeclaration","scope":12373,"src":"13099:30:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_string_calldata_ptr_$dyn_calldata_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":12365,"name":"string","nodeType":"ElementaryTypeName","src":"13099:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":12366,"nodeType":"ArrayTypeName","src":"13099:8:13","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"13053:77:13"},"returnParameters":{"id":12372,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12371,"mutability":"mutable","name":"value","nameLocation":"13194:5:13","nodeType":"VariableDeclaration","scope":12373,"src":"13178:21:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":12369,"name":"string","nodeType":"ElementaryTypeName","src":"13178:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":12370,"nodeType":"ArrayTypeName","src":"13178:8:13","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"13177:23:13"},"scope":15231,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":12387,"nodeType":"FunctionDefinition","src":"13427:160:13","nodes":[],"documentation":{"id":12374,"nodeType":"StructuredDocumentation","src":"13207:215:13","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:13","parameters":{"id":12382,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12376,"mutability":"mutable","name":"name","nameLocation":"13458:4:13","nodeType":"VariableDeclaration","scope":12387,"src":"13442:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12375,"name":"string","nodeType":"ElementaryTypeName","src":"13442:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12378,"mutability":"mutable","name":"delim","nameLocation":"13480:5:13","nodeType":"VariableDeclaration","scope":12387,"src":"13464:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12377,"name":"string","nodeType":"ElementaryTypeName","src":"13464:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12381,"mutability":"mutable","name":"defaultValue","nameLocation":"13504:12:13","nodeType":"VariableDeclaration","scope":12387,"src":"13487:29:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":12379,"name":"bytes","nodeType":"ElementaryTypeName","src":"13487:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":12380,"nodeType":"ArrayTypeName","src":"13487:7:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"13441:76:13"},"returnParameters":{"id":12386,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12385,"mutability":"mutable","name":"value","nameLocation":"13580:5:13","nodeType":"VariableDeclaration","scope":12387,"src":"13565:20:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":12383,"name":"bytes","nodeType":"ElementaryTypeName","src":"13565:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":12384,"nodeType":"ArrayTypeName","src":"13565:7:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"13564:22:13"},"scope":15231,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":12397,"nodeType":"FunctionDefinition","src":"13780:95:13","nodes":[],"documentation":{"id":12388,"nodeType":"StructuredDocumentation","src":"13593:182:13","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:13","parameters":{"id":12393,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12390,"mutability":"mutable","name":"name","nameLocation":"13811:4:13","nodeType":"VariableDeclaration","scope":12397,"src":"13795:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12389,"name":"string","nodeType":"ElementaryTypeName","src":"13795:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12392,"mutability":"mutable","name":"defaultValue","nameLocation":"13824:12:13","nodeType":"VariableDeclaration","scope":12397,"src":"13817:19:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":12391,"name":"int256","nodeType":"ElementaryTypeName","src":"13817:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"13794:43:13"},"returnParameters":{"id":12396,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12395,"mutability":"mutable","name":"value","nameLocation":"13868:5:13","nodeType":"VariableDeclaration","scope":12397,"src":"13861:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":12394,"name":"int256","nodeType":"ElementaryTypeName","src":"13861:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"13860:14:13"},"scope":15231,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":12407,"nodeType":"FunctionDefinition","src":"14069:97:13","nodes":[],"documentation":{"id":12398,"nodeType":"StructuredDocumentation","src":"13881:183:13","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:13","parameters":{"id":12403,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12400,"mutability":"mutable","name":"name","nameLocation":"14100:4:13","nodeType":"VariableDeclaration","scope":12407,"src":"14084:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12399,"name":"string","nodeType":"ElementaryTypeName","src":"14084:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12402,"mutability":"mutable","name":"defaultValue","nameLocation":"14114:12:13","nodeType":"VariableDeclaration","scope":12407,"src":"14106:20:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12401,"name":"address","nodeType":"ElementaryTypeName","src":"14106:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"14083:44:13"},"returnParameters":{"id":12406,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12405,"mutability":"mutable","name":"value","nameLocation":"14159:5:13","nodeType":"VariableDeclaration","scope":12407,"src":"14151:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12404,"name":"address","nodeType":"ElementaryTypeName","src":"14151:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"14150:15:13"},"scope":15231,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":12417,"nodeType":"FunctionDefinition","src":"14360:97:13","nodes":[],"documentation":{"id":12408,"nodeType":"StructuredDocumentation","src":"14172:183:13","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:13","parameters":{"id":12413,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12410,"mutability":"mutable","name":"name","nameLocation":"14391:4:13","nodeType":"VariableDeclaration","scope":12417,"src":"14375:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12409,"name":"string","nodeType":"ElementaryTypeName","src":"14375:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12412,"mutability":"mutable","name":"defaultValue","nameLocation":"14405:12:13","nodeType":"VariableDeclaration","scope":12417,"src":"14397:20:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12411,"name":"bytes32","nodeType":"ElementaryTypeName","src":"14397:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"14374:44:13"},"returnParameters":{"id":12416,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12415,"mutability":"mutable","name":"value","nameLocation":"14450:5:13","nodeType":"VariableDeclaration","scope":12417,"src":"14442:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12414,"name":"bytes32","nodeType":"ElementaryTypeName","src":"14442:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"14441:15:13"},"scope":15231,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":12427,"nodeType":"FunctionDefinition","src":"14650:111:13","nodes":[],"documentation":{"id":12418,"nodeType":"StructuredDocumentation","src":"14463:182:13","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:13","parameters":{"id":12423,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12420,"mutability":"mutable","name":"name","nameLocation":"14681:4:13","nodeType":"VariableDeclaration","scope":12427,"src":"14665:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12419,"name":"string","nodeType":"ElementaryTypeName","src":"14665:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12422,"mutability":"mutable","name":"defaultValue","nameLocation":"14703:12:13","nodeType":"VariableDeclaration","scope":12427,"src":"14687:28:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12421,"name":"string","nodeType":"ElementaryTypeName","src":"14687:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"14664:52:13"},"returnParameters":{"id":12426,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12425,"mutability":"mutable","name":"value","nameLocation":"14754:5:13","nodeType":"VariableDeclaration","scope":12427,"src":"14740:19:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12424,"name":"string","nodeType":"ElementaryTypeName","src":"14740:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"14739:21:13"},"scope":15231,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":12437,"nodeType":"FunctionDefinition","src":"14953:109:13","nodes":[],"documentation":{"id":12428,"nodeType":"StructuredDocumentation","src":"14767:181:13","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:13","parameters":{"id":12433,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12430,"mutability":"mutable","name":"name","nameLocation":"14984:4:13","nodeType":"VariableDeclaration","scope":12437,"src":"14968:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12429,"name":"string","nodeType":"ElementaryTypeName","src":"14968:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12432,"mutability":"mutable","name":"defaultValue","nameLocation":"15005:12:13","nodeType":"VariableDeclaration","scope":12437,"src":"14990:27:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":12431,"name":"bytes","nodeType":"ElementaryTypeName","src":"14990:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"14967:51:13"},"returnParameters":{"id":12436,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12435,"mutability":"mutable","name":"value","nameLocation":"15055:5:13","nodeType":"VariableDeclaration","scope":12437,"src":"15042:18:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":12434,"name":"bytes","nodeType":"ElementaryTypeName","src":"15042:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"15041:20:13"},"scope":15231,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":12451,"nodeType":"FunctionDefinition","src":"15287:158:13","nodes":[],"documentation":{"id":12438,"nodeType":"StructuredDocumentation","src":"15068:214:13","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:13","parameters":{"id":12446,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12440,"mutability":"mutable","name":"name","nameLocation":"15318:4:13","nodeType":"VariableDeclaration","scope":12451,"src":"15302:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12439,"name":"string","nodeType":"ElementaryTypeName","src":"15302:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12442,"mutability":"mutable","name":"delim","nameLocation":"15340:5:13","nodeType":"VariableDeclaration","scope":12451,"src":"15324:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12441,"name":"string","nodeType":"ElementaryTypeName","src":"15324:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12445,"mutability":"mutable","name":"defaultValue","nameLocation":"15363:12:13","nodeType":"VariableDeclaration","scope":12451,"src":"15347:28:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_calldata_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":12443,"name":"bool","nodeType":"ElementaryTypeName","src":"15347:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":12444,"nodeType":"ArrayTypeName","src":"15347:6:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"}],"src":"15301:75:13"},"returnParameters":{"id":12450,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12449,"mutability":"mutable","name":"value","nameLocation":"15438:5:13","nodeType":"VariableDeclaration","scope":12451,"src":"15424:19:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":12447,"name":"bool","nodeType":"ElementaryTypeName","src":"15424:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":12448,"nodeType":"ArrayTypeName","src":"15424:6:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"}],"src":"15423:21:13"},"scope":15231,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":12465,"nodeType":"FunctionDefinition","src":"15673:164:13","nodes":[],"documentation":{"id":12452,"nodeType":"StructuredDocumentation","src":"15451:217:13","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:13","parameters":{"id":12460,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12454,"mutability":"mutable","name":"name","nameLocation":"15704:4:13","nodeType":"VariableDeclaration","scope":12465,"src":"15688:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12453,"name":"string","nodeType":"ElementaryTypeName","src":"15688:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12456,"mutability":"mutable","name":"delim","nameLocation":"15726:5:13","nodeType":"VariableDeclaration","scope":12465,"src":"15710:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12455,"name":"string","nodeType":"ElementaryTypeName","src":"15710:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12459,"mutability":"mutable","name":"defaultValue","nameLocation":"15752:12:13","nodeType":"VariableDeclaration","scope":12465,"src":"15733:31:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":12457,"name":"uint256","nodeType":"ElementaryTypeName","src":"15733:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":12458,"nodeType":"ArrayTypeName","src":"15733:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"15687:78:13"},"returnParameters":{"id":12464,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12463,"mutability":"mutable","name":"value","nameLocation":"15830:5:13","nodeType":"VariableDeclaration","scope":12465,"src":"15813:22:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":12461,"name":"uint256","nodeType":"ElementaryTypeName","src":"15813:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":12462,"nodeType":"ArrayTypeName","src":"15813:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"15812:24:13"},"scope":15231,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":12479,"nodeType":"FunctionDefinition","src":"16064:162:13","nodes":[],"documentation":{"id":12466,"nodeType":"StructuredDocumentation","src":"15843:216:13","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:13","parameters":{"id":12474,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12468,"mutability":"mutable","name":"name","nameLocation":"16095:4:13","nodeType":"VariableDeclaration","scope":12479,"src":"16079:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12467,"name":"string","nodeType":"ElementaryTypeName","src":"16079:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12470,"mutability":"mutable","name":"delim","nameLocation":"16117:5:13","nodeType":"VariableDeclaration","scope":12479,"src":"16101:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12469,"name":"string","nodeType":"ElementaryTypeName","src":"16101:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12473,"mutability":"mutable","name":"defaultValue","nameLocation":"16142:12:13","nodeType":"VariableDeclaration","scope":12479,"src":"16124:30:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_calldata_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":12471,"name":"int256","nodeType":"ElementaryTypeName","src":"16124:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":12472,"nodeType":"ArrayTypeName","src":"16124:8:13","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"16078:77:13"},"returnParameters":{"id":12478,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12477,"mutability":"mutable","name":"value","nameLocation":"16219:5:13","nodeType":"VariableDeclaration","scope":12479,"src":"16203:21:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":12475,"name":"int256","nodeType":"ElementaryTypeName","src":"16203:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":12476,"nodeType":"ArrayTypeName","src":"16203:8:13","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"16202:23:13"},"scope":15231,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":12487,"nodeType":"FunctionDefinition","src":"16374:85:13","nodes":[],"documentation":{"id":12480,"nodeType":"StructuredDocumentation","src":"16232:137:13","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:13","parameters":{"id":12483,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12482,"mutability":"mutable","name":"name","nameLocation":"16409:4:13","nodeType":"VariableDeclaration","scope":12487,"src":"16393:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12481,"name":"string","nodeType":"ElementaryTypeName","src":"16393:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"16392:22:13"},"returnParameters":{"id":12486,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12485,"mutability":"mutable","name":"value","nameLocation":"16452:5:13","nodeType":"VariableDeclaration","scope":12487,"src":"16438:19:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12484,"name":"string","nodeType":"ElementaryTypeName","src":"16438:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"16437:21:13"},"scope":15231,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":12498,"nodeType":"FunctionDefinition","src":"16641:110:13","nodes":[],"documentation":{"id":12488,"nodeType":"StructuredDocumentation","src":"16465:171:13","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:13","parameters":{"id":12493,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12490,"mutability":"mutable","name":"name","nameLocation":"16676:4:13","nodeType":"VariableDeclaration","scope":12498,"src":"16660:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12489,"name":"string","nodeType":"ElementaryTypeName","src":"16660:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12492,"mutability":"mutable","name":"delim","nameLocation":"16698:5:13","nodeType":"VariableDeclaration","scope":12498,"src":"16682:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12491,"name":"string","nodeType":"ElementaryTypeName","src":"16682:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"16659:45:13"},"returnParameters":{"id":12497,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12496,"mutability":"mutable","name":"value","nameLocation":"16744:5:13","nodeType":"VariableDeclaration","scope":12498,"src":"16728:21:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":12494,"name":"string","nodeType":"ElementaryTypeName","src":"16728:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":12495,"nodeType":"ArrayTypeName","src":"16728:8:13","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"16727:23:13"},"scope":15231,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":12506,"nodeType":"FunctionDefinition","src":"16900:77:13","nodes":[],"documentation":{"id":12499,"nodeType":"StructuredDocumentation","src":"16757:138:13","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:13","parameters":{"id":12502,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12501,"mutability":"mutable","name":"name","nameLocation":"16933:4:13","nodeType":"VariableDeclaration","scope":12506,"src":"16917:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12500,"name":"string","nodeType":"ElementaryTypeName","src":"16917:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"16916:22:13"},"returnParameters":{"id":12505,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12504,"mutability":"mutable","name":"value","nameLocation":"16970:5:13","nodeType":"VariableDeclaration","scope":12506,"src":"16962:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12503,"name":"uint256","nodeType":"ElementaryTypeName","src":"16962:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"16961:15:13"},"scope":15231,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":12517,"nodeType":"FunctionDefinition","src":"17160:109:13","nodes":[],"documentation":{"id":12507,"nodeType":"StructuredDocumentation","src":"16983:172:13","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:13","parameters":{"id":12512,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12509,"mutability":"mutable","name":"name","nameLocation":"17193:4:13","nodeType":"VariableDeclaration","scope":12517,"src":"17177:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12508,"name":"string","nodeType":"ElementaryTypeName","src":"17177:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12511,"mutability":"mutable","name":"delim","nameLocation":"17215:5:13","nodeType":"VariableDeclaration","scope":12517,"src":"17199:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12510,"name":"string","nodeType":"ElementaryTypeName","src":"17199:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"17176:45:13"},"returnParameters":{"id":12516,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12515,"mutability":"mutable","name":"value","nameLocation":"17262:5:13","nodeType":"VariableDeclaration","scope":12517,"src":"17245:22:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":12513,"name":"uint256","nodeType":"ElementaryTypeName","src":"17245:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":12514,"nodeType":"ArrayTypeName","src":"17245:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"17244:24:13"},"scope":15231,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":12526,"nodeType":"FunctionDefinition","src":"17346:77:13","nodes":[],"documentation":{"id":12518,"nodeType":"StructuredDocumentation","src":"17275:66:13","text":"Returns true if `forge` command was executed in given context."},"functionSelector":"64af255d","implemented":false,"kind":"function","modifiers":[],"name":"isContext","nameLocation":"17355:9:13","parameters":{"id":12522,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12521,"mutability":"mutable","name":"context","nameLocation":"17378:7:13","nodeType":"VariableDeclaration","scope":12526,"src":"17365:20:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_ForgeContext_$12062","typeString":"enum VmSafe.ForgeContext"},"typeName":{"id":12520,"nodeType":"UserDefinedTypeName","pathNode":{"id":12519,"name":"ForgeContext","nameLocations":["17365:12:13"],"nodeType":"IdentifierPath","referencedDeclaration":12062,"src":"17365:12:13"},"referencedDeclaration":12062,"src":"17365:12:13","typeDescriptions":{"typeIdentifier":"t_enum$_ForgeContext_$12062","typeString":"enum VmSafe.ForgeContext"}},"visibility":"internal"}],"src":"17364:22:13"},"returnParameters":{"id":12525,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12524,"mutability":"mutable","name":"result","nameLocation":"17415:6:13","nodeType":"VariableDeclaration","scope":12526,"src":"17410:11:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12523,"name":"bool","nodeType":"ElementaryTypeName","src":"17410:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"17409:13:13"},"scope":15231,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":12534,"nodeType":"FunctionDefinition","src":"17465:70:13","nodes":[],"documentation":{"id":12527,"nodeType":"StructuredDocumentation","src":"17429:31:13","text":"Sets environment variables."},"functionSelector":"3d5923ee","implemented":false,"kind":"function","modifiers":[],"name":"setEnv","nameLocation":"17474:6:13","parameters":{"id":12532,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12529,"mutability":"mutable","name":"name","nameLocation":"17497:4:13","nodeType":"VariableDeclaration","scope":12534,"src":"17481:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12528,"name":"string","nodeType":"ElementaryTypeName","src":"17481:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12531,"mutability":"mutable","name":"value","nameLocation":"17519:5:13","nodeType":"VariableDeclaration","scope":12534,"src":"17503:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12530,"name":"string","nodeType":"ElementaryTypeName","src":"17503:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"17480:45:13"},"returnParameters":{"id":12533,"nodeType":"ParameterList","parameters":[],"src":"17534:0:13"},"scope":15231,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":12546,"nodeType":"FunctionDefinition","src":"17667:109:13","nodes":[],"documentation":{"id":12535,"nodeType":"StructuredDocumentation","src":"17571:91:13","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:13","parameters":{"id":12538,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12537,"mutability":"mutable","name":"target","nameLocation":"17693:6:13","nodeType":"VariableDeclaration","scope":12546,"src":"17685:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12536,"name":"address","nodeType":"ElementaryTypeName","src":"17685:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"17684:16:13"},"returnParameters":{"id":12545,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12541,"mutability":"mutable","name":"readSlots","nameLocation":"17736:9:13","nodeType":"VariableDeclaration","scope":12546,"src":"17719:26:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":12539,"name":"bytes32","nodeType":"ElementaryTypeName","src":"17719:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":12540,"nodeType":"ArrayTypeName","src":"17719:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":12544,"mutability":"mutable","name":"writeSlots","nameLocation":"17764:10:13","nodeType":"VariableDeclaration","scope":12546,"src":"17747:27:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":12542,"name":"bytes32","nodeType":"ElementaryTypeName","src":"17747:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":12543,"nodeType":"ArrayTypeName","src":"17747:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"17718:57:13"},"scope":15231,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":12554,"nodeType":"FunctionDefinition","src":"17832:74:13","nodes":[],"documentation":{"id":12547,"nodeType":"StructuredDocumentation","src":"17782:45:13","text":"Gets the address for a given private key."},"functionSelector":"ffa18649","implemented":false,"kind":"function","modifiers":[],"name":"addr","nameLocation":"17841:4:13","parameters":{"id":12550,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12549,"mutability":"mutable","name":"privateKey","nameLocation":"17854:10:13","nodeType":"VariableDeclaration","scope":12554,"src":"17846:18:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12548,"name":"uint256","nodeType":"ElementaryTypeName","src":"17846:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"17845:20:13"},"returnParameters":{"id":12553,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12552,"mutability":"mutable","name":"keyAddr","nameLocation":"17897:7:13","nodeType":"VariableDeclaration","scope":12554,"src":"17889:15:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12551,"name":"address","nodeType":"ElementaryTypeName","src":"17889:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"17888:17:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":12571,"nodeType":"FunctionDefinition","src":"17969:160:13","nodes":[],"documentation":{"id":12555,"nodeType":"StructuredDocumentation","src":"17912:52:13","text":"Gets all the logs according to specified filter."},"functionSelector":"35e1349b","implemented":false,"kind":"function","modifiers":[],"name":"eth_getLogs","nameLocation":"17978:11:13","parameters":{"id":12565,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12557,"mutability":"mutable","name":"fromBlock","nameLocation":"17998:9:13","nodeType":"VariableDeclaration","scope":12571,"src":"17990:17:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12556,"name":"uint256","nodeType":"ElementaryTypeName","src":"17990:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":12559,"mutability":"mutable","name":"toBlock","nameLocation":"18017:7:13","nodeType":"VariableDeclaration","scope":12571,"src":"18009:15:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12558,"name":"uint256","nodeType":"ElementaryTypeName","src":"18009:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":12561,"mutability":"mutable","name":"target","nameLocation":"18034:6:13","nodeType":"VariableDeclaration","scope":12571,"src":"18026:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12560,"name":"address","nodeType":"ElementaryTypeName","src":"18026:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12564,"mutability":"mutable","name":"topics","nameLocation":"18061:6:13","nodeType":"VariableDeclaration","scope":12571,"src":"18042:25:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_calldata_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":12562,"name":"bytes32","nodeType":"ElementaryTypeName","src":"18042:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":12563,"nodeType":"ArrayTypeName","src":"18042:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"17989:79:13"},"returnParameters":{"id":12570,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12569,"mutability":"mutable","name":"logs","nameLocation":"18123:4:13","nodeType":"VariableDeclaration","scope":12571,"src":"18103:24:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_EthGetLogs_$12098_memory_ptr_$dyn_memory_ptr","typeString":"struct VmSafe.EthGetLogs[]"},"typeName":{"baseType":{"id":12567,"nodeType":"UserDefinedTypeName","pathNode":{"id":12566,"name":"EthGetLogs","nameLocations":["18103:10:13"],"nodeType":"IdentifierPath","referencedDeclaration":12098,"src":"18103:10:13"},"referencedDeclaration":12098,"src":"18103:10:13","typeDescriptions":{"typeIdentifier":"t_struct$_EthGetLogs_$12098_storage_ptr","typeString":"struct VmSafe.EthGetLogs"}},"id":12568,"nodeType":"ArrayTypeName","src":"18103:12:13","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_EthGetLogs_$12098_storage_$dyn_storage_ptr","typeString":"struct VmSafe.EthGetLogs[]"}},"visibility":"internal"}],"src":"18102:26:13"},"scope":15231,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":12577,"nodeType":"FunctionDefinition","src":"18466:70:13","nodes":[],"documentation":{"id":12572,"nodeType":"StructuredDocumentation","src":"18135:326:13","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:13","parameters":{"id":12573,"nodeType":"ParameterList","parameters":[],"src":"18489:2:13"},"returnParameters":{"id":12576,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12575,"mutability":"mutable","name":"blobBaseFee","nameLocation":"18523:11:13","nodeType":"VariableDeclaration","scope":12577,"src":"18515:19:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12574,"name":"uint256","nodeType":"ElementaryTypeName","src":"18515:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18514:21:13"},"scope":15231,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":12583,"nodeType":"FunctionDefinition","src":"18851:65:13","nodes":[],"documentation":{"id":12578,"nodeType":"StructuredDocumentation","src":"18542:304:13","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:13","parameters":{"id":12579,"nodeType":"ParameterList","parameters":[],"src":"18874:2:13"},"returnParameters":{"id":12582,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12581,"mutability":"mutable","name":"height","nameLocation":"18908:6:13","nodeType":"VariableDeclaration","scope":12583,"src":"18900:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12580,"name":"uint256","nodeType":"ElementaryTypeName","src":"18900:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"18899:16:13"},"scope":15231,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":12589,"nodeType":"FunctionDefinition","src":"19240:71:13","nodes":[],"documentation":{"id":12584,"nodeType":"StructuredDocumentation","src":"18922:313:13","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:13","parameters":{"id":12585,"nodeType":"ParameterList","parameters":[],"src":"19266:2:13"},"returnParameters":{"id":12588,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12587,"mutability":"mutable","name":"timestamp","nameLocation":"19300:9:13","nodeType":"VariableDeclaration","scope":12589,"src":"19292:17:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12586,"name":"uint256","nodeType":"ElementaryTypeName","src":"19292:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19291:19:13"},"scope":15231,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":12603,"nodeType":"FunctionDefinition","src":"19404:146:13","nodes":[],"documentation":{"id":12590,"nodeType":"StructuredDocumentation","src":"19317:82:13","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:13","parameters":{"id":12595,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12592,"mutability":"mutable","name":"target","nameLocation":"19446:6:13","nodeType":"VariableDeclaration","scope":12603,"src":"19438:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12591,"name":"address","nodeType":"ElementaryTypeName","src":"19438:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12594,"mutability":"mutable","name":"elementSlot","nameLocation":"19462:11:13","nodeType":"VariableDeclaration","scope":12603,"src":"19454:19:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12593,"name":"bytes32","nodeType":"ElementaryTypeName","src":"19454:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"19437:37:13"},"returnParameters":{"id":12602,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12597,"mutability":"mutable","name":"found","nameLocation":"19514:5:13","nodeType":"VariableDeclaration","scope":12603,"src":"19509:10:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12596,"name":"bool","nodeType":"ElementaryTypeName","src":"19509:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":12599,"mutability":"mutable","name":"key","nameLocation":"19529:3:13","nodeType":"VariableDeclaration","scope":12603,"src":"19521:11:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12598,"name":"bytes32","nodeType":"ElementaryTypeName","src":"19521:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":12601,"mutability":"mutable","name":"parent","nameLocation":"19542:6:13","nodeType":"VariableDeclaration","scope":12603,"src":"19534:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12600,"name":"bytes32","nodeType":"ElementaryTypeName","src":"19534:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"19508:41:13"},"scope":15231,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":12613,"nodeType":"FunctionDefinition","src":"19647:97:13","nodes":[],"documentation":{"id":12604,"nodeType":"StructuredDocumentation","src":"19556:86:13","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:13","parameters":{"id":12609,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12606,"mutability":"mutable","name":"target","nameLocation":"19681:6:13","nodeType":"VariableDeclaration","scope":12613,"src":"19673:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12605,"name":"address","nodeType":"ElementaryTypeName","src":"19673:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12608,"mutability":"mutable","name":"mappingSlot","nameLocation":"19697:11:13","nodeType":"VariableDeclaration","scope":12613,"src":"19689:19:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12607,"name":"bytes32","nodeType":"ElementaryTypeName","src":"19689:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"19672:37:13"},"returnParameters":{"id":12612,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12611,"mutability":"mutable","name":"length","nameLocation":"19736:6:13","nodeType":"VariableDeclaration","scope":12613,"src":"19728:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12610,"name":"uint256","nodeType":"ElementaryTypeName","src":"19728:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19727:16:13"},"scope":15231,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":12625,"nodeType":"FunctionDefinition","src":"19948:109:13","nodes":[],"documentation":{"id":12614,"nodeType":"StructuredDocumentation","src":"19750:193:13","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:13","parameters":{"id":12621,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12616,"mutability":"mutable","name":"target","nameLocation":"19982:6:13","nodeType":"VariableDeclaration","scope":12625,"src":"19974:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12615,"name":"address","nodeType":"ElementaryTypeName","src":"19974:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12618,"mutability":"mutable","name":"mappingSlot","nameLocation":"19998:11:13","nodeType":"VariableDeclaration","scope":12625,"src":"19990:19:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12617,"name":"bytes32","nodeType":"ElementaryTypeName","src":"19990:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":12620,"mutability":"mutable","name":"idx","nameLocation":"20019:3:13","nodeType":"VariableDeclaration","scope":12625,"src":"20011:11:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12619,"name":"uint256","nodeType":"ElementaryTypeName","src":"20011:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"19973:50:13"},"returnParameters":{"id":12624,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12623,"mutability":"mutable","name":"value","nameLocation":"20050:5:13","nodeType":"VariableDeclaration","scope":12625,"src":"20042:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12622,"name":"bytes32","nodeType":"ElementaryTypeName","src":"20042:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"20041:15:13"},"scope":15231,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":12633,"nodeType":"FunctionDefinition","src":"20101:72:13","nodes":[],"documentation":{"id":12626,"nodeType":"StructuredDocumentation","src":"20063:33:13","text":"Gets the nonce of an account."},"functionSelector":"2d0335ab","implemented":false,"kind":"function","modifiers":[],"name":"getNonce","nameLocation":"20110:8:13","parameters":{"id":12629,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12628,"mutability":"mutable","name":"account","nameLocation":"20127:7:13","nodeType":"VariableDeclaration","scope":12633,"src":"20119:15:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12627,"name":"address","nodeType":"ElementaryTypeName","src":"20119:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"20118:17:13"},"returnParameters":{"id":12632,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12631,"mutability":"mutable","name":"nonce","nameLocation":"20166:5:13","nodeType":"VariableDeclaration","scope":12633,"src":"20159:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":12630,"name":"uint64","nodeType":"ElementaryTypeName","src":"20159:6:13","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"20158:14:13"},"scope":15231,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":12641,"nodeType":"FunctionDefinition","src":"20215:64:13","nodes":[],"documentation":{"id":12634,"nodeType":"StructuredDocumentation","src":"20179:31:13","text":"Gets all the recorded logs."},"functionSelector":"191553a4","implemented":false,"kind":"function","modifiers":[],"name":"getRecordedLogs","nameLocation":"20224:15:13","parameters":{"id":12635,"nodeType":"ParameterList","parameters":[],"src":"20239:2:13"},"returnParameters":{"id":12640,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12639,"mutability":"mutable","name":"logs","nameLocation":"20273:4:13","nodeType":"VariableDeclaration","scope":12641,"src":"20260:17:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Log_$12071_memory_ptr_$dyn_memory_ptr","typeString":"struct VmSafe.Log[]"},"typeName":{"baseType":{"id":12637,"nodeType":"UserDefinedTypeName","pathNode":{"id":12636,"name":"Log","nameLocations":["20260:3:13"],"nodeType":"IdentifierPath","referencedDeclaration":12071,"src":"20260:3:13"},"referencedDeclaration":12071,"src":"20260:3:13","typeDescriptions":{"typeIdentifier":"t_struct$_Log_$12071_storage_ptr","typeString":"struct VmSafe.Log"}},"id":12638,"nodeType":"ArrayTypeName","src":"20260:5:13","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Log_$12071_storage_$dyn_storage_ptr","typeString":"struct VmSafe.Log[]"}},"visibility":"internal"}],"src":"20259:19:13"},"scope":15231,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":12648,"nodeType":"FunctionDefinition","src":"20329:62:13","nodes":[],"documentation":{"id":12642,"nodeType":"StructuredDocumentation","src":"20285:39:13","text":"Gets the gas used in the last call."},"functionSelector":"2b589b28","implemented":false,"kind":"function","modifiers":[],"name":"lastCallGas","nameLocation":"20338:11:13","parameters":{"id":12643,"nodeType":"ParameterList","parameters":[],"src":"20349:2:13"},"returnParameters":{"id":12647,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12646,"mutability":"mutable","name":"gas","nameLocation":"20386:3:13","nodeType":"VariableDeclaration","scope":12648,"src":"20375:14:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Gas_$12208_memory_ptr","typeString":"struct VmSafe.Gas"},"typeName":{"id":12645,"nodeType":"UserDefinedTypeName","pathNode":{"id":12644,"name":"Gas","nameLocations":["20375:3:13"],"nodeType":"IdentifierPath","referencedDeclaration":12208,"src":"20375:3:13"},"referencedDeclaration":12208,"src":"20375:3:13","typeDescriptions":{"typeIdentifier":"t_struct$_Gas_$12208_storage_ptr","typeString":"struct VmSafe.Gas"}},"visibility":"internal"}],"src":"20374:16:13"},"scope":15231,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":12658,"nodeType":"FunctionDefinition","src":"20443:81:13","nodes":[],"documentation":{"id":12649,"nodeType":"StructuredDocumentation","src":"20397:41:13","text":"Loads a storage slot from an address."},"functionSelector":"667f9d70","implemented":false,"kind":"function","modifiers":[],"name":"load","nameLocation":"20452:4:13","parameters":{"id":12654,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12651,"mutability":"mutable","name":"target","nameLocation":"20465:6:13","nodeType":"VariableDeclaration","scope":12658,"src":"20457:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12650,"name":"address","nodeType":"ElementaryTypeName","src":"20457:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12653,"mutability":"mutable","name":"slot","nameLocation":"20481:4:13","nodeType":"VariableDeclaration","scope":12658,"src":"20473:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12652,"name":"bytes32","nodeType":"ElementaryTypeName","src":"20473:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"20456:30:13"},"returnParameters":{"id":12657,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12656,"mutability":"mutable","name":"data","nameLocation":"20518:4:13","nodeType":"VariableDeclaration","scope":12658,"src":"20510:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12655,"name":"bytes32","nodeType":"ElementaryTypeName","src":"20510:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"20509:14:13"},"scope":15231,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":12662,"nodeType":"FunctionDefinition","src":"20615:37:13","nodes":[],"documentation":{"id":12659,"nodeType":"StructuredDocumentation","src":"20530:80:13","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:13","parameters":{"id":12660,"nodeType":"ParameterList","parameters":[],"src":"20640:2:13"},"returnParameters":{"id":12661,"nodeType":"ParameterList","parameters":[],"src":"20651:0:13"},"scope":15231,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":12666,"nodeType":"FunctionDefinition","src":"20704:27:13","nodes":[],"documentation":{"id":12663,"nodeType":"StructuredDocumentation","src":"20658:41:13","text":"Records all storage reads and writes."},"functionSelector":"266cf109","implemented":false,"kind":"function","modifiers":[],"name":"record","nameLocation":"20713:6:13","parameters":{"id":12664,"nodeType":"ParameterList","parameters":[],"src":"20719:2:13"},"returnParameters":{"id":12665,"nodeType":"ParameterList","parameters":[],"src":"20730:0:13"},"scope":15231,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":12670,"nodeType":"FunctionDefinition","src":"20778:31:13","nodes":[],"documentation":{"id":12667,"nodeType":"StructuredDocumentation","src":"20737:36:13","text":"Record all the transaction logs."},"functionSelector":"41af2f52","implemented":false,"kind":"function","modifiers":[],"name":"recordLogs","nameLocation":"20787:10:13","parameters":{"id":12668,"nodeType":"ParameterList","parameters":[],"src":"20797:2:13"},"returnParameters":{"id":12669,"nodeType":"ParameterList","parameters":[],"src":"20808:0:13"},"scope":15231,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":12674,"nodeType":"FunctionDefinition","src":"20899:38:13","nodes":[],"documentation":{"id":12671,"nodeType":"StructuredDocumentation","src":"20815:79:13","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:13","parameters":{"id":12672,"nodeType":"ParameterList","parameters":[],"src":"20925:2:13"},"returnParameters":{"id":12673,"nodeType":"ParameterList","parameters":[],"src":"20936:0:13"},"scope":15231,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":12684,"nodeType":"FunctionDefinition","src":"21014:98:13","nodes":[],"documentation":{"id":12675,"nodeType":"StructuredDocumentation","src":"20943:66:13","text":"Performs an Ethereum JSON-RPC request to the current fork URL."},"functionSelector":"1206c8a8","implemented":false,"kind":"function","modifiers":[],"name":"rpc","nameLocation":"21023:3:13","parameters":{"id":12680,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12677,"mutability":"mutable","name":"method","nameLocation":"21043:6:13","nodeType":"VariableDeclaration","scope":12684,"src":"21027:22:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12676,"name":"string","nodeType":"ElementaryTypeName","src":"21027:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12679,"mutability":"mutable","name":"params","nameLocation":"21067:6:13","nodeType":"VariableDeclaration","scope":12684,"src":"21051:22:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12678,"name":"string","nodeType":"ElementaryTypeName","src":"21051:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"21026:48:13"},"returnParameters":{"id":12683,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12682,"mutability":"mutable","name":"data","nameLocation":"21106:4:13","nodeType":"VariableDeclaration","scope":12684,"src":"21093:17:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":12681,"name":"bytes","nodeType":"ElementaryTypeName","src":"21093:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"21092:19:13"},"scope":15231,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":12696,"nodeType":"FunctionDefinition","src":"21186:99:13","nodes":[],"documentation":{"id":12685,"nodeType":"StructuredDocumentation","src":"21118:63:13","text":"Signs `digest` with `privateKey` using the secp256r1 curve."},"functionSelector":"83211b40","implemented":false,"kind":"function","modifiers":[],"name":"signP256","nameLocation":"21195:8:13","parameters":{"id":12690,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12687,"mutability":"mutable","name":"privateKey","nameLocation":"21212:10:13","nodeType":"VariableDeclaration","scope":12696,"src":"21204:18:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12686,"name":"uint256","nodeType":"ElementaryTypeName","src":"21204:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":12689,"mutability":"mutable","name":"digest","nameLocation":"21232:6:13","nodeType":"VariableDeclaration","scope":12696,"src":"21224:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12688,"name":"bytes32","nodeType":"ElementaryTypeName","src":"21224:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"21203:36:13"},"returnParameters":{"id":12695,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12692,"mutability":"mutable","name":"r","nameLocation":"21271:1:13","nodeType":"VariableDeclaration","scope":12696,"src":"21263:9:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12691,"name":"bytes32","nodeType":"ElementaryTypeName","src":"21263:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":12694,"mutability":"mutable","name":"s","nameLocation":"21282:1:13","nodeType":"VariableDeclaration","scope":12696,"src":"21274:9:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12693,"name":"bytes32","nodeType":"ElementaryTypeName","src":"21274:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"21262:22:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":12710,"nodeType":"FunctionDefinition","src":"21359:104:13","nodes":[],"documentation":{"id":12697,"nodeType":"StructuredDocumentation","src":"21291:63:13","text":"Signs `digest` with `privateKey` using the secp256k1 curve."},"functionSelector":"e341eaa4","implemented":false,"kind":"function","modifiers":[],"name":"sign","nameLocation":"21368:4:13","parameters":{"id":12702,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12699,"mutability":"mutable","name":"privateKey","nameLocation":"21381:10:13","nodeType":"VariableDeclaration","scope":12710,"src":"21373:18:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12698,"name":"uint256","nodeType":"ElementaryTypeName","src":"21373:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":12701,"mutability":"mutable","name":"digest","nameLocation":"21401:6:13","nodeType":"VariableDeclaration","scope":12710,"src":"21393:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12700,"name":"bytes32","nodeType":"ElementaryTypeName","src":"21393:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"21372:36:13"},"returnParameters":{"id":12709,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12704,"mutability":"mutable","name":"v","nameLocation":"21438:1:13","nodeType":"VariableDeclaration","scope":12710,"src":"21432:7:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":12703,"name":"uint8","nodeType":"ElementaryTypeName","src":"21432:5:13","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":12706,"mutability":"mutable","name":"r","nameLocation":"21449:1:13","nodeType":"VariableDeclaration","scope":12710,"src":"21441:9:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12705,"name":"bytes32","nodeType":"ElementaryTypeName","src":"21441:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":12708,"mutability":"mutable","name":"s","nameLocation":"21460:1:13","nodeType":"VariableDeclaration","scope":12710,"src":"21452:9:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12707,"name":"bytes32","nodeType":"ElementaryTypeName","src":"21452:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"21431:31:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":12722,"nodeType":"FunctionDefinition","src":"21902:84:13","nodes":[],"documentation":{"id":12711,"nodeType":"StructuredDocumentation","src":"21469:428:13","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:13","parameters":{"id":12714,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12713,"mutability":"mutable","name":"digest","nameLocation":"21924:6:13","nodeType":"VariableDeclaration","scope":12722,"src":"21916:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12712,"name":"bytes32","nodeType":"ElementaryTypeName","src":"21916:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"21915:16:13"},"returnParameters":{"id":12721,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12716,"mutability":"mutable","name":"v","nameLocation":"21961:1:13","nodeType":"VariableDeclaration","scope":12722,"src":"21955:7:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":12715,"name":"uint8","nodeType":"ElementaryTypeName","src":"21955:5:13","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":12718,"mutability":"mutable","name":"r","nameLocation":"21972:1:13","nodeType":"VariableDeclaration","scope":12722,"src":"21964:9:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12717,"name":"bytes32","nodeType":"ElementaryTypeName","src":"21964:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":12720,"mutability":"mutable","name":"s","nameLocation":"21983:1:13","nodeType":"VariableDeclaration","scope":12722,"src":"21975:9:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12719,"name":"bytes32","nodeType":"ElementaryTypeName","src":"21975:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"21954:31:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":12736,"nodeType":"FunctionDefinition","src":"22163:100:13","nodes":[],"documentation":{"id":12723,"nodeType":"StructuredDocumentation","src":"21992:166:13","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:13","parameters":{"id":12728,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12725,"mutability":"mutable","name":"signer","nameLocation":"22185:6:13","nodeType":"VariableDeclaration","scope":12736,"src":"22177:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12724,"name":"address","nodeType":"ElementaryTypeName","src":"22177:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":12727,"mutability":"mutable","name":"digest","nameLocation":"22201:6:13","nodeType":"VariableDeclaration","scope":12736,"src":"22193:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12726,"name":"bytes32","nodeType":"ElementaryTypeName","src":"22193:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"22176:32:13"},"returnParameters":{"id":12735,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12730,"mutability":"mutable","name":"v","nameLocation":"22238:1:13","nodeType":"VariableDeclaration","scope":12736,"src":"22232:7:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":12729,"name":"uint8","nodeType":"ElementaryTypeName","src":"22232:5:13","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":12732,"mutability":"mutable","name":"r","nameLocation":"22249:1:13","nodeType":"VariableDeclaration","scope":12736,"src":"22241:9:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12731,"name":"bytes32","nodeType":"ElementaryTypeName","src":"22241:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":12734,"mutability":"mutable","name":"s","nameLocation":"22260:1:13","nodeType":"VariableDeclaration","scope":12736,"src":"22252:9:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":12733,"name":"bytes32","nodeType":"ElementaryTypeName","src":"22252:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"22231:31:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":12740,"nodeType":"FunctionDefinition","src":"22331:42:13","nodes":[],"documentation":{"id":12737,"nodeType":"StructuredDocumentation","src":"22269:57:13","text":"Starts recording all map SSTOREs for later retrieval."},"functionSelector":"3e9705c0","implemented":false,"kind":"function","modifiers":[],"name":"startMappingRecording","nameLocation":"22340:21:13","parameters":{"id":12738,"nodeType":"ParameterList","parameters":[],"src":"22361:2:13"},"returnParameters":{"id":12739,"nodeType":"ParameterList","parameters":[],"src":"22372:0:13"},"scope":15231,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":12744,"nodeType":"FunctionDefinition","src":"22517:44:13","nodes":[],"documentation":{"id":12741,"nodeType":"StructuredDocumentation","src":"22379:133:13","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:13","parameters":{"id":12742,"nodeType":"ParameterList","parameters":[],"src":"22549:2:13"},"returnParameters":{"id":12743,"nodeType":"ParameterList","parameters":[],"src":"22560:0:13"},"scope":15231,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":12752,"nodeType":"FunctionDefinition","src":"22669:92:13","nodes":[],"documentation":{"id":12745,"nodeType":"StructuredDocumentation","src":"22567:97:13","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:13","parameters":{"id":12746,"nodeType":"ParameterList","parameters":[],"src":"22700:2:13"},"returnParameters":{"id":12751,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12750,"mutability":"mutable","name":"accountAccesses","nameLocation":"22744:15:13","nodeType":"VariableDeclaration","scope":12752,"src":"22721:38:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AccountAccess_$12182_memory_ptr_$dyn_memory_ptr","typeString":"struct VmSafe.AccountAccess[]"},"typeName":{"baseType":{"id":12748,"nodeType":"UserDefinedTypeName","pathNode":{"id":12747,"name":"AccountAccess","nameLocations":["22721:13:13"],"nodeType":"IdentifierPath","referencedDeclaration":12182,"src":"22721:13:13"},"referencedDeclaration":12182,"src":"22721:13:13","typeDescriptions":{"typeIdentifier":"t_struct$_AccountAccess_$12182_storage_ptr","typeString":"struct VmSafe.AccountAccess"}},"id":12749,"nodeType":"ArrayTypeName","src":"22721:15:13","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_AccountAccess_$12182_storage_$dyn_storage_ptr","typeString":"struct VmSafe.AccountAccess[]"}},"visibility":"internal"}],"src":"22720:40:13"},"scope":15231,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":12756,"nodeType":"FunctionDefinition","src":"22857:41:13","nodes":[],"documentation":{"id":12753,"nodeType":"StructuredDocumentation","src":"22767:85:13","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:13","parameters":{"id":12754,"nodeType":"ParameterList","parameters":[],"src":"22886:2:13"},"returnParameters":{"id":12755,"nodeType":"ParameterList","parameters":[],"src":"22897:0:13"},"scope":15231,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":12762,"nodeType":"FunctionDefinition","src":"23097:50:13","nodes":[],"documentation":{"id":12757,"nodeType":"StructuredDocumentation","src":"22941:151:13","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:13","parameters":{"id":12760,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12759,"mutability":"mutable","name":"path","nameLocation":"23132:4:13","nodeType":"VariableDeclaration","scope":12762,"src":"23116:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12758,"name":"string","nodeType":"ElementaryTypeName","src":"23116:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"23115:22:13"},"returnParameters":{"id":12761,"nodeType":"ParameterList","parameters":[],"src":"23146:0:13"},"scope":15231,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":12772,"nodeType":"FunctionDefinition","src":"23462:93:13","nodes":[],"documentation":{"id":12763,"nodeType":"StructuredDocumentation","src":"23153:304:13","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:13","parameters":{"id":12768,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12765,"mutability":"mutable","name":"from","nameLocation":"23496:4:13","nodeType":"VariableDeclaration","scope":12772,"src":"23480:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12764,"name":"string","nodeType":"ElementaryTypeName","src":"23480:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12767,"mutability":"mutable","name":"to","nameLocation":"23518:2:13","nodeType":"VariableDeclaration","scope":12772,"src":"23502:18:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12766,"name":"string","nodeType":"ElementaryTypeName","src":"23502:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"23479:42:13"},"returnParameters":{"id":12771,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12770,"mutability":"mutable","name":"copied","nameLocation":"23547:6:13","nodeType":"VariableDeclaration","scope":12772,"src":"23540:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":12769,"name":"uint64","nodeType":"ElementaryTypeName","src":"23540:6:13","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"23539:15:13"},"scope":15231,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":12780,"nodeType":"FunctionDefinition","src":"23960:66:13","nodes":[],"documentation":{"id":12773,"nodeType":"StructuredDocumentation","src":"23561:394:13","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:13","parameters":{"id":12778,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12775,"mutability":"mutable","name":"path","nameLocation":"23995:4:13","nodeType":"VariableDeclaration","scope":12780,"src":"23979:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12774,"name":"string","nodeType":"ElementaryTypeName","src":"23979:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12777,"mutability":"mutable","name":"recursive","nameLocation":"24006:9:13","nodeType":"VariableDeclaration","scope":12780,"src":"24001:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12776,"name":"bool","nodeType":"ElementaryTypeName","src":"24001:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"23978:38:13"},"returnParameters":{"id":12779,"nodeType":"ParameterList","parameters":[],"src":"24025:0:13"},"scope":15231,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":12788,"nodeType":"FunctionDefinition","src":"24121:69:13","nodes":[],"documentation":{"id":12781,"nodeType":"StructuredDocumentation","src":"24032:84:13","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:13","parameters":{"id":12784,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12783,"mutability":"mutable","name":"path","nameLocation":"24153:4:13","nodeType":"VariableDeclaration","scope":12788,"src":"24137:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12782,"name":"string","nodeType":"ElementaryTypeName","src":"24137:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"24136:22:13"},"returnParameters":{"id":12787,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12786,"mutability":"mutable","name":"result","nameLocation":"24182:6:13","nodeType":"VariableDeclaration","scope":12788,"src":"24177:11:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12785,"name":"bool","nodeType":"ElementaryTypeName","src":"24177:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"24176:13:13"},"scope":15231,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":12797,"nodeType":"FunctionDefinition","src":"24255:84:13","nodes":[],"documentation":{"id":12789,"nodeType":"StructuredDocumentation","src":"24196:54:13","text":"Performs a foreign function call via the terminal."},"functionSelector":"89160467","implemented":false,"kind":"function","modifiers":[],"name":"ffi","nameLocation":"24264:3:13","parameters":{"id":12793,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12792,"mutability":"mutable","name":"commandInput","nameLocation":"24286:12:13","nodeType":"VariableDeclaration","scope":12797,"src":"24268:30:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_string_calldata_ptr_$dyn_calldata_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":12790,"name":"string","nodeType":"ElementaryTypeName","src":"24268:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":12791,"nodeType":"ArrayTypeName","src":"24268:8:13","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"24267:32:13"},"returnParameters":{"id":12796,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12795,"mutability":"mutable","name":"result","nameLocation":"24331:6:13","nodeType":"VariableDeclaration","scope":12797,"src":"24318:19:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":12794,"name":"bytes","nodeType":"ElementaryTypeName","src":"24318:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"24317:21:13"},"scope":15231,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":12806,"nodeType":"FunctionDefinition","src":"24438:93:13","nodes":[],"documentation":{"id":12798,"nodeType":"StructuredDocumentation","src":"24345:88:13","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:13","parameters":{"id":12801,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12800,"mutability":"mutable","name":"path","nameLocation":"24474:4:13","nodeType":"VariableDeclaration","scope":12806,"src":"24458:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12799,"name":"string","nodeType":"ElementaryTypeName","src":"24458:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"24457:22:13"},"returnParameters":{"id":12805,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12804,"mutability":"mutable","name":"metadata","nameLocation":"24521:8:13","nodeType":"VariableDeclaration","scope":12806,"src":"24503:26:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_FsMetadata_$12126_memory_ptr","typeString":"struct VmSafe.FsMetadata"},"typeName":{"id":12803,"nodeType":"UserDefinedTypeName","pathNode":{"id":12802,"name":"FsMetadata","nameLocations":["24503:10:13"],"nodeType":"IdentifierPath","referencedDeclaration":12126,"src":"24503:10:13"},"referencedDeclaration":12126,"src":"24503:10:13","typeDescriptions":{"typeIdentifier":"t_struct$_FsMetadata_$12126_storage_ptr","typeString":"struct VmSafe.FsMetadata"}},"visibility":"internal"}],"src":"24502:28:13"},"scope":15231,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":12814,"nodeType":"FunctionDefinition","src":"24769:101:13","nodes":[],"documentation":{"id":12807,"nodeType":"StructuredDocumentation","src":"24537:227:13","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:13","parameters":{"id":12810,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12809,"mutability":"mutable","name":"artifactPath","nameLocation":"24802:12:13","nodeType":"VariableDeclaration","scope":12814,"src":"24786:28:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12808,"name":"string","nodeType":"ElementaryTypeName","src":"24786:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"24785:30:13"},"returnParameters":{"id":12813,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12812,"mutability":"mutable","name":"creationBytecode","nameLocation":"24852:16:13","nodeType":"VariableDeclaration","scope":12814,"src":"24839:29:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":12811,"name":"bytes","nodeType":"ElementaryTypeName","src":"24839:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"24838:31:13"},"scope":15231,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":12822,"nodeType":"FunctionDefinition","src":"25108:108:13","nodes":[],"documentation":{"id":12815,"nodeType":"StructuredDocumentation","src":"24876:227:13","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:13","parameters":{"id":12818,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12817,"mutability":"mutable","name":"artifactPath","nameLocation":"25149:12:13","nodeType":"VariableDeclaration","scope":12822,"src":"25133:28:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12816,"name":"string","nodeType":"ElementaryTypeName","src":"25133:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"25132:30:13"},"returnParameters":{"id":12821,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12820,"mutability":"mutable","name":"runtimeBytecode","nameLocation":"25199:15:13","nodeType":"VariableDeclaration","scope":12822,"src":"25186:28:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":12819,"name":"bytes","nodeType":"ElementaryTypeName","src":"25186:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"25185:30:13"},"scope":15231,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":12830,"nodeType":"FunctionDefinition","src":"25322:68:13","nodes":[],"documentation":{"id":12823,"nodeType":"StructuredDocumentation","src":"25222:95:13","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:13","parameters":{"id":12826,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12825,"mutability":"mutable","name":"path","nameLocation":"25353:4:13","nodeType":"VariableDeclaration","scope":12830,"src":"25337:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12824,"name":"string","nodeType":"ElementaryTypeName","src":"25337:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"25336:22:13"},"returnParameters":{"id":12829,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12828,"mutability":"mutable","name":"result","nameLocation":"25382:6:13","nodeType":"VariableDeclaration","scope":12830,"src":"25377:11:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12827,"name":"bool","nodeType":"ElementaryTypeName","src":"25377:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"25376:13:13"},"scope":15231,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":12838,"nodeType":"FunctionDefinition","src":"25499:69:13","nodes":[],"documentation":{"id":12831,"nodeType":"StructuredDocumentation","src":"25396:98:13","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:13","parameters":{"id":12834,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12833,"mutability":"mutable","name":"path","nameLocation":"25531:4:13","nodeType":"VariableDeclaration","scope":12838,"src":"25515:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12832,"name":"string","nodeType":"ElementaryTypeName","src":"25515:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"25514:22:13"},"returnParameters":{"id":12837,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12836,"mutability":"mutable","name":"result","nameLocation":"25560:6:13","nodeType":"VariableDeclaration","scope":12838,"src":"25555:11:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12835,"name":"bool","nodeType":"ElementaryTypeName","src":"25555:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"25554:13:13"},"scope":15231,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":12844,"nodeType":"FunctionDefinition","src":"25624:66:13","nodes":[],"documentation":{"id":12839,"nodeType":"StructuredDocumentation","src":"25574:45:13","text":"Get the path of the current project root."},"functionSelector":"d930a0e6","implemented":false,"kind":"function","modifiers":[],"name":"projectRoot","nameLocation":"25633:11:13","parameters":{"id":12840,"nodeType":"ParameterList","parameters":[],"src":"25644:2:13"},"returnParameters":{"id":12843,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12842,"mutability":"mutable","name":"path","nameLocation":"25684:4:13","nodeType":"VariableDeclaration","scope":12844,"src":"25670:18:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12841,"name":"string","nodeType":"ElementaryTypeName","src":"25670:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"25669:20:13"},"scope":15231,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":12852,"nodeType":"FunctionDefinition","src":"25757:83:13","nodes":[],"documentation":{"id":12845,"nodeType":"StructuredDocumentation","src":"25696:56:13","text":"Prompts the user for a string value in the terminal."},"functionSelector":"47eaf474","implemented":false,"kind":"function","modifiers":[],"name":"prompt","nameLocation":"25766:6:13","parameters":{"id":12848,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12847,"mutability":"mutable","name":"promptText","nameLocation":"25789:10:13","nodeType":"VariableDeclaration","scope":12852,"src":"25773:26:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12846,"name":"string","nodeType":"ElementaryTypeName","src":"25773:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"25772:28:13"},"returnParameters":{"id":12851,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12850,"mutability":"mutable","name":"input","nameLocation":"25833:5:13","nodeType":"VariableDeclaration","scope":12852,"src":"25819:19:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12849,"name":"string","nodeType":"ElementaryTypeName","src":"25819:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"25818:21:13"},"scope":15231,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":12860,"nodeType":"FunctionDefinition","src":"25903:78:13","nodes":[],"documentation":{"id":12853,"nodeType":"StructuredDocumentation","src":"25846:52:13","text":"Prompts the user for an address in the terminal."},"functionSelector":"62ee05f4","implemented":false,"kind":"function","modifiers":[],"name":"promptAddress","nameLocation":"25912:13:13","parameters":{"id":12856,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12855,"mutability":"mutable","name":"promptText","nameLocation":"25942:10:13","nodeType":"VariableDeclaration","scope":12860,"src":"25926:26:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12854,"name":"string","nodeType":"ElementaryTypeName","src":"25926:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"25925:28:13"},"returnParameters":{"id":12859,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12858,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12860,"src":"25972:7:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":12857,"name":"address","nodeType":"ElementaryTypeName","src":"25972:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"25971:9:13"},"scope":15231,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":12868,"nodeType":"FunctionDefinition","src":"26055:89:13","nodes":[],"documentation":{"id":12861,"nodeType":"StructuredDocumentation","src":"25987:63:13","text":"Prompts the user for a hidden string value in the terminal."},"functionSelector":"1e279d41","implemented":false,"kind":"function","modifiers":[],"name":"promptSecret","nameLocation":"26064:12:13","parameters":{"id":12864,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12863,"mutability":"mutable","name":"promptText","nameLocation":"26093:10:13","nodeType":"VariableDeclaration","scope":12868,"src":"26077:26:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12862,"name":"string","nodeType":"ElementaryTypeName","src":"26077:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"26076:28:13"},"returnParameters":{"id":12867,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12866,"mutability":"mutable","name":"input","nameLocation":"26137:5:13","nodeType":"VariableDeclaration","scope":12868,"src":"26123:19:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12865,"name":"string","nodeType":"ElementaryTypeName","src":"26123:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"26122:21:13"},"scope":15231,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":12876,"nodeType":"FunctionDefinition","src":"26204:75:13","nodes":[],"documentation":{"id":12869,"nodeType":"StructuredDocumentation","src":"26150:49:13","text":"Prompts the user for uint256 in the terminal."},"functionSelector":"652fd489","implemented":false,"kind":"function","modifiers":[],"name":"promptUint","nameLocation":"26213:10:13","parameters":{"id":12872,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12871,"mutability":"mutable","name":"promptText","nameLocation":"26240:10:13","nodeType":"VariableDeclaration","scope":12876,"src":"26224:26:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12870,"name":"string","nodeType":"ElementaryTypeName","src":"26224:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"26223:28:13"},"returnParameters":{"id":12875,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12874,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":12876,"src":"26270:7:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12873,"name":"uint256","nodeType":"ElementaryTypeName","src":"26270:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"26269:9:13"},"scope":15231,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":12886,"nodeType":"FunctionDefinition","src":"26527:89:13","nodes":[],"documentation":{"id":12877,"nodeType":"StructuredDocumentation","src":"26285:237:13","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:13","parameters":{"id":12880,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12879,"mutability":"mutable","name":"path","nameLocation":"26560:4:13","nodeType":"VariableDeclaration","scope":12886,"src":"26544:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12878,"name":"string","nodeType":"ElementaryTypeName","src":"26544:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"26543:22:13"},"returnParameters":{"id":12885,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12884,"mutability":"mutable","name":"entries","nameLocation":"26607:7:13","nodeType":"VariableDeclaration","scope":12886,"src":"26589:25:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_DirEntry_$12110_memory_ptr_$dyn_memory_ptr","typeString":"struct VmSafe.DirEntry[]"},"typeName":{"baseType":{"id":12882,"nodeType":"UserDefinedTypeName","pathNode":{"id":12881,"name":"DirEntry","nameLocations":["26589:8:13"],"nodeType":"IdentifierPath","referencedDeclaration":12110,"src":"26589:8:13"},"referencedDeclaration":12110,"src":"26589:8:13","typeDescriptions":{"typeIdentifier":"t_struct$_DirEntry_$12110_storage_ptr","typeString":"struct VmSafe.DirEntry"}},"id":12883,"nodeType":"ArrayTypeName","src":"26589:10:13","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_DirEntry_$12110_storage_$dyn_storage_ptr","typeString":"struct VmSafe.DirEntry[]"}},"visibility":"internal"}],"src":"26588:27:13"},"scope":15231,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":12898,"nodeType":"FunctionDefinition","src":"26653:106:13","nodes":[],"documentation":{"id":12887,"nodeType":"StructuredDocumentation","src":"26622:26:13","text":"See `readDir(string)`."},"functionSelector":"1497876c","implemented":false,"kind":"function","modifiers":[],"name":"readDir","nameLocation":"26662:7:13","parameters":{"id":12892,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12889,"mutability":"mutable","name":"path","nameLocation":"26686:4:13","nodeType":"VariableDeclaration","scope":12898,"src":"26670:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12888,"name":"string","nodeType":"ElementaryTypeName","src":"26670:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12891,"mutability":"mutable","name":"maxDepth","nameLocation":"26699:8:13","nodeType":"VariableDeclaration","scope":12898,"src":"26692:15:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":12890,"name":"uint64","nodeType":"ElementaryTypeName","src":"26692:6:13","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"26669:39:13"},"returnParameters":{"id":12897,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12896,"mutability":"mutable","name":"entries","nameLocation":"26750:7:13","nodeType":"VariableDeclaration","scope":12898,"src":"26732:25:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_DirEntry_$12110_memory_ptr_$dyn_memory_ptr","typeString":"struct VmSafe.DirEntry[]"},"typeName":{"baseType":{"id":12894,"nodeType":"UserDefinedTypeName","pathNode":{"id":12893,"name":"DirEntry","nameLocations":["26732:8:13"],"nodeType":"IdentifierPath","referencedDeclaration":12110,"src":"26732:8:13"},"referencedDeclaration":12110,"src":"26732:8:13","typeDescriptions":{"typeIdentifier":"t_struct$_DirEntry_$12110_storage_ptr","typeString":"struct VmSafe.DirEntry"}},"id":12895,"nodeType":"ArrayTypeName","src":"26732:10:13","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_DirEntry_$12110_storage_$dyn_storage_ptr","typeString":"struct VmSafe.DirEntry[]"}},"visibility":"internal"}],"src":"26731:27:13"},"scope":15231,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":12912,"nodeType":"FunctionDefinition","src":"26796:148:13","nodes":[],"documentation":{"id":12899,"nodeType":"StructuredDocumentation","src":"26765:26:13","text":"See `readDir(string)`."},"functionSelector":"8102d70d","implemented":false,"kind":"function","modifiers":[],"name":"readDir","nameLocation":"26805:7:13","parameters":{"id":12906,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12901,"mutability":"mutable","name":"path","nameLocation":"26829:4:13","nodeType":"VariableDeclaration","scope":12912,"src":"26813:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12900,"name":"string","nodeType":"ElementaryTypeName","src":"26813:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12903,"mutability":"mutable","name":"maxDepth","nameLocation":"26842:8:13","nodeType":"VariableDeclaration","scope":12912,"src":"26835:15:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":12902,"name":"uint64","nodeType":"ElementaryTypeName","src":"26835:6:13","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":12905,"mutability":"mutable","name":"followLinks","nameLocation":"26857:11:13","nodeType":"VariableDeclaration","scope":12912,"src":"26852:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12904,"name":"bool","nodeType":"ElementaryTypeName","src":"26852:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"26812:57:13"},"returnParameters":{"id":12911,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12910,"mutability":"mutable","name":"entries","nameLocation":"26935:7:13","nodeType":"VariableDeclaration","scope":12912,"src":"26917:25:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_DirEntry_$12110_memory_ptr_$dyn_memory_ptr","typeString":"struct VmSafe.DirEntry[]"},"typeName":{"baseType":{"id":12908,"nodeType":"UserDefinedTypeName","pathNode":{"id":12907,"name":"DirEntry","nameLocations":["26917:8:13"],"nodeType":"IdentifierPath","referencedDeclaration":12110,"src":"26917:8:13"},"referencedDeclaration":12110,"src":"26917:8:13","typeDescriptions":{"typeIdentifier":"t_struct$_DirEntry_$12110_storage_ptr","typeString":"struct VmSafe.DirEntry"}},"id":12909,"nodeType":"ArrayTypeName","src":"26917:10:13","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_DirEntry_$12110_storage_$dyn_storage_ptr","typeString":"struct VmSafe.DirEntry[]"}},"visibility":"internal"}],"src":"26916:27:13"},"scope":15231,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":12920,"nodeType":"FunctionDefinition","src":"27042:83:13","nodes":[],"documentation":{"id":12913,"nodeType":"StructuredDocumentation","src":"26950:87:13","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:13","parameters":{"id":12916,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12915,"mutability":"mutable","name":"path","nameLocation":"27076:4:13","nodeType":"VariableDeclaration","scope":12920,"src":"27060:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12914,"name":"string","nodeType":"ElementaryTypeName","src":"27060:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"27059:22:13"},"returnParameters":{"id":12919,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12918,"mutability":"mutable","name":"data","nameLocation":"27119:4:13","nodeType":"VariableDeclaration","scope":12920,"src":"27105:18:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12917,"name":"string","nodeType":"ElementaryTypeName","src":"27105:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"27104:20:13"},"scope":15231,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":12928,"nodeType":"FunctionDefinition","src":"27223:88:13","nodes":[],"documentation":{"id":12921,"nodeType":"StructuredDocumentation","src":"27131:87:13","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:13","parameters":{"id":12924,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12923,"mutability":"mutable","name":"path","nameLocation":"27263:4:13","nodeType":"VariableDeclaration","scope":12928,"src":"27247:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12922,"name":"string","nodeType":"ElementaryTypeName","src":"27247:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"27246:22:13"},"returnParameters":{"id":12927,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12926,"mutability":"mutable","name":"data","nameLocation":"27305:4:13","nodeType":"VariableDeclaration","scope":12928,"src":"27292:17:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":12925,"name":"bytes","nodeType":"ElementaryTypeName","src":"27292:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"27291:19:13"},"scope":15231,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":12936,"nodeType":"FunctionDefinition","src":"27360:83:13","nodes":[],"documentation":{"id":12929,"nodeType":"StructuredDocumentation","src":"27317:38:13","text":"Reads next line of file to string."},"functionSelector":"70f55728","implemented":false,"kind":"function","modifiers":[],"name":"readLine","nameLocation":"27369:8:13","parameters":{"id":12932,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12931,"mutability":"mutable","name":"path","nameLocation":"27394:4:13","nodeType":"VariableDeclaration","scope":12936,"src":"27378:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12930,"name":"string","nodeType":"ElementaryTypeName","src":"27378:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"27377:22:13"},"returnParameters":{"id":12935,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12934,"mutability":"mutable","name":"line","nameLocation":"27437:4:13","nodeType":"VariableDeclaration","scope":12936,"src":"27423:18:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12933,"name":"string","nodeType":"ElementaryTypeName","src":"27423:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"27422:20:13"},"scope":15231,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":12944,"nodeType":"FunctionDefinition","src":"27702:93:13","nodes":[],"documentation":{"id":12937,"nodeType":"StructuredDocumentation","src":"27449:248:13","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:13","parameters":{"id":12940,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12939,"mutability":"mutable","name":"linkPath","nameLocation":"27736:8:13","nodeType":"VariableDeclaration","scope":12944,"src":"27720:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12938,"name":"string","nodeType":"ElementaryTypeName","src":"27720:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"27719:26:13"},"returnParameters":{"id":12943,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12942,"mutability":"mutable","name":"targetPath","nameLocation":"27783:10:13","nodeType":"VariableDeclaration","scope":12944,"src":"27769:24:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":12941,"name":"string","nodeType":"ElementaryTypeName","src":"27769:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"27768:26:13"},"scope":15231,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":12952,"nodeType":"FunctionDefinition","src":"28185:66:13","nodes":[],"documentation":{"id":12945,"nodeType":"StructuredDocumentation","src":"27801:379:13","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:13","parameters":{"id":12950,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12947,"mutability":"mutable","name":"path","nameLocation":"28220:4:13","nodeType":"VariableDeclaration","scope":12952,"src":"28204:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12946,"name":"string","nodeType":"ElementaryTypeName","src":"28204:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12949,"mutability":"mutable","name":"recursive","nameLocation":"28231:9:13","nodeType":"VariableDeclaration","scope":12952,"src":"28226:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":12948,"name":"bool","nodeType":"ElementaryTypeName","src":"28226:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"28203:38:13"},"returnParameters":{"id":12951,"nodeType":"ParameterList","parameters":[],"src":"28250:0:13"},"scope":15231,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":12958,"nodeType":"FunctionDefinition","src":"28584:51:13","nodes":[],"documentation":{"id":12953,"nodeType":"StructuredDocumentation","src":"28257:322:13","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:13","parameters":{"id":12956,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12955,"mutability":"mutable","name":"path","nameLocation":"28620:4:13","nodeType":"VariableDeclaration","scope":12958,"src":"28604:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12954,"name":"string","nodeType":"ElementaryTypeName","src":"28604:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"28603:22:13"},"returnParameters":{"id":12957,"nodeType":"ParameterList","parameters":[],"src":"28634:0:13"},"scope":15231,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":12968,"nodeType":"FunctionDefinition","src":"28742:91:13","nodes":[],"documentation":{"id":12959,"nodeType":"StructuredDocumentation","src":"28641:96:13","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:13","parameters":{"id":12963,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12962,"mutability":"mutable","name":"commandInput","nameLocation":"28776:12:13","nodeType":"VariableDeclaration","scope":12968,"src":"28758:30:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_string_calldata_ptr_$dyn_calldata_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":12960,"name":"string","nodeType":"ElementaryTypeName","src":"28758:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":12961,"nodeType":"ArrayTypeName","src":"28758:8:13","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"28757:32:13"},"returnParameters":{"id":12967,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12966,"mutability":"mutable","name":"result","nameLocation":"28825:6:13","nodeType":"VariableDeclaration","scope":12968,"src":"28808:23:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_FfiResult_$12144_memory_ptr","typeString":"struct VmSafe.FfiResult"},"typeName":{"id":12965,"nodeType":"UserDefinedTypeName","pathNode":{"id":12964,"name":"FfiResult","nameLocations":["28808:9:13"],"nodeType":"IdentifierPath","referencedDeclaration":12144,"src":"28808:9:13"},"referencedDeclaration":12144,"src":"28808:9:13","typeDescriptions":{"typeIdentifier":"t_struct$_FfiResult_$12144_storage_ptr","typeString":"struct VmSafe.FfiResult"}},"visibility":"internal"}],"src":"28807:25:13"},"scope":15231,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":12974,"nodeType":"FunctionDefinition","src":"28898:60:13","nodes":[],"documentation":{"id":12969,"nodeType":"StructuredDocumentation","src":"28839:54:13","text":"Returns the time since unix epoch in milliseconds."},"functionSelector":"625387dc","implemented":false,"kind":"function","modifiers":[],"name":"unixTime","nameLocation":"28907:8:13","parameters":{"id":12970,"nodeType":"ParameterList","parameters":[],"src":"28915:2:13"},"returnParameters":{"id":12973,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12972,"mutability":"mutable","name":"milliseconds","nameLocation":"28944:12:13","nodeType":"VariableDeclaration","scope":12974,"src":"28936:20:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":12971,"name":"uint256","nodeType":"ElementaryTypeName","src":"28936:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"28935:22:13"},"scope":15231,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":12982,"nodeType":"FunctionDefinition","src":"29127:72:13","nodes":[],"documentation":{"id":12975,"nodeType":"StructuredDocumentation","src":"28964:158:13","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:13","parameters":{"id":12980,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12977,"mutability":"mutable","name":"path","nameLocation":"29162:4:13","nodeType":"VariableDeclaration","scope":12982,"src":"29146:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12976,"name":"string","nodeType":"ElementaryTypeName","src":"29146:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12979,"mutability":"mutable","name":"data","nameLocation":"29184:4:13","nodeType":"VariableDeclaration","scope":12982,"src":"29168:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12978,"name":"string","nodeType":"ElementaryTypeName","src":"29168:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"29145:44:13"},"returnParameters":{"id":12981,"nodeType":"ParameterList","parameters":[],"src":"29198:0:13"},"scope":15231,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":12990,"nodeType":"FunctionDefinition","src":"29377:77:13","nodes":[],"documentation":{"id":12983,"nodeType":"StructuredDocumentation","src":"29205:167:13","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:13","parameters":{"id":12988,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12985,"mutability":"mutable","name":"path","nameLocation":"29418:4:13","nodeType":"VariableDeclaration","scope":12990,"src":"29402:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12984,"name":"string","nodeType":"ElementaryTypeName","src":"29402:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12987,"mutability":"mutable","name":"data","nameLocation":"29439:4:13","nodeType":"VariableDeclaration","scope":12990,"src":"29424:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":12986,"name":"bytes","nodeType":"ElementaryTypeName","src":"29424:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"29401:43:13"},"returnParameters":{"id":12989,"nodeType":"ParameterList","parameters":[],"src":"29453:0:13"},"scope":15231,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":12998,"nodeType":"FunctionDefinition","src":"29575:72:13","nodes":[],"documentation":{"id":12991,"nodeType":"StructuredDocumentation","src":"29460:110:13","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:13","parameters":{"id":12996,"nodeType":"ParameterList","parameters":[{"constant":false,"id":12993,"mutability":"mutable","name":"path","nameLocation":"29610:4:13","nodeType":"VariableDeclaration","scope":12998,"src":"29594:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12992,"name":"string","nodeType":"ElementaryTypeName","src":"29594:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":12995,"mutability":"mutable","name":"data","nameLocation":"29632:4:13","nodeType":"VariableDeclaration","scope":12998,"src":"29616:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":12994,"name":"string","nodeType":"ElementaryTypeName","src":"29616:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"29593:44:13"},"returnParameters":{"id":12997,"nodeType":"ParameterList","parameters":[],"src":"29646:0:13"},"scope":15231,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13008,"nodeType":"FunctionDefinition","src":"29840:91:13","nodes":[],"documentation":{"id":12999,"nodeType":"StructuredDocumentation","src":"29684:151:13","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:13","parameters":{"id":13004,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13001,"mutability":"mutable","name":"json","nameLocation":"29875:4:13","nodeType":"VariableDeclaration","scope":13008,"src":"29859:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13000,"name":"string","nodeType":"ElementaryTypeName","src":"29859:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13003,"mutability":"mutable","name":"key","nameLocation":"29897:3:13","nodeType":"VariableDeclaration","scope":13008,"src":"29881:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13002,"name":"string","nodeType":"ElementaryTypeName","src":"29881:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"29858:43:13"},"returnParameters":{"id":13007,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13006,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13008,"src":"29925:4:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13005,"name":"bool","nodeType":"ElementaryTypeName","src":"29925:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"29924:6:13"},"scope":15231,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":13018,"nodeType":"FunctionDefinition","src":"29986:95:13","nodes":[],"documentation":{"id":13009,"nodeType":"StructuredDocumentation","src":"29937:44:13","text":"Checks if `key` exists in a JSON object."},"functionSelector":"db4235f6","implemented":false,"kind":"function","modifiers":[],"name":"keyExistsJson","nameLocation":"29995:13:13","parameters":{"id":13014,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13011,"mutability":"mutable","name":"json","nameLocation":"30025:4:13","nodeType":"VariableDeclaration","scope":13018,"src":"30009:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13010,"name":"string","nodeType":"ElementaryTypeName","src":"30009:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13013,"mutability":"mutable","name":"key","nameLocation":"30047:3:13","nodeType":"VariableDeclaration","scope":13018,"src":"30031:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13012,"name":"string","nodeType":"ElementaryTypeName","src":"30031:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"30008:43:13"},"returnParameters":{"id":13017,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13016,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13018,"src":"30075:4:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13015,"name":"bool","nodeType":"ElementaryTypeName","src":"30075:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"30074:6:13"},"scope":15231,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":13028,"nodeType":"FunctionDefinition","src":"30162:101:13","nodes":[],"documentation":{"id":13019,"nodeType":"StructuredDocumentation","src":"30087:70:13","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:13","parameters":{"id":13024,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13021,"mutability":"mutable","name":"json","nameLocation":"30204:4:13","nodeType":"VariableDeclaration","scope":13028,"src":"30188:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13020,"name":"string","nodeType":"ElementaryTypeName","src":"30188:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13023,"mutability":"mutable","name":"key","nameLocation":"30226:3:13","nodeType":"VariableDeclaration","scope":13028,"src":"30210:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13022,"name":"string","nodeType":"ElementaryTypeName","src":"30210:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"30187:43:13"},"returnParameters":{"id":13027,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13026,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13028,"src":"30254:7:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13025,"name":"address","nodeType":"ElementaryTypeName","src":"30254:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"30253:9:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13039,"nodeType":"FunctionDefinition","src":"30346:139:13","nodes":[],"documentation":{"id":13029,"nodeType":"StructuredDocumentation","src":"30269:72:13","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:13","parameters":{"id":13034,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13031,"mutability":"mutable","name":"json","nameLocation":"30393:4:13","nodeType":"VariableDeclaration","scope":13039,"src":"30377:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13030,"name":"string","nodeType":"ElementaryTypeName","src":"30377:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13033,"mutability":"mutable","name":"key","nameLocation":"30415:3:13","nodeType":"VariableDeclaration","scope":13039,"src":"30399:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13032,"name":"string","nodeType":"ElementaryTypeName","src":"30399:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"30376:43:13"},"returnParameters":{"id":13038,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13037,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13039,"src":"30467:16:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":13035,"name":"address","nodeType":"ElementaryTypeName","src":"30467:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":13036,"nodeType":"ArrayTypeName","src":"30467:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"30466:18:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13049,"nodeType":"FunctionDefinition","src":"30563:95:13","nodes":[],"documentation":{"id":13040,"nodeType":"StructuredDocumentation","src":"30491:67:13","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:13","parameters":{"id":13045,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13042,"mutability":"mutable","name":"json","nameLocation":"30602:4:13","nodeType":"VariableDeclaration","scope":13049,"src":"30586:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13041,"name":"string","nodeType":"ElementaryTypeName","src":"30586:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13044,"mutability":"mutable","name":"key","nameLocation":"30624:3:13","nodeType":"VariableDeclaration","scope":13049,"src":"30608:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13043,"name":"string","nodeType":"ElementaryTypeName","src":"30608:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"30585:43:13"},"returnParameters":{"id":13048,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13047,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13049,"src":"30652:4:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13046,"name":"bool","nodeType":"ElementaryTypeName","src":"30652:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"30651:6:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13060,"nodeType":"FunctionDefinition","src":"30738:109:13","nodes":[],"documentation":{"id":13050,"nodeType":"StructuredDocumentation","src":"30664:69:13","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:13","parameters":{"id":13055,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13052,"mutability":"mutable","name":"json","nameLocation":"30782:4:13","nodeType":"VariableDeclaration","scope":13060,"src":"30766:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13051,"name":"string","nodeType":"ElementaryTypeName","src":"30766:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13054,"mutability":"mutable","name":"key","nameLocation":"30804:3:13","nodeType":"VariableDeclaration","scope":13060,"src":"30788:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13053,"name":"string","nodeType":"ElementaryTypeName","src":"30788:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"30765:43:13"},"returnParameters":{"id":13059,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13058,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13060,"src":"30832:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":13056,"name":"bool","nodeType":"ElementaryTypeName","src":"30832:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":13057,"nodeType":"ArrayTypeName","src":"30832:6:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"}],"src":"30831:15:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13070,"nodeType":"FunctionDefinition","src":"30926:104:13","nodes":[],"documentation":{"id":13061,"nodeType":"StructuredDocumentation","src":"30853:68:13","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:13","parameters":{"id":13066,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13063,"mutability":"mutable","name":"json","nameLocation":"30966:4:13","nodeType":"VariableDeclaration","scope":13070,"src":"30950:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13062,"name":"string","nodeType":"ElementaryTypeName","src":"30950:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13065,"mutability":"mutable","name":"key","nameLocation":"30988:3:13","nodeType":"VariableDeclaration","scope":13070,"src":"30972:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13064,"name":"string","nodeType":"ElementaryTypeName","src":"30972:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"30949:43:13"},"returnParameters":{"id":13069,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13068,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13070,"src":"31016:12:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":13067,"name":"bytes","nodeType":"ElementaryTypeName","src":"31016:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"31015:14:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13080,"nodeType":"FunctionDefinition","src":"31111:101:13","nodes":[],"documentation":{"id":13071,"nodeType":"StructuredDocumentation","src":"31036:70:13","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:13","parameters":{"id":13076,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13073,"mutability":"mutable","name":"json","nameLocation":"31153:4:13","nodeType":"VariableDeclaration","scope":13080,"src":"31137:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13072,"name":"string","nodeType":"ElementaryTypeName","src":"31137:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13075,"mutability":"mutable","name":"key","nameLocation":"31175:3:13","nodeType":"VariableDeclaration","scope":13080,"src":"31159:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13074,"name":"string","nodeType":"ElementaryTypeName","src":"31159:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"31136:43:13"},"returnParameters":{"id":13079,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13078,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13080,"src":"31203:7:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13077,"name":"bytes32","nodeType":"ElementaryTypeName","src":"31203:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"31202:9:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13091,"nodeType":"FunctionDefinition","src":"31295:139:13","nodes":[],"documentation":{"id":13081,"nodeType":"StructuredDocumentation","src":"31218:72:13","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:13","parameters":{"id":13086,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13083,"mutability":"mutable","name":"json","nameLocation":"31342:4:13","nodeType":"VariableDeclaration","scope":13091,"src":"31326:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13082,"name":"string","nodeType":"ElementaryTypeName","src":"31326:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13085,"mutability":"mutable","name":"key","nameLocation":"31364:3:13","nodeType":"VariableDeclaration","scope":13091,"src":"31348:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13084,"name":"string","nodeType":"ElementaryTypeName","src":"31348:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"31325:43:13"},"returnParameters":{"id":13090,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13089,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13091,"src":"31416:16:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":13087,"name":"bytes32","nodeType":"ElementaryTypeName","src":"31416:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":13088,"nodeType":"ArrayTypeName","src":"31416:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"31415:18:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13102,"nodeType":"FunctionDefinition","src":"31515:111:13","nodes":[],"documentation":{"id":13092,"nodeType":"StructuredDocumentation","src":"31440:70:13","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:13","parameters":{"id":13097,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13094,"mutability":"mutable","name":"json","nameLocation":"31560:4:13","nodeType":"VariableDeclaration","scope":13102,"src":"31544:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13093,"name":"string","nodeType":"ElementaryTypeName","src":"31544:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13096,"mutability":"mutable","name":"key","nameLocation":"31582:3:13","nodeType":"VariableDeclaration","scope":13102,"src":"31566:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13095,"name":"string","nodeType":"ElementaryTypeName","src":"31566:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"31543:43:13"},"returnParameters":{"id":13101,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13100,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13102,"src":"31610:14:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":13098,"name":"bytes","nodeType":"ElementaryTypeName","src":"31610:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":13099,"nodeType":"ArrayTypeName","src":"31610:7:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"31609:16:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13112,"nodeType":"FunctionDefinition","src":"31706:96:13","nodes":[],"documentation":{"id":13103,"nodeType":"StructuredDocumentation","src":"31632:69:13","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:13","parameters":{"id":13108,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13105,"mutability":"mutable","name":"json","nameLocation":"31744:4:13","nodeType":"VariableDeclaration","scope":13112,"src":"31728:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13104,"name":"string","nodeType":"ElementaryTypeName","src":"31728:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13107,"mutability":"mutable","name":"key","nameLocation":"31766:3:13","nodeType":"VariableDeclaration","scope":13112,"src":"31750:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13106,"name":"string","nodeType":"ElementaryTypeName","src":"31750:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"31727:43:13"},"returnParameters":{"id":13111,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13110,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13112,"src":"31794:6:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":13109,"name":"int256","nodeType":"ElementaryTypeName","src":"31794:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"31793:8:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13123,"nodeType":"FunctionDefinition","src":"31884:110:13","nodes":[],"documentation":{"id":13113,"nodeType":"StructuredDocumentation","src":"31808:71:13","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:13","parameters":{"id":13118,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13115,"mutability":"mutable","name":"json","nameLocation":"31927:4:13","nodeType":"VariableDeclaration","scope":13123,"src":"31911:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13114,"name":"string","nodeType":"ElementaryTypeName","src":"31911:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13117,"mutability":"mutable","name":"key","nameLocation":"31949:3:13","nodeType":"VariableDeclaration","scope":13123,"src":"31933:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13116,"name":"string","nodeType":"ElementaryTypeName","src":"31933:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"31910:43:13"},"returnParameters":{"id":13122,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13121,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13123,"src":"31977:15:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":13119,"name":"int256","nodeType":"ElementaryTypeName","src":"31977:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":13120,"nodeType":"ArrayTypeName","src":"31977:8:13","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"31976:17:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13134,"nodeType":"FunctionDefinition","src":"32059:111:13","nodes":[],"documentation":{"id":13124,"nodeType":"StructuredDocumentation","src":"32000:54:13","text":"Returns an array of all the keys in a JSON object."},"functionSelector":"213e4198","implemented":false,"kind":"function","modifiers":[],"name":"parseJsonKeys","nameLocation":"32068:13:13","parameters":{"id":13129,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13126,"mutability":"mutable","name":"json","nameLocation":"32098:4:13","nodeType":"VariableDeclaration","scope":13134,"src":"32082:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13125,"name":"string","nodeType":"ElementaryTypeName","src":"32082:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13128,"mutability":"mutable","name":"key","nameLocation":"32120:3:13","nodeType":"VariableDeclaration","scope":13134,"src":"32104:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13127,"name":"string","nodeType":"ElementaryTypeName","src":"32104:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"32081:43:13"},"returnParameters":{"id":13133,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13132,"mutability":"mutable","name":"keys","nameLocation":"32164:4:13","nodeType":"VariableDeclaration","scope":13134,"src":"32148:20:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":13130,"name":"string","nodeType":"ElementaryTypeName","src":"32148:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":13131,"nodeType":"ArrayTypeName","src":"32148:8:13","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"32147:22:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13144,"nodeType":"FunctionDefinition","src":"32250:106:13","nodes":[],"documentation":{"id":13135,"nodeType":"StructuredDocumentation","src":"32176:69:13","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:13","parameters":{"id":13140,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13137,"mutability":"mutable","name":"json","nameLocation":"32291:4:13","nodeType":"VariableDeclaration","scope":13144,"src":"32275:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13136,"name":"string","nodeType":"ElementaryTypeName","src":"32275:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13139,"mutability":"mutable","name":"key","nameLocation":"32313:3:13","nodeType":"VariableDeclaration","scope":13144,"src":"32297:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13138,"name":"string","nodeType":"ElementaryTypeName","src":"32297:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"32274:43:13"},"returnParameters":{"id":13143,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13142,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13144,"src":"32341:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13141,"name":"string","nodeType":"ElementaryTypeName","src":"32341:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"32340:15:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13155,"nodeType":"FunctionDefinition","src":"32438:113:13","nodes":[],"documentation":{"id":13145,"nodeType":"StructuredDocumentation","src":"32362:71:13","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:13","parameters":{"id":13150,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13147,"mutability":"mutable","name":"json","nameLocation":"32484:4:13","nodeType":"VariableDeclaration","scope":13155,"src":"32468:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13146,"name":"string","nodeType":"ElementaryTypeName","src":"32468:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13149,"mutability":"mutable","name":"key","nameLocation":"32506:3:13","nodeType":"VariableDeclaration","scope":13155,"src":"32490:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13148,"name":"string","nodeType":"ElementaryTypeName","src":"32490:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"32467:43:13"},"returnParameters":{"id":13154,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13153,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13155,"src":"32534:15:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":13151,"name":"string","nodeType":"ElementaryTypeName","src":"32534:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":13152,"nodeType":"ArrayTypeName","src":"32534:8:13","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"32533:17:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13165,"nodeType":"FunctionDefinition","src":"32632:98:13","nodes":[],"documentation":{"id":13156,"nodeType":"StructuredDocumentation","src":"32557:70:13","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:13","parameters":{"id":13161,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13158,"mutability":"mutable","name":"json","nameLocation":"32671:4:13","nodeType":"VariableDeclaration","scope":13165,"src":"32655:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13157,"name":"string","nodeType":"ElementaryTypeName","src":"32655:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13160,"mutability":"mutable","name":"key","nameLocation":"32693:3:13","nodeType":"VariableDeclaration","scope":13165,"src":"32677:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13159,"name":"string","nodeType":"ElementaryTypeName","src":"32677:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"32654:43:13"},"returnParameters":{"id":13164,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13163,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13165,"src":"32721:7:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13162,"name":"uint256","nodeType":"ElementaryTypeName","src":"32721:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"32720:9:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13176,"nodeType":"FunctionDefinition","src":"32813:112:13","nodes":[],"documentation":{"id":13166,"nodeType":"StructuredDocumentation","src":"32736:72:13","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:13","parameters":{"id":13171,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13168,"mutability":"mutable","name":"json","nameLocation":"32857:4:13","nodeType":"VariableDeclaration","scope":13176,"src":"32841:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13167,"name":"string","nodeType":"ElementaryTypeName","src":"32841:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13170,"mutability":"mutable","name":"key","nameLocation":"32879:3:13","nodeType":"VariableDeclaration","scope":13176,"src":"32863:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13169,"name":"string","nodeType":"ElementaryTypeName","src":"32863:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"32840:43:13"},"returnParameters":{"id":13175,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13174,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13176,"src":"32907:16:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":13172,"name":"uint256","nodeType":"ElementaryTypeName","src":"32907:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":13173,"nodeType":"ArrayTypeName","src":"32907:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"32906:18:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13184,"nodeType":"FunctionDefinition","src":"32966:93:13","nodes":[],"documentation":{"id":13177,"nodeType":"StructuredDocumentation","src":"32931:30:13","text":"ABI-encodes a JSON object."},"functionSelector":"6a82600a","implemented":false,"kind":"function","modifiers":[],"name":"parseJson","nameLocation":"32975:9:13","parameters":{"id":13180,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13179,"mutability":"mutable","name":"json","nameLocation":"33001:4:13","nodeType":"VariableDeclaration","scope":13184,"src":"32985:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13178,"name":"string","nodeType":"ElementaryTypeName","src":"32985:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"32984:22:13"},"returnParameters":{"id":13183,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13182,"mutability":"mutable","name":"abiEncodedData","nameLocation":"33043:14:13","nodeType":"VariableDeclaration","scope":13184,"src":"33030:27:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":13181,"name":"bytes","nodeType":"ElementaryTypeName","src":"33030:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"33029:29:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13194,"nodeType":"FunctionDefinition","src":"33109:114:13","nodes":[],"documentation":{"id":13185,"nodeType":"StructuredDocumentation","src":"33065:39:13","text":"ABI-encodes a JSON object at `key`."},"functionSelector":"85940ef1","implemented":false,"kind":"function","modifiers":[],"name":"parseJson","nameLocation":"33118:9:13","parameters":{"id":13190,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13187,"mutability":"mutable","name":"json","nameLocation":"33144:4:13","nodeType":"VariableDeclaration","scope":13194,"src":"33128:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13186,"name":"string","nodeType":"ElementaryTypeName","src":"33128:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13189,"mutability":"mutable","name":"key","nameLocation":"33166:3:13","nodeType":"VariableDeclaration","scope":13194,"src":"33150:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13188,"name":"string","nodeType":"ElementaryTypeName","src":"33150:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"33127:43:13"},"returnParameters":{"id":13193,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13192,"mutability":"mutable","name":"abiEncodedData","nameLocation":"33207:14:13","nodeType":"VariableDeclaration","scope":13194,"src":"33194:27:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":13191,"name":"bytes","nodeType":"ElementaryTypeName","src":"33194:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"33193:29:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13206,"nodeType":"FunctionDefinition","src":"33258:148:13","nodes":[],"documentation":{"id":13195,"nodeType":"StructuredDocumentation","src":"33229:24:13","text":"See `serializeJson`."},"functionSelector":"972c6062","implemented":false,"kind":"function","modifiers":[],"name":"serializeAddress","nameLocation":"33267:16:13","parameters":{"id":13202,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13197,"mutability":"mutable","name":"objectKey","nameLocation":"33300:9:13","nodeType":"VariableDeclaration","scope":13206,"src":"33284:25:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13196,"name":"string","nodeType":"ElementaryTypeName","src":"33284:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13199,"mutability":"mutable","name":"valueKey","nameLocation":"33327:8:13","nodeType":"VariableDeclaration","scope":13206,"src":"33311:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13198,"name":"string","nodeType":"ElementaryTypeName","src":"33311:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13201,"mutability":"mutable","name":"value","nameLocation":"33345:5:13","nodeType":"VariableDeclaration","scope":13206,"src":"33337:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13200,"name":"address","nodeType":"ElementaryTypeName","src":"33337:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"33283:68:13"},"returnParameters":{"id":13205,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13204,"mutability":"mutable","name":"json","nameLocation":"33400:4:13","nodeType":"VariableDeclaration","scope":13206,"src":"33386:18:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13203,"name":"string","nodeType":"ElementaryTypeName","src":"33386:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"33385:20:13"},"scope":15231,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13219,"nodeType":"FunctionDefinition","src":"33441:160:13","nodes":[],"documentation":{"id":13207,"nodeType":"StructuredDocumentation","src":"33412:24:13","text":"See `serializeJson`."},"functionSelector":"1e356e1a","implemented":false,"kind":"function","modifiers":[],"name":"serializeAddress","nameLocation":"33450:16:13","parameters":{"id":13215,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13209,"mutability":"mutable","name":"objectKey","nameLocation":"33483:9:13","nodeType":"VariableDeclaration","scope":13219,"src":"33467:25:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13208,"name":"string","nodeType":"ElementaryTypeName","src":"33467:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13211,"mutability":"mutable","name":"valueKey","nameLocation":"33510:8:13","nodeType":"VariableDeclaration","scope":13219,"src":"33494:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13210,"name":"string","nodeType":"ElementaryTypeName","src":"33494:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13214,"mutability":"mutable","name":"values","nameLocation":"33539:6:13","nodeType":"VariableDeclaration","scope":13219,"src":"33520:25:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":13212,"name":"address","nodeType":"ElementaryTypeName","src":"33520:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":13213,"nodeType":"ArrayTypeName","src":"33520:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"33466:80:13"},"returnParameters":{"id":13218,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13217,"mutability":"mutable","name":"json","nameLocation":"33595:4:13","nodeType":"VariableDeclaration","scope":13219,"src":"33581:18:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13216,"name":"string","nodeType":"ElementaryTypeName","src":"33581:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"33580:20:13"},"scope":15231,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13231,"nodeType":"FunctionDefinition","src":"33636:142:13","nodes":[],"documentation":{"id":13220,"nodeType":"StructuredDocumentation","src":"33607:24:13","text":"See `serializeJson`."},"functionSelector":"ac22e971","implemented":false,"kind":"function","modifiers":[],"name":"serializeBool","nameLocation":"33645:13:13","parameters":{"id":13227,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13222,"mutability":"mutable","name":"objectKey","nameLocation":"33675:9:13","nodeType":"VariableDeclaration","scope":13231,"src":"33659:25:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13221,"name":"string","nodeType":"ElementaryTypeName","src":"33659:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13224,"mutability":"mutable","name":"valueKey","nameLocation":"33702:8:13","nodeType":"VariableDeclaration","scope":13231,"src":"33686:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13223,"name":"string","nodeType":"ElementaryTypeName","src":"33686:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13226,"mutability":"mutable","name":"value","nameLocation":"33717:5:13","nodeType":"VariableDeclaration","scope":13231,"src":"33712:10:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13225,"name":"bool","nodeType":"ElementaryTypeName","src":"33712:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"33658:65:13"},"returnParameters":{"id":13230,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13229,"mutability":"mutable","name":"json","nameLocation":"33772:4:13","nodeType":"VariableDeclaration","scope":13231,"src":"33758:18:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13228,"name":"string","nodeType":"ElementaryTypeName","src":"33758:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"33757:20:13"},"scope":15231,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13244,"nodeType":"FunctionDefinition","src":"33813:154:13","nodes":[],"documentation":{"id":13232,"nodeType":"StructuredDocumentation","src":"33784:24:13","text":"See `serializeJson`."},"functionSelector":"92925aa1","implemented":false,"kind":"function","modifiers":[],"name":"serializeBool","nameLocation":"33822:13:13","parameters":{"id":13240,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13234,"mutability":"mutable","name":"objectKey","nameLocation":"33852:9:13","nodeType":"VariableDeclaration","scope":13244,"src":"33836:25:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13233,"name":"string","nodeType":"ElementaryTypeName","src":"33836:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13236,"mutability":"mutable","name":"valueKey","nameLocation":"33879:8:13","nodeType":"VariableDeclaration","scope":13244,"src":"33863:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13235,"name":"string","nodeType":"ElementaryTypeName","src":"33863:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13239,"mutability":"mutable","name":"values","nameLocation":"33905:6:13","nodeType":"VariableDeclaration","scope":13244,"src":"33889:22:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_calldata_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":13237,"name":"bool","nodeType":"ElementaryTypeName","src":"33889:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":13238,"nodeType":"ArrayTypeName","src":"33889:6:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"}],"src":"33835:77:13"},"returnParameters":{"id":13243,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13242,"mutability":"mutable","name":"json","nameLocation":"33961:4:13","nodeType":"VariableDeclaration","scope":13244,"src":"33947:18:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13241,"name":"string","nodeType":"ElementaryTypeName","src":"33947:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"33946:20:13"},"scope":15231,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13256,"nodeType":"FunctionDefinition","src":"34002:148:13","nodes":[],"documentation":{"id":13245,"nodeType":"StructuredDocumentation","src":"33973:24:13","text":"See `serializeJson`."},"functionSelector":"2d812b44","implemented":false,"kind":"function","modifiers":[],"name":"serializeBytes32","nameLocation":"34011:16:13","parameters":{"id":13252,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13247,"mutability":"mutable","name":"objectKey","nameLocation":"34044:9:13","nodeType":"VariableDeclaration","scope":13256,"src":"34028:25:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13246,"name":"string","nodeType":"ElementaryTypeName","src":"34028:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13249,"mutability":"mutable","name":"valueKey","nameLocation":"34071:8:13","nodeType":"VariableDeclaration","scope":13256,"src":"34055:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13248,"name":"string","nodeType":"ElementaryTypeName","src":"34055:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13251,"mutability":"mutable","name":"value","nameLocation":"34089:5:13","nodeType":"VariableDeclaration","scope":13256,"src":"34081:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13250,"name":"bytes32","nodeType":"ElementaryTypeName","src":"34081:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"34027:68:13"},"returnParameters":{"id":13255,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13254,"mutability":"mutable","name":"json","nameLocation":"34144:4:13","nodeType":"VariableDeclaration","scope":13256,"src":"34130:18:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13253,"name":"string","nodeType":"ElementaryTypeName","src":"34130:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"34129:20:13"},"scope":15231,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13269,"nodeType":"FunctionDefinition","src":"34185:160:13","nodes":[],"documentation":{"id":13257,"nodeType":"StructuredDocumentation","src":"34156:24:13","text":"See `serializeJson`."},"functionSelector":"201e43e2","implemented":false,"kind":"function","modifiers":[],"name":"serializeBytes32","nameLocation":"34194:16:13","parameters":{"id":13265,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13259,"mutability":"mutable","name":"objectKey","nameLocation":"34227:9:13","nodeType":"VariableDeclaration","scope":13269,"src":"34211:25:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13258,"name":"string","nodeType":"ElementaryTypeName","src":"34211:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13261,"mutability":"mutable","name":"valueKey","nameLocation":"34254:8:13","nodeType":"VariableDeclaration","scope":13269,"src":"34238:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13260,"name":"string","nodeType":"ElementaryTypeName","src":"34238:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13264,"mutability":"mutable","name":"values","nameLocation":"34283:6:13","nodeType":"VariableDeclaration","scope":13269,"src":"34264:25:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_calldata_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":13262,"name":"bytes32","nodeType":"ElementaryTypeName","src":"34264:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":13263,"nodeType":"ArrayTypeName","src":"34264:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"34210:80:13"},"returnParameters":{"id":13268,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13267,"mutability":"mutable","name":"json","nameLocation":"34339:4:13","nodeType":"VariableDeclaration","scope":13269,"src":"34325:18:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13266,"name":"string","nodeType":"ElementaryTypeName","src":"34325:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"34324:20:13"},"scope":15231,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13281,"nodeType":"FunctionDefinition","src":"34380:153:13","nodes":[],"documentation":{"id":13270,"nodeType":"StructuredDocumentation","src":"34351:24:13","text":"See `serializeJson`."},"functionSelector":"f21d52c7","implemented":false,"kind":"function","modifiers":[],"name":"serializeBytes","nameLocation":"34389:14:13","parameters":{"id":13277,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13272,"mutability":"mutable","name":"objectKey","nameLocation":"34420:9:13","nodeType":"VariableDeclaration","scope":13281,"src":"34404:25:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13271,"name":"string","nodeType":"ElementaryTypeName","src":"34404:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13274,"mutability":"mutable","name":"valueKey","nameLocation":"34447:8:13","nodeType":"VariableDeclaration","scope":13281,"src":"34431:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13273,"name":"string","nodeType":"ElementaryTypeName","src":"34431:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13276,"mutability":"mutable","name":"value","nameLocation":"34472:5:13","nodeType":"VariableDeclaration","scope":13281,"src":"34457:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":13275,"name":"bytes","nodeType":"ElementaryTypeName","src":"34457:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"34403:75:13"},"returnParameters":{"id":13280,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13279,"mutability":"mutable","name":"json","nameLocation":"34527:4:13","nodeType":"VariableDeclaration","scope":13281,"src":"34513:18:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13278,"name":"string","nodeType":"ElementaryTypeName","src":"34513:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"34512:20:13"},"scope":15231,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13294,"nodeType":"FunctionDefinition","src":"34568:156:13","nodes":[],"documentation":{"id":13282,"nodeType":"StructuredDocumentation","src":"34539:24:13","text":"See `serializeJson`."},"functionSelector":"9884b232","implemented":false,"kind":"function","modifiers":[],"name":"serializeBytes","nameLocation":"34577:14:13","parameters":{"id":13290,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13284,"mutability":"mutable","name":"objectKey","nameLocation":"34608:9:13","nodeType":"VariableDeclaration","scope":13294,"src":"34592:25:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13283,"name":"string","nodeType":"ElementaryTypeName","src":"34592:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13286,"mutability":"mutable","name":"valueKey","nameLocation":"34635:8:13","nodeType":"VariableDeclaration","scope":13294,"src":"34619:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13285,"name":"string","nodeType":"ElementaryTypeName","src":"34619:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13289,"mutability":"mutable","name":"values","nameLocation":"34662:6:13","nodeType":"VariableDeclaration","scope":13294,"src":"34645:23:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":13287,"name":"bytes","nodeType":"ElementaryTypeName","src":"34645:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":13288,"nodeType":"ArrayTypeName","src":"34645:7:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"34591:78:13"},"returnParameters":{"id":13293,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13292,"mutability":"mutable","name":"json","nameLocation":"34718:4:13","nodeType":"VariableDeclaration","scope":13294,"src":"34704:18:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13291,"name":"string","nodeType":"ElementaryTypeName","src":"34704:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"34703:20:13"},"scope":15231,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13306,"nodeType":"FunctionDefinition","src":"34759:143:13","nodes":[],"documentation":{"id":13295,"nodeType":"StructuredDocumentation","src":"34730:24:13","text":"See `serializeJson`."},"functionSelector":"3f33db60","implemented":false,"kind":"function","modifiers":[],"name":"serializeInt","nameLocation":"34768:12:13","parameters":{"id":13302,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13297,"mutability":"mutable","name":"objectKey","nameLocation":"34797:9:13","nodeType":"VariableDeclaration","scope":13306,"src":"34781:25:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13296,"name":"string","nodeType":"ElementaryTypeName","src":"34781:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13299,"mutability":"mutable","name":"valueKey","nameLocation":"34824:8:13","nodeType":"VariableDeclaration","scope":13306,"src":"34808:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13298,"name":"string","nodeType":"ElementaryTypeName","src":"34808:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13301,"mutability":"mutable","name":"value","nameLocation":"34841:5:13","nodeType":"VariableDeclaration","scope":13306,"src":"34834:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":13300,"name":"int256","nodeType":"ElementaryTypeName","src":"34834:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"34780:67:13"},"returnParameters":{"id":13305,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13304,"mutability":"mutable","name":"json","nameLocation":"34896:4:13","nodeType":"VariableDeclaration","scope":13306,"src":"34882:18:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13303,"name":"string","nodeType":"ElementaryTypeName","src":"34882:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"34881:20:13"},"scope":15231,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13319,"nodeType":"FunctionDefinition","src":"34937:155:13","nodes":[],"documentation":{"id":13307,"nodeType":"StructuredDocumentation","src":"34908:24:13","text":"See `serializeJson`."},"functionSelector":"7676e127","implemented":false,"kind":"function","modifiers":[],"name":"serializeInt","nameLocation":"34946:12:13","parameters":{"id":13315,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13309,"mutability":"mutable","name":"objectKey","nameLocation":"34975:9:13","nodeType":"VariableDeclaration","scope":13319,"src":"34959:25:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13308,"name":"string","nodeType":"ElementaryTypeName","src":"34959:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13311,"mutability":"mutable","name":"valueKey","nameLocation":"35002:8:13","nodeType":"VariableDeclaration","scope":13319,"src":"34986:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13310,"name":"string","nodeType":"ElementaryTypeName","src":"34986:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13314,"mutability":"mutable","name":"values","nameLocation":"35030:6:13","nodeType":"VariableDeclaration","scope":13319,"src":"35012:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_calldata_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":13312,"name":"int256","nodeType":"ElementaryTypeName","src":"35012:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":13313,"nodeType":"ArrayTypeName","src":"35012:8:13","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"34958:79:13"},"returnParameters":{"id":13318,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13317,"mutability":"mutable","name":"json","nameLocation":"35086:4:13","nodeType":"VariableDeclaration","scope":13319,"src":"35072:18:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13316,"name":"string","nodeType":"ElementaryTypeName","src":"35072:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"35071:20:13"},"scope":15231,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13329,"nodeType":"FunctionDefinition","src":"35289:111:13","nodes":[],"documentation":{"id":13320,"nodeType":"StructuredDocumentation","src":"35098:186:13","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:13","parameters":{"id":13325,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13322,"mutability":"mutable","name":"objectKey","nameLocation":"35328:9:13","nodeType":"VariableDeclaration","scope":13329,"src":"35312:25:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13321,"name":"string","nodeType":"ElementaryTypeName","src":"35312:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13324,"mutability":"mutable","name":"value","nameLocation":"35355:5:13","nodeType":"VariableDeclaration","scope":13329,"src":"35339:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13323,"name":"string","nodeType":"ElementaryTypeName","src":"35339:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"35311:50:13"},"returnParameters":{"id":13328,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13327,"mutability":"mutable","name":"json","nameLocation":"35394:4:13","nodeType":"VariableDeclaration","scope":13329,"src":"35380:18:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13326,"name":"string","nodeType":"ElementaryTypeName","src":"35380:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"35379:20:13"},"scope":15231,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13341,"nodeType":"FunctionDefinition","src":"35435:155:13","nodes":[],"documentation":{"id":13330,"nodeType":"StructuredDocumentation","src":"35406:24:13","text":"See `serializeJson`."},"functionSelector":"88da6d35","implemented":false,"kind":"function","modifiers":[],"name":"serializeString","nameLocation":"35444:15:13","parameters":{"id":13337,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13332,"mutability":"mutable","name":"objectKey","nameLocation":"35476:9:13","nodeType":"VariableDeclaration","scope":13341,"src":"35460:25:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13331,"name":"string","nodeType":"ElementaryTypeName","src":"35460:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13334,"mutability":"mutable","name":"valueKey","nameLocation":"35503:8:13","nodeType":"VariableDeclaration","scope":13341,"src":"35487:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13333,"name":"string","nodeType":"ElementaryTypeName","src":"35487:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13336,"mutability":"mutable","name":"value","nameLocation":"35529:5:13","nodeType":"VariableDeclaration","scope":13341,"src":"35513:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13335,"name":"string","nodeType":"ElementaryTypeName","src":"35513:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"35459:76:13"},"returnParameters":{"id":13340,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13339,"mutability":"mutable","name":"json","nameLocation":"35584:4:13","nodeType":"VariableDeclaration","scope":13341,"src":"35570:18:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13338,"name":"string","nodeType":"ElementaryTypeName","src":"35570:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"35569:20:13"},"scope":15231,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13354,"nodeType":"FunctionDefinition","src":"35625:158:13","nodes":[],"documentation":{"id":13342,"nodeType":"StructuredDocumentation","src":"35596:24:13","text":"See `serializeJson`."},"functionSelector":"561cd6f3","implemented":false,"kind":"function","modifiers":[],"name":"serializeString","nameLocation":"35634:15:13","parameters":{"id":13350,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13344,"mutability":"mutable","name":"objectKey","nameLocation":"35666:9:13","nodeType":"VariableDeclaration","scope":13354,"src":"35650:25:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13343,"name":"string","nodeType":"ElementaryTypeName","src":"35650:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13346,"mutability":"mutable","name":"valueKey","nameLocation":"35693:8:13","nodeType":"VariableDeclaration","scope":13354,"src":"35677:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13345,"name":"string","nodeType":"ElementaryTypeName","src":"35677:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13349,"mutability":"mutable","name":"values","nameLocation":"35721:6:13","nodeType":"VariableDeclaration","scope":13354,"src":"35703:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_string_calldata_ptr_$dyn_calldata_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":13347,"name":"string","nodeType":"ElementaryTypeName","src":"35703:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":13348,"nodeType":"ArrayTypeName","src":"35703:8:13","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"35649:79:13"},"returnParameters":{"id":13353,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13352,"mutability":"mutable","name":"json","nameLocation":"35777:4:13","nodeType":"VariableDeclaration","scope":13354,"src":"35763:18:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13351,"name":"string","nodeType":"ElementaryTypeName","src":"35763:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"35762:20:13"},"scope":15231,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13366,"nodeType":"FunctionDefinition","src":"35818:150:13","nodes":[],"documentation":{"id":13355,"nodeType":"StructuredDocumentation","src":"35789:24:13","text":"See `serializeJson`."},"functionSelector":"ae5a2ae8","implemented":false,"kind":"function","modifiers":[],"name":"serializeUintToHex","nameLocation":"35827:18:13","parameters":{"id":13362,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13357,"mutability":"mutable","name":"objectKey","nameLocation":"35862:9:13","nodeType":"VariableDeclaration","scope":13366,"src":"35846:25:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13356,"name":"string","nodeType":"ElementaryTypeName","src":"35846:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13359,"mutability":"mutable","name":"valueKey","nameLocation":"35889:8:13","nodeType":"VariableDeclaration","scope":13366,"src":"35873:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13358,"name":"string","nodeType":"ElementaryTypeName","src":"35873:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13361,"mutability":"mutable","name":"value","nameLocation":"35907:5:13","nodeType":"VariableDeclaration","scope":13366,"src":"35899:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13360,"name":"uint256","nodeType":"ElementaryTypeName","src":"35899:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"35845:68:13"},"returnParameters":{"id":13365,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13364,"mutability":"mutable","name":"json","nameLocation":"35962:4:13","nodeType":"VariableDeclaration","scope":13366,"src":"35948:18:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13363,"name":"string","nodeType":"ElementaryTypeName","src":"35948:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"35947:20:13"},"scope":15231,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13378,"nodeType":"FunctionDefinition","src":"36003:145:13","nodes":[],"documentation":{"id":13367,"nodeType":"StructuredDocumentation","src":"35974:24:13","text":"See `serializeJson`."},"functionSelector":"129e9002","implemented":false,"kind":"function","modifiers":[],"name":"serializeUint","nameLocation":"36012:13:13","parameters":{"id":13374,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13369,"mutability":"mutable","name":"objectKey","nameLocation":"36042:9:13","nodeType":"VariableDeclaration","scope":13378,"src":"36026:25:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13368,"name":"string","nodeType":"ElementaryTypeName","src":"36026:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13371,"mutability":"mutable","name":"valueKey","nameLocation":"36069:8:13","nodeType":"VariableDeclaration","scope":13378,"src":"36053:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13370,"name":"string","nodeType":"ElementaryTypeName","src":"36053:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13373,"mutability":"mutable","name":"value","nameLocation":"36087:5:13","nodeType":"VariableDeclaration","scope":13378,"src":"36079:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13372,"name":"uint256","nodeType":"ElementaryTypeName","src":"36079:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"36025:68:13"},"returnParameters":{"id":13377,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13376,"mutability":"mutable","name":"json","nameLocation":"36142:4:13","nodeType":"VariableDeclaration","scope":13378,"src":"36128:18:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13375,"name":"string","nodeType":"ElementaryTypeName","src":"36128:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"36127:20:13"},"scope":15231,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13391,"nodeType":"FunctionDefinition","src":"36183:157:13","nodes":[],"documentation":{"id":13379,"nodeType":"StructuredDocumentation","src":"36154:24:13","text":"See `serializeJson`."},"functionSelector":"fee9a469","implemented":false,"kind":"function","modifiers":[],"name":"serializeUint","nameLocation":"36192:13:13","parameters":{"id":13387,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13381,"mutability":"mutable","name":"objectKey","nameLocation":"36222:9:13","nodeType":"VariableDeclaration","scope":13391,"src":"36206:25:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13380,"name":"string","nodeType":"ElementaryTypeName","src":"36206:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13383,"mutability":"mutable","name":"valueKey","nameLocation":"36249:8:13","nodeType":"VariableDeclaration","scope":13391,"src":"36233:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13382,"name":"string","nodeType":"ElementaryTypeName","src":"36233:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13386,"mutability":"mutable","name":"values","nameLocation":"36278:6:13","nodeType":"VariableDeclaration","scope":13391,"src":"36259:25:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":13384,"name":"uint256","nodeType":"ElementaryTypeName","src":"36259:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":13385,"nodeType":"ArrayTypeName","src":"36259:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"36205:80:13"},"returnParameters":{"id":13390,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13389,"mutability":"mutable","name":"json","nameLocation":"36334:4:13","nodeType":"VariableDeclaration","scope":13391,"src":"36320:18:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13388,"name":"string","nodeType":"ElementaryTypeName","src":"36320:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"36319:20:13"},"scope":15231,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13399,"nodeType":"FunctionDefinition","src":"36440:72:13","nodes":[],"documentation":{"id":13392,"nodeType":"StructuredDocumentation","src":"36346:89:13","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:13","parameters":{"id":13397,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13394,"mutability":"mutable","name":"json","nameLocation":"36475:4:13","nodeType":"VariableDeclaration","scope":13399,"src":"36459:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13393,"name":"string","nodeType":"ElementaryTypeName","src":"36459:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13396,"mutability":"mutable","name":"path","nameLocation":"36497:4:13","nodeType":"VariableDeclaration","scope":13399,"src":"36481:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13395,"name":"string","nodeType":"ElementaryTypeName","src":"36481:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"36458:44:13"},"returnParameters":{"id":13398,"nodeType":"ParameterList","parameters":[],"src":"36511:0:13"},"scope":15231,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13409,"nodeType":"FunctionDefinition","src":"36738:98:13","nodes":[],"documentation":{"id":13400,"nodeType":"StructuredDocumentation","src":"36518:215:13","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:13","parameters":{"id":13407,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13402,"mutability":"mutable","name":"json","nameLocation":"36773:4:13","nodeType":"VariableDeclaration","scope":13409,"src":"36757:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13401,"name":"string","nodeType":"ElementaryTypeName","src":"36757:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13404,"mutability":"mutable","name":"path","nameLocation":"36795:4:13","nodeType":"VariableDeclaration","scope":13409,"src":"36779:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13403,"name":"string","nodeType":"ElementaryTypeName","src":"36779:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13406,"mutability":"mutable","name":"valueKey","nameLocation":"36817:8:13","nodeType":"VariableDeclaration","scope":13409,"src":"36801:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13405,"name":"string","nodeType":"ElementaryTypeName","src":"36801:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"36756:70:13"},"returnParameters":{"id":13408,"nodeType":"ParameterList","parameters":[],"src":"36835:0:13"},"scope":15231,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13413,"nodeType":"FunctionDefinition","src":"37375:30:13","nodes":[],"documentation":{"id":13410,"nodeType":"StructuredDocumentation","src":"36878:492:13","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:13","parameters":{"id":13411,"nodeType":"ParameterList","parameters":[],"src":"37393:2:13"},"returnParameters":{"id":13412,"nodeType":"ParameterList","parameters":[],"src":"37404:0:13"},"scope":15231,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13419,"nodeType":"FunctionDefinition","src":"37575:44:13","nodes":[],"documentation":{"id":13414,"nodeType":"StructuredDocumentation","src":"37411:159:13","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:13","parameters":{"id":13417,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13416,"mutability":"mutable","name":"signer","nameLocation":"37602:6:13","nodeType":"VariableDeclaration","scope":13419,"src":"37594:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13415,"name":"address","nodeType":"ElementaryTypeName","src":"37594:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"37593:16:13"},"returnParameters":{"id":13418,"nodeType":"ParameterList","parameters":[],"src":"37618:0:13"},"scope":15231,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13425,"nodeType":"FunctionDefinition","src":"37793:48:13","nodes":[],"documentation":{"id":13420,"nodeType":"StructuredDocumentation","src":"37625:163:13","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:13","parameters":{"id":13423,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13422,"mutability":"mutable","name":"privateKey","nameLocation":"37820:10:13","nodeType":"VariableDeclaration","scope":13425,"src":"37812:18:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13421,"name":"uint256","nodeType":"ElementaryTypeName","src":"37812:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"37811:20:13"},"returnParameters":{"id":13424,"nodeType":"ParameterList","parameters":[],"src":"37840:0:13"},"scope":15231,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13429,"nodeType":"FunctionDefinition","src":"38351:35:13","nodes":[],"documentation":{"id":13426,"nodeType":"StructuredDocumentation","src":"37847:499:13","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:13","parameters":{"id":13427,"nodeType":"ParameterList","parameters":[],"src":"38374:2:13"},"returnParameters":{"id":13428,"nodeType":"ParameterList","parameters":[],"src":"38385:0:13"},"scope":15231,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13435,"nodeType":"FunctionDefinition","src":"38548:49:13","nodes":[],"documentation":{"id":13430,"nodeType":"StructuredDocumentation","src":"38392:151:13","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:13","parameters":{"id":13433,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13432,"mutability":"mutable","name":"signer","nameLocation":"38580:6:13","nodeType":"VariableDeclaration","scope":13435,"src":"38572:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13431,"name":"address","nodeType":"ElementaryTypeName","src":"38572:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"38571:16:13"},"returnParameters":{"id":13434,"nodeType":"ParameterList","parameters":[],"src":"38596:0:13"},"scope":15231,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13441,"nodeType":"FunctionDefinition","src":"38763:53:13","nodes":[],"documentation":{"id":13436,"nodeType":"StructuredDocumentation","src":"38603:155:13","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:13","parameters":{"id":13439,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13438,"mutability":"mutable","name":"privateKey","nameLocation":"38795:10:13","nodeType":"VariableDeclaration","scope":13441,"src":"38787:18:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13437,"name":"uint256","nodeType":"ElementaryTypeName","src":"38787:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"38786:20:13"},"returnParameters":{"id":13440,"nodeType":"ParameterList","parameters":[],"src":"38815:0:13"},"scope":15231,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13445,"nodeType":"FunctionDefinition","src":"38869:34:13","nodes":[],"documentation":{"id":13442,"nodeType":"StructuredDocumentation","src":"38822:42:13","text":"Stops collecting onchain transactions."},"functionSelector":"76eadd36","implemented":false,"kind":"function","modifiers":[],"name":"stopBroadcast","nameLocation":"38878:13:13","parameters":{"id":13443,"nodeType":"ParameterList","parameters":[],"src":"38891:2:13"},"returnParameters":{"id":13444,"nodeType":"ParameterList","parameters":[],"src":"38902:0:13"},"scope":15231,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":13455,"nodeType":"FunctionDefinition","src":"39152:93:13","nodes":[],"documentation":{"id":13446,"nodeType":"StructuredDocumentation","src":"38942:205:13","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:13","parameters":{"id":13451,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13448,"mutability":"mutable","name":"input","nameLocation":"39185:5:13","nodeType":"VariableDeclaration","scope":13455,"src":"39169:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13447,"name":"string","nodeType":"ElementaryTypeName","src":"39169:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13450,"mutability":"mutable","name":"key","nameLocation":"39208:3:13","nodeType":"VariableDeclaration","scope":13455,"src":"39192:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13449,"name":"string","nodeType":"ElementaryTypeName","src":"39192:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"39168:44:13"},"returnParameters":{"id":13454,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13453,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":13455,"src":"39236:7:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13452,"name":"uint256","nodeType":"ElementaryTypeName","src":"39236:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"39235:9:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13463,"nodeType":"FunctionDefinition","src":"39304:100:13","nodes":[],"documentation":{"id":13456,"nodeType":"StructuredDocumentation","src":"39251:48:13","text":"Parses the given `string` into an `address`."},"functionSelector":"c6ce059d","implemented":false,"kind":"function","modifiers":[],"name":"parseAddress","nameLocation":"39313:12:13","parameters":{"id":13459,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13458,"mutability":"mutable","name":"stringifiedValue","nameLocation":"39342:16:13","nodeType":"VariableDeclaration","scope":13463,"src":"39326:32:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13457,"name":"string","nodeType":"ElementaryTypeName","src":"39326:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"39325:34:13"},"returnParameters":{"id":13462,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13461,"mutability":"mutable","name":"parsedValue","nameLocation":"39391:11:13","nodeType":"VariableDeclaration","scope":13463,"src":"39383:19:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13460,"name":"address","nodeType":"ElementaryTypeName","src":"39383:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"39382:21:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13471,"nodeType":"FunctionDefinition","src":"39459:94:13","nodes":[],"documentation":{"id":13464,"nodeType":"StructuredDocumentation","src":"39410:44:13","text":"Parses the given `string` into a `bool`."},"functionSelector":"974ef924","implemented":false,"kind":"function","modifiers":[],"name":"parseBool","nameLocation":"39468:9:13","parameters":{"id":13467,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13466,"mutability":"mutable","name":"stringifiedValue","nameLocation":"39494:16:13","nodeType":"VariableDeclaration","scope":13471,"src":"39478:32:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13465,"name":"string","nodeType":"ElementaryTypeName","src":"39478:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"39477:34:13"},"returnParameters":{"id":13470,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13469,"mutability":"mutable","name":"parsedValue","nameLocation":"39540:11:13","nodeType":"VariableDeclaration","scope":13471,"src":"39535:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13468,"name":"bool","nodeType":"ElementaryTypeName","src":"39535:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"39534:18:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13479,"nodeType":"FunctionDefinition","src":"39607:103:13","nodes":[],"documentation":{"id":13472,"nodeType":"StructuredDocumentation","src":"39559:43:13","text":"Parses the given `string` into `bytes`."},"functionSelector":"8f5d232d","implemented":false,"kind":"function","modifiers":[],"name":"parseBytes","nameLocation":"39616:10:13","parameters":{"id":13475,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13474,"mutability":"mutable","name":"stringifiedValue","nameLocation":"39643:16:13","nodeType":"VariableDeclaration","scope":13479,"src":"39627:32:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13473,"name":"string","nodeType":"ElementaryTypeName","src":"39627:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"39626:34:13"},"returnParameters":{"id":13478,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13477,"mutability":"mutable","name":"parsedValue","nameLocation":"39697:11:13","nodeType":"VariableDeclaration","scope":13479,"src":"39684:24:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":13476,"name":"bytes","nodeType":"ElementaryTypeName","src":"39684:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"39683:26:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13487,"nodeType":"FunctionDefinition","src":"39768:100:13","nodes":[],"documentation":{"id":13480,"nodeType":"StructuredDocumentation","src":"39716:47:13","text":"Parses the given `string` into a `bytes32`."},"functionSelector":"087e6e81","implemented":false,"kind":"function","modifiers":[],"name":"parseBytes32","nameLocation":"39777:12:13","parameters":{"id":13483,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13482,"mutability":"mutable","name":"stringifiedValue","nameLocation":"39806:16:13","nodeType":"VariableDeclaration","scope":13487,"src":"39790:32:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13481,"name":"string","nodeType":"ElementaryTypeName","src":"39790:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"39789:34:13"},"returnParameters":{"id":13486,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13485,"mutability":"mutable","name":"parsedValue","nameLocation":"39855:11:13","nodeType":"VariableDeclaration","scope":13487,"src":"39847:19:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13484,"name":"bytes32","nodeType":"ElementaryTypeName","src":"39847:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"39846:21:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13495,"nodeType":"FunctionDefinition","src":"39925:95:13","nodes":[],"documentation":{"id":13488,"nodeType":"StructuredDocumentation","src":"39874:46:13","text":"Parses the given `string` into a `int256`."},"functionSelector":"42346c5e","implemented":false,"kind":"function","modifiers":[],"name":"parseInt","nameLocation":"39934:8:13","parameters":{"id":13491,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13490,"mutability":"mutable","name":"stringifiedValue","nameLocation":"39959:16:13","nodeType":"VariableDeclaration","scope":13495,"src":"39943:32:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13489,"name":"string","nodeType":"ElementaryTypeName","src":"39943:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"39942:34:13"},"returnParameters":{"id":13494,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13493,"mutability":"mutable","name":"parsedValue","nameLocation":"40007:11:13","nodeType":"VariableDeclaration","scope":13495,"src":"40000:18:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":13492,"name":"int256","nodeType":"ElementaryTypeName","src":"40000:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"39999:20:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13503,"nodeType":"FunctionDefinition","src":"40078:97:13","nodes":[],"documentation":{"id":13496,"nodeType":"StructuredDocumentation","src":"40026:47:13","text":"Parses the given `string` into a `uint256`."},"functionSelector":"fa91454d","implemented":false,"kind":"function","modifiers":[],"name":"parseUint","nameLocation":"40087:9:13","parameters":{"id":13499,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13498,"mutability":"mutable","name":"stringifiedValue","nameLocation":"40113:16:13","nodeType":"VariableDeclaration","scope":13503,"src":"40097:32:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13497,"name":"string","nodeType":"ElementaryTypeName","src":"40097:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"40096:34:13"},"returnParameters":{"id":13502,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13501,"mutability":"mutable","name":"parsedValue","nameLocation":"40162:11:13","nodeType":"VariableDeclaration","scope":13503,"src":"40154:19:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13500,"name":"uint256","nodeType":"ElementaryTypeName","src":"40154:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"40153:21:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13515,"nodeType":"FunctionDefinition","src":"40253:151:13","nodes":[],"documentation":{"id":13504,"nodeType":"StructuredDocumentation","src":"40181:67:13","text":"Replaces occurrences of `from` in the given `string` with `to`."},"functionSelector":"e00ad03e","implemented":false,"kind":"function","modifiers":[],"name":"replace","nameLocation":"40262:7:13","parameters":{"id":13511,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13506,"mutability":"mutable","name":"input","nameLocation":"40286:5:13","nodeType":"VariableDeclaration","scope":13515,"src":"40270:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13505,"name":"string","nodeType":"ElementaryTypeName","src":"40270:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13508,"mutability":"mutable","name":"from","nameLocation":"40309:4:13","nodeType":"VariableDeclaration","scope":13515,"src":"40293:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13507,"name":"string","nodeType":"ElementaryTypeName","src":"40293:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13510,"mutability":"mutable","name":"to","nameLocation":"40331:2:13","nodeType":"VariableDeclaration","scope":13515,"src":"40315:18:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13509,"name":"string","nodeType":"ElementaryTypeName","src":"40315:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"40269:65:13"},"returnParameters":{"id":13514,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13513,"mutability":"mutable","name":"output","nameLocation":"40396:6:13","nodeType":"VariableDeclaration","scope":13515,"src":"40382:20:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13512,"name":"string","nodeType":"ElementaryTypeName","src":"40382:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"40381:22:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13526,"nodeType":"FunctionDefinition","src":"40497:113:13","nodes":[],"documentation":{"id":13516,"nodeType":"StructuredDocumentation","src":"40410:82:13","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:13","parameters":{"id":13521,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13518,"mutability":"mutable","name":"input","nameLocation":"40528:5:13","nodeType":"VariableDeclaration","scope":13526,"src":"40512:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13517,"name":"string","nodeType":"ElementaryTypeName","src":"40512:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13520,"mutability":"mutable","name":"delimiter","nameLocation":"40551:9:13","nodeType":"VariableDeclaration","scope":13526,"src":"40535:25:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13519,"name":"string","nodeType":"ElementaryTypeName","src":"40535:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"40511:50:13"},"returnParameters":{"id":13525,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13524,"mutability":"mutable","name":"outputs","nameLocation":"40601:7:13","nodeType":"VariableDeclaration","scope":13526,"src":"40585:23:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":13522,"name":"string","nodeType":"ElementaryTypeName","src":"40585:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":13523,"nodeType":"ArrayTypeName","src":"40585:8:13","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"40584:25:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13534,"nodeType":"FunctionDefinition","src":"40672:89:13","nodes":[],"documentation":{"id":13527,"nodeType":"StructuredDocumentation","src":"40616:51:13","text":"Converts the given `string` value to Lowercase."},"functionSelector":"50bb0884","implemented":false,"kind":"function","modifiers":[],"name":"toLowercase","nameLocation":"40681:11:13","parameters":{"id":13530,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13529,"mutability":"mutable","name":"input","nameLocation":"40709:5:13","nodeType":"VariableDeclaration","scope":13534,"src":"40693:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13528,"name":"string","nodeType":"ElementaryTypeName","src":"40693:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"40692:23:13"},"returnParameters":{"id":13533,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13532,"mutability":"mutable","name":"output","nameLocation":"40753:6:13","nodeType":"VariableDeclaration","scope":13534,"src":"40739:20:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13531,"name":"string","nodeType":"ElementaryTypeName","src":"40739:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"40738:22:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13542,"nodeType":"FunctionDefinition","src":"40815:88:13","nodes":[],"documentation":{"id":13535,"nodeType":"StructuredDocumentation","src":"40767:43:13","text":"Converts the given value to a `string`."},"functionSelector":"56ca623e","implemented":false,"kind":"function","modifiers":[],"name":"toString","nameLocation":"40824:8:13","parameters":{"id":13538,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13537,"mutability":"mutable","name":"value","nameLocation":"40841:5:13","nodeType":"VariableDeclaration","scope":13542,"src":"40833:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":13536,"name":"address","nodeType":"ElementaryTypeName","src":"40833:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"40832:15:13"},"returnParameters":{"id":13541,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13540,"mutability":"mutable","name":"stringifiedValue","nameLocation":"40885:16:13","nodeType":"VariableDeclaration","scope":13542,"src":"40871:30:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13539,"name":"string","nodeType":"ElementaryTypeName","src":"40871:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"40870:32:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13550,"nodeType":"FunctionDefinition","src":"40957:95:13","nodes":[],"documentation":{"id":13543,"nodeType":"StructuredDocumentation","src":"40909:43:13","text":"Converts the given value to a `string`."},"functionSelector":"71aad10d","implemented":false,"kind":"function","modifiers":[],"name":"toString","nameLocation":"40966:8:13","parameters":{"id":13546,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13545,"mutability":"mutable","name":"value","nameLocation":"40990:5:13","nodeType":"VariableDeclaration","scope":13550,"src":"40975:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":13544,"name":"bytes","nodeType":"ElementaryTypeName","src":"40975:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"40974:22:13"},"returnParameters":{"id":13549,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13548,"mutability":"mutable","name":"stringifiedValue","nameLocation":"41034:16:13","nodeType":"VariableDeclaration","scope":13550,"src":"41020:30:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13547,"name":"string","nodeType":"ElementaryTypeName","src":"41020:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"41019:32:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13558,"nodeType":"FunctionDefinition","src":"41106:88:13","nodes":[],"documentation":{"id":13551,"nodeType":"StructuredDocumentation","src":"41058:43:13","text":"Converts the given value to a `string`."},"functionSelector":"b11a19e8","implemented":false,"kind":"function","modifiers":[],"name":"toString","nameLocation":"41115:8:13","parameters":{"id":13554,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13553,"mutability":"mutable","name":"value","nameLocation":"41132:5:13","nodeType":"VariableDeclaration","scope":13558,"src":"41124:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":13552,"name":"bytes32","nodeType":"ElementaryTypeName","src":"41124:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"41123:15:13"},"returnParameters":{"id":13557,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13556,"mutability":"mutable","name":"stringifiedValue","nameLocation":"41176:16:13","nodeType":"VariableDeclaration","scope":13558,"src":"41162:30:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13555,"name":"string","nodeType":"ElementaryTypeName","src":"41162:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"41161:32:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13566,"nodeType":"FunctionDefinition","src":"41248:85:13","nodes":[],"documentation":{"id":13559,"nodeType":"StructuredDocumentation","src":"41200:43:13","text":"Converts the given value to a `string`."},"functionSelector":"71dce7da","implemented":false,"kind":"function","modifiers":[],"name":"toString","nameLocation":"41257:8:13","parameters":{"id":13562,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13561,"mutability":"mutable","name":"value","nameLocation":"41271:5:13","nodeType":"VariableDeclaration","scope":13566,"src":"41266:10:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13560,"name":"bool","nodeType":"ElementaryTypeName","src":"41266:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"41265:12:13"},"returnParameters":{"id":13565,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13564,"mutability":"mutable","name":"stringifiedValue","nameLocation":"41315:16:13","nodeType":"VariableDeclaration","scope":13566,"src":"41301:30:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13563,"name":"string","nodeType":"ElementaryTypeName","src":"41301:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"41300:32:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13574,"nodeType":"FunctionDefinition","src":"41387:88:13","nodes":[],"documentation":{"id":13567,"nodeType":"StructuredDocumentation","src":"41339:43:13","text":"Converts the given value to a `string`."},"functionSelector":"6900a3ae","implemented":false,"kind":"function","modifiers":[],"name":"toString","nameLocation":"41396:8:13","parameters":{"id":13570,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13569,"mutability":"mutable","name":"value","nameLocation":"41413:5:13","nodeType":"VariableDeclaration","scope":13574,"src":"41405:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13568,"name":"uint256","nodeType":"ElementaryTypeName","src":"41405:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"41404:15:13"},"returnParameters":{"id":13573,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13572,"mutability":"mutable","name":"stringifiedValue","nameLocation":"41457:16:13","nodeType":"VariableDeclaration","scope":13574,"src":"41443:30:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13571,"name":"string","nodeType":"ElementaryTypeName","src":"41443:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"41442:32:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13582,"nodeType":"FunctionDefinition","src":"41529:87:13","nodes":[],"documentation":{"id":13575,"nodeType":"StructuredDocumentation","src":"41481:43:13","text":"Converts the given value to a `string`."},"functionSelector":"a322c40e","implemented":false,"kind":"function","modifiers":[],"name":"toString","nameLocation":"41538:8:13","parameters":{"id":13578,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13577,"mutability":"mutable","name":"value","nameLocation":"41554:5:13","nodeType":"VariableDeclaration","scope":13582,"src":"41547:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":13576,"name":"int256","nodeType":"ElementaryTypeName","src":"41547:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"41546:14:13"},"returnParameters":{"id":13581,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13580,"mutability":"mutable","name":"stringifiedValue","nameLocation":"41598:16:13","nodeType":"VariableDeclaration","scope":13582,"src":"41584:30:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13579,"name":"string","nodeType":"ElementaryTypeName","src":"41584:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"41583:32:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13590,"nodeType":"FunctionDefinition","src":"41678:89:13","nodes":[],"documentation":{"id":13583,"nodeType":"StructuredDocumentation","src":"41622:51:13","text":"Converts the given `string` value to Uppercase."},"functionSelector":"074ae3d7","implemented":false,"kind":"function","modifiers":[],"name":"toUppercase","nameLocation":"41687:11:13","parameters":{"id":13586,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13585,"mutability":"mutable","name":"input","nameLocation":"41715:5:13","nodeType":"VariableDeclaration","scope":13590,"src":"41699:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13584,"name":"string","nodeType":"ElementaryTypeName","src":"41699:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"41698:23:13"},"returnParameters":{"id":13589,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13588,"mutability":"mutable","name":"output","nameLocation":"41759:6:13","nodeType":"VariableDeclaration","scope":13590,"src":"41745:20:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13587,"name":"string","nodeType":"ElementaryTypeName","src":"41745:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"41744:22:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13598,"nodeType":"FunctionDefinition","src":"41850:82:13","nodes":[],"documentation":{"id":13591,"nodeType":"StructuredDocumentation","src":"41773:72:13","text":"Trims leading and trailing whitespace from the given `string` value."},"functionSelector":"b2dad155","implemented":false,"kind":"function","modifiers":[],"name":"trim","nameLocation":"41859:4:13","parameters":{"id":13594,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13593,"mutability":"mutable","name":"input","nameLocation":"41880:5:13","nodeType":"VariableDeclaration","scope":13598,"src":"41864:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13592,"name":"string","nodeType":"ElementaryTypeName","src":"41864:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"41863:23:13"},"returnParameters":{"id":13597,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13596,"mutability":"mutable","name":"output","nameLocation":"41924:6:13","nodeType":"VariableDeclaration","scope":13598,"src":"41910:20:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":13595,"name":"string","nodeType":"ElementaryTypeName","src":"41910:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"41909:22:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13610,"nodeType":"FunctionDefinition","src":"42127:113:13","nodes":[],"documentation":{"id":13599,"nodeType":"StructuredDocumentation","src":"41972:150:13","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:13","parameters":{"id":13608,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13601,"mutability":"mutable","name":"left","nameLocation":"42169:4:13","nodeType":"VariableDeclaration","scope":13610,"src":"42161:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13600,"name":"uint256","nodeType":"ElementaryTypeName","src":"42161:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13603,"mutability":"mutable","name":"right","nameLocation":"42183:5:13","nodeType":"VariableDeclaration","scope":13610,"src":"42175:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13602,"name":"uint256","nodeType":"ElementaryTypeName","src":"42175:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13605,"mutability":"mutable","name":"maxDelta","nameLocation":"42198:8:13","nodeType":"VariableDeclaration","scope":13610,"src":"42190:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13604,"name":"uint256","nodeType":"ElementaryTypeName","src":"42190:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13607,"mutability":"mutable","name":"decimals","nameLocation":"42216:8:13","nodeType":"VariableDeclaration","scope":13610,"src":"42208:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13606,"name":"uint256","nodeType":"ElementaryTypeName","src":"42208:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"42160:65:13"},"returnParameters":{"id":13609,"nodeType":"ParameterList","parameters":[],"src":"42239:0:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13624,"nodeType":"FunctionDefinition","src":"42455:182:13","nodes":[],"documentation":{"id":13611,"nodeType":"StructuredDocumentation","src":"42246:204:13","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:13","parameters":{"id":13622,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13613,"mutability":"mutable","name":"left","nameLocation":"42506:4:13","nodeType":"VariableDeclaration","scope":13624,"src":"42498:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13612,"name":"uint256","nodeType":"ElementaryTypeName","src":"42498:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13615,"mutability":"mutable","name":"right","nameLocation":"42528:5:13","nodeType":"VariableDeclaration","scope":13624,"src":"42520:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13614,"name":"uint256","nodeType":"ElementaryTypeName","src":"42520:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13617,"mutability":"mutable","name":"maxDelta","nameLocation":"42551:8:13","nodeType":"VariableDeclaration","scope":13624,"src":"42543:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13616,"name":"uint256","nodeType":"ElementaryTypeName","src":"42543:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13619,"mutability":"mutable","name":"decimals","nameLocation":"42577:8:13","nodeType":"VariableDeclaration","scope":13624,"src":"42569:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13618,"name":"uint256","nodeType":"ElementaryTypeName","src":"42569:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13621,"mutability":"mutable","name":"error","nameLocation":"42611:5:13","nodeType":"VariableDeclaration","scope":13624,"src":"42595:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13620,"name":"string","nodeType":"ElementaryTypeName","src":"42595:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"42488:134:13"},"returnParameters":{"id":13623,"nodeType":"ParameterList","parameters":[],"src":"42636:0:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13636,"nodeType":"FunctionDefinition","src":"42797:111:13","nodes":[],"documentation":{"id":13625,"nodeType":"StructuredDocumentation","src":"42643:149:13","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:13","parameters":{"id":13634,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13627,"mutability":"mutable","name":"left","nameLocation":"42838:4:13","nodeType":"VariableDeclaration","scope":13636,"src":"42831:11:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":13626,"name":"int256","nodeType":"ElementaryTypeName","src":"42831:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":13629,"mutability":"mutable","name":"right","nameLocation":"42851:5:13","nodeType":"VariableDeclaration","scope":13636,"src":"42844:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":13628,"name":"int256","nodeType":"ElementaryTypeName","src":"42844:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":13631,"mutability":"mutable","name":"maxDelta","nameLocation":"42866:8:13","nodeType":"VariableDeclaration","scope":13636,"src":"42858:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13630,"name":"uint256","nodeType":"ElementaryTypeName","src":"42858:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13633,"mutability":"mutable","name":"decimals","nameLocation":"42884:8:13","nodeType":"VariableDeclaration","scope":13636,"src":"42876:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13632,"name":"uint256","nodeType":"ElementaryTypeName","src":"42876:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"42830:63:13"},"returnParameters":{"id":13635,"nodeType":"ParameterList","parameters":[],"src":"42907:0:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13650,"nodeType":"FunctionDefinition","src":"43122:180:13","nodes":[],"documentation":{"id":13637,"nodeType":"StructuredDocumentation","src":"42914:203:13","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:13","parameters":{"id":13648,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13639,"mutability":"mutable","name":"left","nameLocation":"43172:4:13","nodeType":"VariableDeclaration","scope":13650,"src":"43165:11:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":13638,"name":"int256","nodeType":"ElementaryTypeName","src":"43165:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":13641,"mutability":"mutable","name":"right","nameLocation":"43193:5:13","nodeType":"VariableDeclaration","scope":13650,"src":"43186:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":13640,"name":"int256","nodeType":"ElementaryTypeName","src":"43186:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":13643,"mutability":"mutable","name":"maxDelta","nameLocation":"43216:8:13","nodeType":"VariableDeclaration","scope":13650,"src":"43208:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13642,"name":"uint256","nodeType":"ElementaryTypeName","src":"43208:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13645,"mutability":"mutable","name":"decimals","nameLocation":"43242:8:13","nodeType":"VariableDeclaration","scope":13650,"src":"43234:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13644,"name":"uint256","nodeType":"ElementaryTypeName","src":"43234:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13647,"mutability":"mutable","name":"error","nameLocation":"43276:5:13","nodeType":"VariableDeclaration","scope":13650,"src":"43260:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13646,"name":"string","nodeType":"ElementaryTypeName","src":"43260:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"43155:132:13"},"returnParameters":{"id":13649,"nodeType":"ParameterList","parameters":[],"src":"43301:0:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13660,"nodeType":"FunctionDefinition","src":"43406:88:13","nodes":[],"documentation":{"id":13651,"nodeType":"StructuredDocumentation","src":"43308:93:13","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:13","parameters":{"id":13658,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13653,"mutability":"mutable","name":"left","nameLocation":"43441:4:13","nodeType":"VariableDeclaration","scope":13660,"src":"43433:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13652,"name":"uint256","nodeType":"ElementaryTypeName","src":"43433:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13655,"mutability":"mutable","name":"right","nameLocation":"43455:5:13","nodeType":"VariableDeclaration","scope":13660,"src":"43447:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13654,"name":"uint256","nodeType":"ElementaryTypeName","src":"43447:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13657,"mutability":"mutable","name":"maxDelta","nameLocation":"43470:8:13","nodeType":"VariableDeclaration","scope":13660,"src":"43462:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13656,"name":"uint256","nodeType":"ElementaryTypeName","src":"43462:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"43432:47:13"},"returnParameters":{"id":13659,"nodeType":"ParameterList","parameters":[],"src":"43493:0:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13672,"nodeType":"FunctionDefinition","src":"43660:111:13","nodes":[],"documentation":{"id":13661,"nodeType":"StructuredDocumentation","src":"43500:155:13","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:13","parameters":{"id":13670,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13663,"mutability":"mutable","name":"left","nameLocation":"43695:4:13","nodeType":"VariableDeclaration","scope":13672,"src":"43687:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13662,"name":"uint256","nodeType":"ElementaryTypeName","src":"43687:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13665,"mutability":"mutable","name":"right","nameLocation":"43709:5:13","nodeType":"VariableDeclaration","scope":13672,"src":"43701:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13664,"name":"uint256","nodeType":"ElementaryTypeName","src":"43701:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13667,"mutability":"mutable","name":"maxDelta","nameLocation":"43724:8:13","nodeType":"VariableDeclaration","scope":13672,"src":"43716:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13666,"name":"uint256","nodeType":"ElementaryTypeName","src":"43716:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13669,"mutability":"mutable","name":"error","nameLocation":"43750:5:13","nodeType":"VariableDeclaration","scope":13672,"src":"43734:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13668,"name":"string","nodeType":"ElementaryTypeName","src":"43734:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"43686:70:13"},"returnParameters":{"id":13671,"nodeType":"ParameterList","parameters":[],"src":"43770:0:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13682,"nodeType":"FunctionDefinition","src":"43874:86:13","nodes":[],"documentation":{"id":13673,"nodeType":"StructuredDocumentation","src":"43777:92:13","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:13","parameters":{"id":13680,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13675,"mutability":"mutable","name":"left","nameLocation":"43908:4:13","nodeType":"VariableDeclaration","scope":13682,"src":"43901:11:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":13674,"name":"int256","nodeType":"ElementaryTypeName","src":"43901:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":13677,"mutability":"mutable","name":"right","nameLocation":"43921:5:13","nodeType":"VariableDeclaration","scope":13682,"src":"43914:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":13676,"name":"int256","nodeType":"ElementaryTypeName","src":"43914:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":13679,"mutability":"mutable","name":"maxDelta","nameLocation":"43936:8:13","nodeType":"VariableDeclaration","scope":13682,"src":"43928:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13678,"name":"uint256","nodeType":"ElementaryTypeName","src":"43928:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"43900:45:13"},"returnParameters":{"id":13681,"nodeType":"ParameterList","parameters":[],"src":"43959:0:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13694,"nodeType":"FunctionDefinition","src":"44125:109:13","nodes":[],"documentation":{"id":13683,"nodeType":"StructuredDocumentation","src":"43966:154:13","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:13","parameters":{"id":13692,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13685,"mutability":"mutable","name":"left","nameLocation":"44159:4:13","nodeType":"VariableDeclaration","scope":13694,"src":"44152:11:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":13684,"name":"int256","nodeType":"ElementaryTypeName","src":"44152:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":13687,"mutability":"mutable","name":"right","nameLocation":"44172:5:13","nodeType":"VariableDeclaration","scope":13694,"src":"44165:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":13686,"name":"int256","nodeType":"ElementaryTypeName","src":"44165:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":13689,"mutability":"mutable","name":"maxDelta","nameLocation":"44187:8:13","nodeType":"VariableDeclaration","scope":13694,"src":"44179:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13688,"name":"uint256","nodeType":"ElementaryTypeName","src":"44179:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13691,"mutability":"mutable","name":"error","nameLocation":"44213:5:13","nodeType":"VariableDeclaration","scope":13694,"src":"44197:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13690,"name":"string","nodeType":"ElementaryTypeName","src":"44197:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"44151:68:13"},"returnParameters":{"id":13693,"nodeType":"ParameterList","parameters":[],"src":"44233:0:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13706,"nodeType":"FunctionDefinition","src":"44505:136:13","nodes":[],"documentation":{"id":13695,"nodeType":"StructuredDocumentation","src":"44240:260:13","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:13","parameters":{"id":13704,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13697,"mutability":"mutable","name":"left","nameLocation":"44547:4:13","nodeType":"VariableDeclaration","scope":13706,"src":"44539:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13696,"name":"uint256","nodeType":"ElementaryTypeName","src":"44539:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13699,"mutability":"mutable","name":"right","nameLocation":"44561:5:13","nodeType":"VariableDeclaration","scope":13706,"src":"44553:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13698,"name":"uint256","nodeType":"ElementaryTypeName","src":"44553:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13701,"mutability":"mutable","name":"maxPercentDelta","nameLocation":"44576:15:13","nodeType":"VariableDeclaration","scope":13706,"src":"44568:23:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13700,"name":"uint256","nodeType":"ElementaryTypeName","src":"44568:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13703,"mutability":"mutable","name":"decimals","nameLocation":"44601:8:13","nodeType":"VariableDeclaration","scope":13706,"src":"44593:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13702,"name":"uint256","nodeType":"ElementaryTypeName","src":"44593:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"44538:72:13"},"returnParameters":{"id":13705,"nodeType":"ParameterList","parameters":[],"src":"44640:0:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13720,"nodeType":"FunctionDefinition","src":"44966:189:13","nodes":[],"documentation":{"id":13707,"nodeType":"StructuredDocumentation","src":"44647:314:13","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:13","parameters":{"id":13718,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13709,"mutability":"mutable","name":"left","nameLocation":"45017:4:13","nodeType":"VariableDeclaration","scope":13720,"src":"45009:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13708,"name":"uint256","nodeType":"ElementaryTypeName","src":"45009:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13711,"mutability":"mutable","name":"right","nameLocation":"45039:5:13","nodeType":"VariableDeclaration","scope":13720,"src":"45031:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13710,"name":"uint256","nodeType":"ElementaryTypeName","src":"45031:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13713,"mutability":"mutable","name":"maxPercentDelta","nameLocation":"45062:15:13","nodeType":"VariableDeclaration","scope":13720,"src":"45054:23:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13712,"name":"uint256","nodeType":"ElementaryTypeName","src":"45054:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13715,"mutability":"mutable","name":"decimals","nameLocation":"45095:8:13","nodeType":"VariableDeclaration","scope":13720,"src":"45087:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13714,"name":"uint256","nodeType":"ElementaryTypeName","src":"45087:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13717,"mutability":"mutable","name":"error","nameLocation":"45129:5:13","nodeType":"VariableDeclaration","scope":13720,"src":"45113:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13716,"name":"string","nodeType":"ElementaryTypeName","src":"45113:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"44999:141:13"},"returnParameters":{"id":13719,"nodeType":"ParameterList","parameters":[],"src":"45154:0:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13732,"nodeType":"FunctionDefinition","src":"45425:134:13","nodes":[],"documentation":{"id":13721,"nodeType":"StructuredDocumentation","src":"45161:259:13","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:13","parameters":{"id":13730,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13723,"mutability":"mutable","name":"left","nameLocation":"45466:4:13","nodeType":"VariableDeclaration","scope":13732,"src":"45459:11:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":13722,"name":"int256","nodeType":"ElementaryTypeName","src":"45459:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":13725,"mutability":"mutable","name":"right","nameLocation":"45479:5:13","nodeType":"VariableDeclaration","scope":13732,"src":"45472:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":13724,"name":"int256","nodeType":"ElementaryTypeName","src":"45472:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":13727,"mutability":"mutable","name":"maxPercentDelta","nameLocation":"45494:15:13","nodeType":"VariableDeclaration","scope":13732,"src":"45486:23:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13726,"name":"uint256","nodeType":"ElementaryTypeName","src":"45486:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13729,"mutability":"mutable","name":"decimals","nameLocation":"45519:8:13","nodeType":"VariableDeclaration","scope":13732,"src":"45511:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13728,"name":"uint256","nodeType":"ElementaryTypeName","src":"45511:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"45458:70:13"},"returnParameters":{"id":13731,"nodeType":"ParameterList","parameters":[],"src":"45558:0:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13746,"nodeType":"FunctionDefinition","src":"45883:187:13","nodes":[],"documentation":{"id":13733,"nodeType":"StructuredDocumentation","src":"45565:313:13","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:13","parameters":{"id":13744,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13735,"mutability":"mutable","name":"left","nameLocation":"45933:4:13","nodeType":"VariableDeclaration","scope":13746,"src":"45926:11:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":13734,"name":"int256","nodeType":"ElementaryTypeName","src":"45926:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":13737,"mutability":"mutable","name":"right","nameLocation":"45954:5:13","nodeType":"VariableDeclaration","scope":13746,"src":"45947:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":13736,"name":"int256","nodeType":"ElementaryTypeName","src":"45947:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":13739,"mutability":"mutable","name":"maxPercentDelta","nameLocation":"45977:15:13","nodeType":"VariableDeclaration","scope":13746,"src":"45969:23:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13738,"name":"uint256","nodeType":"ElementaryTypeName","src":"45969:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13741,"mutability":"mutable","name":"decimals","nameLocation":"46010:8:13","nodeType":"VariableDeclaration","scope":13746,"src":"46002:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13740,"name":"uint256","nodeType":"ElementaryTypeName","src":"46002:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13743,"mutability":"mutable","name":"error","nameLocation":"46044:5:13","nodeType":"VariableDeclaration","scope":13746,"src":"46028:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13742,"name":"string","nodeType":"ElementaryTypeName","src":"46028:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"45916:139:13"},"returnParameters":{"id":13745,"nodeType":"ParameterList","parameters":[],"src":"46069:0:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13756,"nodeType":"FunctionDefinition","src":"46284:95:13","nodes":[],"documentation":{"id":13747,"nodeType":"StructuredDocumentation","src":"46076:203:13","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:13","parameters":{"id":13754,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13749,"mutability":"mutable","name":"left","nameLocation":"46319:4:13","nodeType":"VariableDeclaration","scope":13756,"src":"46311:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13748,"name":"uint256","nodeType":"ElementaryTypeName","src":"46311:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13751,"mutability":"mutable","name":"right","nameLocation":"46333:5:13","nodeType":"VariableDeclaration","scope":13756,"src":"46325:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13750,"name":"uint256","nodeType":"ElementaryTypeName","src":"46325:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13753,"mutability":"mutable","name":"maxPercentDelta","nameLocation":"46348:15:13","nodeType":"VariableDeclaration","scope":13756,"src":"46340:23:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13752,"name":"uint256","nodeType":"ElementaryTypeName","src":"46340:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"46310:54:13"},"returnParameters":{"id":13755,"nodeType":"ParameterList","parameters":[],"src":"46378:0:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13768,"nodeType":"FunctionDefinition","src":"46655:134:13","nodes":[],"documentation":{"id":13757,"nodeType":"StructuredDocumentation","src":"46385:265:13","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:13","parameters":{"id":13766,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13759,"mutability":"mutable","name":"left","nameLocation":"46690:4:13","nodeType":"VariableDeclaration","scope":13768,"src":"46682:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13758,"name":"uint256","nodeType":"ElementaryTypeName","src":"46682:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13761,"mutability":"mutable","name":"right","nameLocation":"46704:5:13","nodeType":"VariableDeclaration","scope":13768,"src":"46696:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13760,"name":"uint256","nodeType":"ElementaryTypeName","src":"46696:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13763,"mutability":"mutable","name":"maxPercentDelta","nameLocation":"46719:15:13","nodeType":"VariableDeclaration","scope":13768,"src":"46711:23:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13762,"name":"uint256","nodeType":"ElementaryTypeName","src":"46711:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13765,"mutability":"mutable","name":"error","nameLocation":"46752:5:13","nodeType":"VariableDeclaration","scope":13768,"src":"46736:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13764,"name":"string","nodeType":"ElementaryTypeName","src":"46736:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"46681:77:13"},"returnParameters":{"id":13767,"nodeType":"ParameterList","parameters":[],"src":"46788:0:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13778,"nodeType":"FunctionDefinition","src":"47002:93:13","nodes":[],"documentation":{"id":13769,"nodeType":"StructuredDocumentation","src":"46795:202:13","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:13","parameters":{"id":13776,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13771,"mutability":"mutable","name":"left","nameLocation":"47036:4:13","nodeType":"VariableDeclaration","scope":13778,"src":"47029:11:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":13770,"name":"int256","nodeType":"ElementaryTypeName","src":"47029:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":13773,"mutability":"mutable","name":"right","nameLocation":"47049:5:13","nodeType":"VariableDeclaration","scope":13778,"src":"47042:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":13772,"name":"int256","nodeType":"ElementaryTypeName","src":"47042:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":13775,"mutability":"mutable","name":"maxPercentDelta","nameLocation":"47064:15:13","nodeType":"VariableDeclaration","scope":13778,"src":"47056:23:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13774,"name":"uint256","nodeType":"ElementaryTypeName","src":"47056:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"47028:52:13"},"returnParameters":{"id":13777,"nodeType":"ParameterList","parameters":[],"src":"47094:0:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13790,"nodeType":"FunctionDefinition","src":"47370:132:13","nodes":[],"documentation":{"id":13779,"nodeType":"StructuredDocumentation","src":"47101:264:13","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:13","parameters":{"id":13788,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13781,"mutability":"mutable","name":"left","nameLocation":"47404:4:13","nodeType":"VariableDeclaration","scope":13790,"src":"47397:11:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":13780,"name":"int256","nodeType":"ElementaryTypeName","src":"47397:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":13783,"mutability":"mutable","name":"right","nameLocation":"47417:5:13","nodeType":"VariableDeclaration","scope":13790,"src":"47410:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":13782,"name":"int256","nodeType":"ElementaryTypeName","src":"47410:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":13785,"mutability":"mutable","name":"maxPercentDelta","nameLocation":"47432:15:13","nodeType":"VariableDeclaration","scope":13790,"src":"47424:23:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13784,"name":"uint256","nodeType":"ElementaryTypeName","src":"47424:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13787,"mutability":"mutable","name":"error","nameLocation":"47465:5:13","nodeType":"VariableDeclaration","scope":13790,"src":"47449:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13786,"name":"string","nodeType":"ElementaryTypeName","src":"47449:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"47396:75:13"},"returnParameters":{"id":13789,"nodeType":"ParameterList","parameters":[],"src":"47501:0:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13800,"nodeType":"FunctionDefinition","src":"47611:86:13","nodes":[],"documentation":{"id":13791,"nodeType":"StructuredDocumentation","src":"47508:98:13","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:13","parameters":{"id":13798,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13793,"mutability":"mutable","name":"left","nameLocation":"47644:4:13","nodeType":"VariableDeclaration","scope":13800,"src":"47636:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13792,"name":"uint256","nodeType":"ElementaryTypeName","src":"47636:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13795,"mutability":"mutable","name":"right","nameLocation":"47658:5:13","nodeType":"VariableDeclaration","scope":13800,"src":"47650:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13794,"name":"uint256","nodeType":"ElementaryTypeName","src":"47650:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13797,"mutability":"mutable","name":"decimals","nameLocation":"47673:8:13","nodeType":"VariableDeclaration","scope":13800,"src":"47665:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13796,"name":"uint256","nodeType":"ElementaryTypeName","src":"47665:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"47635:47:13"},"returnParameters":{"id":13799,"nodeType":"ParameterList","parameters":[],"src":"47696:0:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13812,"nodeType":"FunctionDefinition","src":"47868:109:13","nodes":[],"documentation":{"id":13801,"nodeType":"StructuredDocumentation","src":"47703:160:13","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:13","parameters":{"id":13810,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13803,"mutability":"mutable","name":"left","nameLocation":"47901:4:13","nodeType":"VariableDeclaration","scope":13812,"src":"47893:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13802,"name":"uint256","nodeType":"ElementaryTypeName","src":"47893:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13805,"mutability":"mutable","name":"right","nameLocation":"47915:5:13","nodeType":"VariableDeclaration","scope":13812,"src":"47907:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13804,"name":"uint256","nodeType":"ElementaryTypeName","src":"47907:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13807,"mutability":"mutable","name":"decimals","nameLocation":"47930:8:13","nodeType":"VariableDeclaration","scope":13812,"src":"47922:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13806,"name":"uint256","nodeType":"ElementaryTypeName","src":"47922:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13809,"mutability":"mutable","name":"error","nameLocation":"47956:5:13","nodeType":"VariableDeclaration","scope":13812,"src":"47940:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13808,"name":"string","nodeType":"ElementaryTypeName","src":"47940:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"47892:70:13"},"returnParameters":{"id":13811,"nodeType":"ParameterList","parameters":[],"src":"47976:0:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13822,"nodeType":"FunctionDefinition","src":"48085:84:13","nodes":[],"documentation":{"id":13813,"nodeType":"StructuredDocumentation","src":"47983:97:13","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:13","parameters":{"id":13820,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13815,"mutability":"mutable","name":"left","nameLocation":"48117:4:13","nodeType":"VariableDeclaration","scope":13822,"src":"48110:11:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":13814,"name":"int256","nodeType":"ElementaryTypeName","src":"48110:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":13817,"mutability":"mutable","name":"right","nameLocation":"48130:5:13","nodeType":"VariableDeclaration","scope":13822,"src":"48123:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":13816,"name":"int256","nodeType":"ElementaryTypeName","src":"48123:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":13819,"mutability":"mutable","name":"decimals","nameLocation":"48145:8:13","nodeType":"VariableDeclaration","scope":13822,"src":"48137:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13818,"name":"uint256","nodeType":"ElementaryTypeName","src":"48137:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"48109:45:13"},"returnParameters":{"id":13821,"nodeType":"ParameterList","parameters":[],"src":"48168:0:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13834,"nodeType":"FunctionDefinition","src":"48339:107:13","nodes":[],"documentation":{"id":13823,"nodeType":"StructuredDocumentation","src":"48175:159:13","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:13","parameters":{"id":13832,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13825,"mutability":"mutable","name":"left","nameLocation":"48371:4:13","nodeType":"VariableDeclaration","scope":13834,"src":"48364:11:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":13824,"name":"int256","nodeType":"ElementaryTypeName","src":"48364:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":13827,"mutability":"mutable","name":"right","nameLocation":"48384:5:13","nodeType":"VariableDeclaration","scope":13834,"src":"48377:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":13826,"name":"int256","nodeType":"ElementaryTypeName","src":"48377:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":13829,"mutability":"mutable","name":"decimals","nameLocation":"48399:8:13","nodeType":"VariableDeclaration","scope":13834,"src":"48391:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13828,"name":"uint256","nodeType":"ElementaryTypeName","src":"48391:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13831,"mutability":"mutable","name":"error","nameLocation":"48425:5:13","nodeType":"VariableDeclaration","scope":13834,"src":"48409:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13830,"name":"string","nodeType":"ElementaryTypeName","src":"48409:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"48363:68:13"},"returnParameters":{"id":13833,"nodeType":"ParameterList","parameters":[],"src":"48445:0:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13842,"nodeType":"FunctionDefinition","src":"48502:55:13","nodes":[],"documentation":{"id":13835,"nodeType":"StructuredDocumentation","src":"48452:45:13","text":"Asserts that two `bool` values are equal."},"functionSelector":"f7fe3477","implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"48511:8:13","parameters":{"id":13840,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13837,"mutability":"mutable","name":"left","nameLocation":"48525:4:13","nodeType":"VariableDeclaration","scope":13842,"src":"48520:9:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13836,"name":"bool","nodeType":"ElementaryTypeName","src":"48520:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13839,"mutability":"mutable","name":"right","nameLocation":"48536:5:13","nodeType":"VariableDeclaration","scope":13842,"src":"48531:10:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13838,"name":"bool","nodeType":"ElementaryTypeName","src":"48531:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"48519:23:13"},"returnParameters":{"id":13841,"nodeType":"ParameterList","parameters":[],"src":"48556:0:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13852,"nodeType":"FunctionDefinition","src":"48670:78:13","nodes":[],"documentation":{"id":13843,"nodeType":"StructuredDocumentation","src":"48563:102:13","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:13","parameters":{"id":13850,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13845,"mutability":"mutable","name":"left","nameLocation":"48693:4:13","nodeType":"VariableDeclaration","scope":13852,"src":"48688:9:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13844,"name":"bool","nodeType":"ElementaryTypeName","src":"48688:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13847,"mutability":"mutable","name":"right","nameLocation":"48704:5:13","nodeType":"VariableDeclaration","scope":13852,"src":"48699:10:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":13846,"name":"bool","nodeType":"ElementaryTypeName","src":"48699:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":13849,"mutability":"mutable","name":"error","nameLocation":"48727:5:13","nodeType":"VariableDeclaration","scope":13852,"src":"48711:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13848,"name":"string","nodeType":"ElementaryTypeName","src":"48711:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"48687:46:13"},"returnParameters":{"id":13851,"nodeType":"ParameterList","parameters":[],"src":"48747:0:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13860,"nodeType":"FunctionDefinition","src":"48806:77:13","nodes":[],"documentation":{"id":13853,"nodeType":"StructuredDocumentation","src":"48754:47:13","text":"Asserts that two `string` values are equal."},"functionSelector":"f320d963","implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"48815:8:13","parameters":{"id":13858,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13855,"mutability":"mutable","name":"left","nameLocation":"48840:4:13","nodeType":"VariableDeclaration","scope":13860,"src":"48824:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13854,"name":"string","nodeType":"ElementaryTypeName","src":"48824:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13857,"mutability":"mutable","name":"right","nameLocation":"48862:5:13","nodeType":"VariableDeclaration","scope":13860,"src":"48846:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13856,"name":"string","nodeType":"ElementaryTypeName","src":"48846:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"48823:45:13"},"returnParameters":{"id":13859,"nodeType":"ParameterList","parameters":[],"src":"48882:0:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13870,"nodeType":"FunctionDefinition","src":"48998:100:13","nodes":[],"documentation":{"id":13861,"nodeType":"StructuredDocumentation","src":"48889:104:13","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:13","parameters":{"id":13868,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13863,"mutability":"mutable","name":"left","nameLocation":"49032:4:13","nodeType":"VariableDeclaration","scope":13870,"src":"49016:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13862,"name":"string","nodeType":"ElementaryTypeName","src":"49016:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13865,"mutability":"mutable","name":"right","nameLocation":"49054:5:13","nodeType":"VariableDeclaration","scope":13870,"src":"49038:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13864,"name":"string","nodeType":"ElementaryTypeName","src":"49038:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":13867,"mutability":"mutable","name":"error","nameLocation":"49077:5:13","nodeType":"VariableDeclaration","scope":13870,"src":"49061:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13866,"name":"string","nodeType":"ElementaryTypeName","src":"49061:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"49015:68:13"},"returnParameters":{"id":13869,"nodeType":"ParameterList","parameters":[],"src":"49097:0:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13878,"nodeType":"FunctionDefinition","src":"49155:75:13","nodes":[],"documentation":{"id":13871,"nodeType":"StructuredDocumentation","src":"49104:46:13","text":"Asserts that two `bytes` values are equal."},"functionSelector":"97624631","implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"49164:8:13","parameters":{"id":13876,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13873,"mutability":"mutable","name":"left","nameLocation":"49188:4:13","nodeType":"VariableDeclaration","scope":13878,"src":"49173:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":13872,"name":"bytes","nodeType":"ElementaryTypeName","src":"49173:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":13875,"mutability":"mutable","name":"right","nameLocation":"49209:5:13","nodeType":"VariableDeclaration","scope":13878,"src":"49194:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":13874,"name":"bytes","nodeType":"ElementaryTypeName","src":"49194:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"49172:43:13"},"returnParameters":{"id":13877,"nodeType":"ParameterList","parameters":[],"src":"49229:0:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13888,"nodeType":"FunctionDefinition","src":"49344:98:13","nodes":[],"documentation":{"id":13879,"nodeType":"StructuredDocumentation","src":"49236:103:13","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:13","parameters":{"id":13886,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13881,"mutability":"mutable","name":"left","nameLocation":"49377:4:13","nodeType":"VariableDeclaration","scope":13888,"src":"49362:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":13880,"name":"bytes","nodeType":"ElementaryTypeName","src":"49362:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":13883,"mutability":"mutable","name":"right","nameLocation":"49398:5:13","nodeType":"VariableDeclaration","scope":13888,"src":"49383:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":13882,"name":"bytes","nodeType":"ElementaryTypeName","src":"49383:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":13885,"mutability":"mutable","name":"error","nameLocation":"49421:5:13","nodeType":"VariableDeclaration","scope":13888,"src":"49405:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13884,"name":"string","nodeType":"ElementaryTypeName","src":"49405:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"49361:66:13"},"returnParameters":{"id":13887,"nodeType":"ParameterList","parameters":[],"src":"49441:0:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13898,"nodeType":"FunctionDefinition","src":"49508:77:13","nodes":[],"documentation":{"id":13889,"nodeType":"StructuredDocumentation","src":"49448:55:13","text":"Asserts that two arrays of `bool` values are equal."},"functionSelector":"707df785","implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"49517:8:13","parameters":{"id":13896,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13892,"mutability":"mutable","name":"left","nameLocation":"49542:4:13","nodeType":"VariableDeclaration","scope":13898,"src":"49526:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_calldata_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":13890,"name":"bool","nodeType":"ElementaryTypeName","src":"49526:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":13891,"nodeType":"ArrayTypeName","src":"49526:6:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"},{"constant":false,"id":13895,"mutability":"mutable","name":"right","nameLocation":"49564:5:13","nodeType":"VariableDeclaration","scope":13898,"src":"49548:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_calldata_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":13893,"name":"bool","nodeType":"ElementaryTypeName","src":"49548:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":13894,"nodeType":"ArrayTypeName","src":"49548:6:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"}],"src":"49525:45:13"},"returnParameters":{"id":13897,"nodeType":"ParameterList","parameters":[],"src":"49584:0:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13910,"nodeType":"FunctionDefinition","src":"49708:100:13","nodes":[],"documentation":{"id":13899,"nodeType":"StructuredDocumentation","src":"49591:112:13","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:13","parameters":{"id":13908,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13902,"mutability":"mutable","name":"left","nameLocation":"49742:4:13","nodeType":"VariableDeclaration","scope":13910,"src":"49726:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_calldata_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":13900,"name":"bool","nodeType":"ElementaryTypeName","src":"49726:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":13901,"nodeType":"ArrayTypeName","src":"49726:6:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"},{"constant":false,"id":13905,"mutability":"mutable","name":"right","nameLocation":"49764:5:13","nodeType":"VariableDeclaration","scope":13910,"src":"49748:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_calldata_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":13903,"name":"bool","nodeType":"ElementaryTypeName","src":"49748:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":13904,"nodeType":"ArrayTypeName","src":"49748:6:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"},{"constant":false,"id":13907,"mutability":"mutable","name":"error","nameLocation":"49787:5:13","nodeType":"VariableDeclaration","scope":13910,"src":"49771:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13906,"name":"string","nodeType":"ElementaryTypeName","src":"49771:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"49725:68:13"},"returnParameters":{"id":13909,"nodeType":"ParameterList","parameters":[],"src":"49807:0:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13920,"nodeType":"FunctionDefinition","src":"49876:83:13","nodes":[],"documentation":{"id":13911,"nodeType":"StructuredDocumentation","src":"49814:57:13","text":"Asserts that two arrays of `uint256 values are equal."},"functionSelector":"975d5a12","implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"49885:8:13","parameters":{"id":13918,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13914,"mutability":"mutable","name":"left","nameLocation":"49913:4:13","nodeType":"VariableDeclaration","scope":13920,"src":"49894:23:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":13912,"name":"uint256","nodeType":"ElementaryTypeName","src":"49894:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":13913,"nodeType":"ArrayTypeName","src":"49894:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":13917,"mutability":"mutable","name":"right","nameLocation":"49938:5:13","nodeType":"VariableDeclaration","scope":13920,"src":"49919:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":13915,"name":"uint256","nodeType":"ElementaryTypeName","src":"49919:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":13916,"nodeType":"ArrayTypeName","src":"49919:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"49893:51:13"},"returnParameters":{"id":13919,"nodeType":"ParameterList","parameters":[],"src":"49958:0:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13932,"nodeType":"FunctionDefinition","src":"50085:106:13","nodes":[],"documentation":{"id":13921,"nodeType":"StructuredDocumentation","src":"49965:115:13","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:13","parameters":{"id":13930,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13924,"mutability":"mutable","name":"left","nameLocation":"50122:4:13","nodeType":"VariableDeclaration","scope":13932,"src":"50103:23:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":13922,"name":"uint256","nodeType":"ElementaryTypeName","src":"50103:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":13923,"nodeType":"ArrayTypeName","src":"50103:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":13927,"mutability":"mutable","name":"right","nameLocation":"50147:5:13","nodeType":"VariableDeclaration","scope":13932,"src":"50128:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":13925,"name":"uint256","nodeType":"ElementaryTypeName","src":"50128:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":13926,"nodeType":"ArrayTypeName","src":"50128:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":13929,"mutability":"mutable","name":"error","nameLocation":"50170:5:13","nodeType":"VariableDeclaration","scope":13932,"src":"50154:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13928,"name":"string","nodeType":"ElementaryTypeName","src":"50154:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"50102:74:13"},"returnParameters":{"id":13931,"nodeType":"ParameterList","parameters":[],"src":"50190:0:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13942,"nodeType":"FunctionDefinition","src":"50259:81:13","nodes":[],"documentation":{"id":13933,"nodeType":"StructuredDocumentation","src":"50197:57:13","text":"Asserts that two arrays of `int256` values are equal."},"functionSelector":"711043ac","implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"50268:8:13","parameters":{"id":13940,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13936,"mutability":"mutable","name":"left","nameLocation":"50295:4:13","nodeType":"VariableDeclaration","scope":13942,"src":"50277:22:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_calldata_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":13934,"name":"int256","nodeType":"ElementaryTypeName","src":"50277:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":13935,"nodeType":"ArrayTypeName","src":"50277:8:13","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"},{"constant":false,"id":13939,"mutability":"mutable","name":"right","nameLocation":"50319:5:13","nodeType":"VariableDeclaration","scope":13942,"src":"50301:23:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_calldata_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":13937,"name":"int256","nodeType":"ElementaryTypeName","src":"50301:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":13938,"nodeType":"ArrayTypeName","src":"50301:8:13","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"50276:49:13"},"returnParameters":{"id":13941,"nodeType":"ParameterList","parameters":[],"src":"50339:0:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13954,"nodeType":"FunctionDefinition","src":"50465:104:13","nodes":[],"documentation":{"id":13943,"nodeType":"StructuredDocumentation","src":"50346:114:13","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:13","parameters":{"id":13952,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13946,"mutability":"mutable","name":"left","nameLocation":"50501:4:13","nodeType":"VariableDeclaration","scope":13954,"src":"50483:22:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_calldata_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":13944,"name":"int256","nodeType":"ElementaryTypeName","src":"50483:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":13945,"nodeType":"ArrayTypeName","src":"50483:8:13","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"},{"constant":false,"id":13949,"mutability":"mutable","name":"right","nameLocation":"50525:5:13","nodeType":"VariableDeclaration","scope":13954,"src":"50507:23:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_calldata_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":13947,"name":"int256","nodeType":"ElementaryTypeName","src":"50507:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":13948,"nodeType":"ArrayTypeName","src":"50507:8:13","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"},{"constant":false,"id":13951,"mutability":"mutable","name":"error","nameLocation":"50548:5:13","nodeType":"VariableDeclaration","scope":13954,"src":"50532:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13950,"name":"string","nodeType":"ElementaryTypeName","src":"50532:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"50482:72:13"},"returnParameters":{"id":13953,"nodeType":"ParameterList","parameters":[],"src":"50568:0:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13962,"nodeType":"FunctionDefinition","src":"50628:61:13","nodes":[],"documentation":{"id":13955,"nodeType":"StructuredDocumentation","src":"50575:48:13","text":"Asserts that two `uint256` values are equal."},"functionSelector":"98296c54","implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"50637:8:13","parameters":{"id":13960,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13957,"mutability":"mutable","name":"left","nameLocation":"50654:4:13","nodeType":"VariableDeclaration","scope":13962,"src":"50646:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13956,"name":"uint256","nodeType":"ElementaryTypeName","src":"50646:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":13959,"mutability":"mutable","name":"right","nameLocation":"50668:5:13","nodeType":"VariableDeclaration","scope":13962,"src":"50660:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":13958,"name":"uint256","nodeType":"ElementaryTypeName","src":"50660:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"50645:29:13"},"returnParameters":{"id":13961,"nodeType":"ParameterList","parameters":[],"src":"50688:0:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13972,"nodeType":"FunctionDefinition","src":"50758:83:13","nodes":[],"documentation":{"id":13963,"nodeType":"StructuredDocumentation","src":"50695:58:13","text":"Asserts that two arrays of `address` values are equal."},"functionSelector":"3868ac34","implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"50767:8:13","parameters":{"id":13970,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13966,"mutability":"mutable","name":"left","nameLocation":"50795:4:13","nodeType":"VariableDeclaration","scope":13972,"src":"50776:23:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":13964,"name":"address","nodeType":"ElementaryTypeName","src":"50776:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":13965,"nodeType":"ArrayTypeName","src":"50776:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":13969,"mutability":"mutable","name":"right","nameLocation":"50820:5:13","nodeType":"VariableDeclaration","scope":13972,"src":"50801:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":13967,"name":"address","nodeType":"ElementaryTypeName","src":"50801:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":13968,"nodeType":"ArrayTypeName","src":"50801:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"50775:51:13"},"returnParameters":{"id":13971,"nodeType":"ParameterList","parameters":[],"src":"50840:0:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13984,"nodeType":"FunctionDefinition","src":"50967:106:13","nodes":[],"documentation":{"id":13973,"nodeType":"StructuredDocumentation","src":"50847:115:13","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:13","parameters":{"id":13982,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13976,"mutability":"mutable","name":"left","nameLocation":"51004:4:13","nodeType":"VariableDeclaration","scope":13984,"src":"50985:23:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":13974,"name":"address","nodeType":"ElementaryTypeName","src":"50985:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":13975,"nodeType":"ArrayTypeName","src":"50985:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":13979,"mutability":"mutable","name":"right","nameLocation":"51029:5:13","nodeType":"VariableDeclaration","scope":13984,"src":"51010:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":13977,"name":"address","nodeType":"ElementaryTypeName","src":"51010:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":13978,"nodeType":"ArrayTypeName","src":"51010:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":13981,"mutability":"mutable","name":"error","nameLocation":"51052:5:13","nodeType":"VariableDeclaration","scope":13984,"src":"51036:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":13980,"name":"string","nodeType":"ElementaryTypeName","src":"51036:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"50984:74:13"},"returnParameters":{"id":13983,"nodeType":"ParameterList","parameters":[],"src":"51072:0:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":13994,"nodeType":"FunctionDefinition","src":"51142:83:13","nodes":[],"documentation":{"id":13985,"nodeType":"StructuredDocumentation","src":"51079:58:13","text":"Asserts that two arrays of `bytes32` values are equal."},"functionSelector":"0cc9ee84","implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"51151:8:13","parameters":{"id":13992,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13988,"mutability":"mutable","name":"left","nameLocation":"51179:4:13","nodeType":"VariableDeclaration","scope":13994,"src":"51160:23:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_calldata_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":13986,"name":"bytes32","nodeType":"ElementaryTypeName","src":"51160:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":13987,"nodeType":"ArrayTypeName","src":"51160:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":13991,"mutability":"mutable","name":"right","nameLocation":"51204:5:13","nodeType":"VariableDeclaration","scope":13994,"src":"51185:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_calldata_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":13989,"name":"bytes32","nodeType":"ElementaryTypeName","src":"51185:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":13990,"nodeType":"ArrayTypeName","src":"51185:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"51159:51:13"},"returnParameters":{"id":13993,"nodeType":"ParameterList","parameters":[],"src":"51224:0:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14006,"nodeType":"FunctionDefinition","src":"51351:106:13","nodes":[],"documentation":{"id":13995,"nodeType":"StructuredDocumentation","src":"51231:115:13","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:13","parameters":{"id":14004,"nodeType":"ParameterList","parameters":[{"constant":false,"id":13998,"mutability":"mutable","name":"left","nameLocation":"51388:4:13","nodeType":"VariableDeclaration","scope":14006,"src":"51369:23:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_calldata_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":13996,"name":"bytes32","nodeType":"ElementaryTypeName","src":"51369:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":13997,"nodeType":"ArrayTypeName","src":"51369:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":14001,"mutability":"mutable","name":"right","nameLocation":"51413:5:13","nodeType":"VariableDeclaration","scope":14006,"src":"51394:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_calldata_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":13999,"name":"bytes32","nodeType":"ElementaryTypeName","src":"51394:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":14000,"nodeType":"ArrayTypeName","src":"51394:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":14003,"mutability":"mutable","name":"error","nameLocation":"51436:5:13","nodeType":"VariableDeclaration","scope":14006,"src":"51420:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14002,"name":"string","nodeType":"ElementaryTypeName","src":"51420:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"51368:74:13"},"returnParameters":{"id":14005,"nodeType":"ParameterList","parameters":[],"src":"51456:0:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14016,"nodeType":"FunctionDefinition","src":"51525:81:13","nodes":[],"documentation":{"id":14007,"nodeType":"StructuredDocumentation","src":"51463:57:13","text":"Asserts that two arrays of `string` values are equal."},"functionSelector":"cf1c049c","implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"51534:8:13","parameters":{"id":14014,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14010,"mutability":"mutable","name":"left","nameLocation":"51561:4:13","nodeType":"VariableDeclaration","scope":14016,"src":"51543:22:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_string_calldata_ptr_$dyn_calldata_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":14008,"name":"string","nodeType":"ElementaryTypeName","src":"51543:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":14009,"nodeType":"ArrayTypeName","src":"51543:8:13","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":14013,"mutability":"mutable","name":"right","nameLocation":"51585:5:13","nodeType":"VariableDeclaration","scope":14016,"src":"51567:23:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_string_calldata_ptr_$dyn_calldata_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":14011,"name":"string","nodeType":"ElementaryTypeName","src":"51567:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":14012,"nodeType":"ArrayTypeName","src":"51567:8:13","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"51542:49:13"},"returnParameters":{"id":14015,"nodeType":"ParameterList","parameters":[],"src":"51605:0:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14028,"nodeType":"FunctionDefinition","src":"51731:104:13","nodes":[],"documentation":{"id":14017,"nodeType":"StructuredDocumentation","src":"51612:114:13","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:13","parameters":{"id":14026,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14020,"mutability":"mutable","name":"left","nameLocation":"51767:4:13","nodeType":"VariableDeclaration","scope":14028,"src":"51749:22:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_string_calldata_ptr_$dyn_calldata_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":14018,"name":"string","nodeType":"ElementaryTypeName","src":"51749:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":14019,"nodeType":"ArrayTypeName","src":"51749:8:13","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":14023,"mutability":"mutable","name":"right","nameLocation":"51791:5:13","nodeType":"VariableDeclaration","scope":14028,"src":"51773:23:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_string_calldata_ptr_$dyn_calldata_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":14021,"name":"string","nodeType":"ElementaryTypeName","src":"51773:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":14022,"nodeType":"ArrayTypeName","src":"51773:8:13","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":14025,"mutability":"mutable","name":"error","nameLocation":"51814:5:13","nodeType":"VariableDeclaration","scope":14028,"src":"51798:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14024,"name":"string","nodeType":"ElementaryTypeName","src":"51798:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"51748:72:13"},"returnParameters":{"id":14027,"nodeType":"ParameterList","parameters":[],"src":"51834:0:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14038,"nodeType":"FunctionDefinition","src":"51902:79:13","nodes":[],"documentation":{"id":14029,"nodeType":"StructuredDocumentation","src":"51841:56:13","text":"Asserts that two arrays of `bytes` values are equal."},"functionSelector":"e5fb9b4a","implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"51911:8:13","parameters":{"id":14036,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14032,"mutability":"mutable","name":"left","nameLocation":"51937:4:13","nodeType":"VariableDeclaration","scope":14038,"src":"51920:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":14030,"name":"bytes","nodeType":"ElementaryTypeName","src":"51920:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":14031,"nodeType":"ArrayTypeName","src":"51920:7:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":14035,"mutability":"mutable","name":"right","nameLocation":"51960:5:13","nodeType":"VariableDeclaration","scope":14038,"src":"51943:22:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":14033,"name":"bytes","nodeType":"ElementaryTypeName","src":"51943:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":14034,"nodeType":"ArrayTypeName","src":"51943:7:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"51919:47:13"},"returnParameters":{"id":14037,"nodeType":"ParameterList","parameters":[],"src":"51980:0:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14050,"nodeType":"FunctionDefinition","src":"52105:102:13","nodes":[],"documentation":{"id":14039,"nodeType":"StructuredDocumentation","src":"51987:113:13","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:13","parameters":{"id":14048,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14042,"mutability":"mutable","name":"left","nameLocation":"52140:4:13","nodeType":"VariableDeclaration","scope":14050,"src":"52123:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":14040,"name":"bytes","nodeType":"ElementaryTypeName","src":"52123:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":14041,"nodeType":"ArrayTypeName","src":"52123:7:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":14045,"mutability":"mutable","name":"right","nameLocation":"52163:5:13","nodeType":"VariableDeclaration","scope":14050,"src":"52146:22:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":14043,"name":"bytes","nodeType":"ElementaryTypeName","src":"52146:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":14044,"nodeType":"ArrayTypeName","src":"52146:7:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":14047,"mutability":"mutable","name":"error","nameLocation":"52186:5:13","nodeType":"VariableDeclaration","scope":14050,"src":"52170:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14046,"name":"string","nodeType":"ElementaryTypeName","src":"52170:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"52122:70:13"},"returnParameters":{"id":14049,"nodeType":"ParameterList","parameters":[],"src":"52206:0:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14060,"nodeType":"FunctionDefinition","src":"52323:84:13","nodes":[],"documentation":{"id":14051,"nodeType":"StructuredDocumentation","src":"52213:105:13","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:13","parameters":{"id":14058,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14053,"mutability":"mutable","name":"left","nameLocation":"52349:4:13","nodeType":"VariableDeclaration","scope":14060,"src":"52341:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14052,"name":"uint256","nodeType":"ElementaryTypeName","src":"52341:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14055,"mutability":"mutable","name":"right","nameLocation":"52363:5:13","nodeType":"VariableDeclaration","scope":14060,"src":"52355:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14054,"name":"uint256","nodeType":"ElementaryTypeName","src":"52355:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14057,"mutability":"mutable","name":"error","nameLocation":"52386:5:13","nodeType":"VariableDeclaration","scope":14060,"src":"52370:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14056,"name":"string","nodeType":"ElementaryTypeName","src":"52370:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"52340:52:13"},"returnParameters":{"id":14059,"nodeType":"ParameterList","parameters":[],"src":"52406:0:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14068,"nodeType":"FunctionDefinition","src":"52465:59:13","nodes":[],"documentation":{"id":14061,"nodeType":"StructuredDocumentation","src":"52413:47:13","text":"Asserts that two `int256` values are equal."},"functionSelector":"fe74f05b","implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"52474:8:13","parameters":{"id":14066,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14063,"mutability":"mutable","name":"left","nameLocation":"52490:4:13","nodeType":"VariableDeclaration","scope":14068,"src":"52483:11:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14062,"name":"int256","nodeType":"ElementaryTypeName","src":"52483:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14065,"mutability":"mutable","name":"right","nameLocation":"52503:5:13","nodeType":"VariableDeclaration","scope":14068,"src":"52496:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14064,"name":"int256","nodeType":"ElementaryTypeName","src":"52496:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"52482:27:13"},"returnParameters":{"id":14067,"nodeType":"ParameterList","parameters":[],"src":"52523:0:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14078,"nodeType":"FunctionDefinition","src":"52639:82:13","nodes":[],"documentation":{"id":14069,"nodeType":"StructuredDocumentation","src":"52530:104:13","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:13","parameters":{"id":14076,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14071,"mutability":"mutable","name":"left","nameLocation":"52664:4:13","nodeType":"VariableDeclaration","scope":14078,"src":"52657:11:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14070,"name":"int256","nodeType":"ElementaryTypeName","src":"52657:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14073,"mutability":"mutable","name":"right","nameLocation":"52677:5:13","nodeType":"VariableDeclaration","scope":14078,"src":"52670:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14072,"name":"int256","nodeType":"ElementaryTypeName","src":"52670:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14075,"mutability":"mutable","name":"error","nameLocation":"52700:5:13","nodeType":"VariableDeclaration","scope":14078,"src":"52684:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14074,"name":"string","nodeType":"ElementaryTypeName","src":"52684:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"52656:50:13"},"returnParameters":{"id":14077,"nodeType":"ParameterList","parameters":[],"src":"52720:0:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14086,"nodeType":"FunctionDefinition","src":"52780:61:13","nodes":[],"documentation":{"id":14079,"nodeType":"StructuredDocumentation","src":"52727:48:13","text":"Asserts that two `address` values are equal."},"functionSelector":"515361f6","implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"52789:8:13","parameters":{"id":14084,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14081,"mutability":"mutable","name":"left","nameLocation":"52806:4:13","nodeType":"VariableDeclaration","scope":14086,"src":"52798:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14080,"name":"address","nodeType":"ElementaryTypeName","src":"52798:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":14083,"mutability":"mutable","name":"right","nameLocation":"52820:5:13","nodeType":"VariableDeclaration","scope":14086,"src":"52812:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14082,"name":"address","nodeType":"ElementaryTypeName","src":"52812:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"52797:29:13"},"returnParameters":{"id":14085,"nodeType":"ParameterList","parameters":[],"src":"52840:0:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14096,"nodeType":"FunctionDefinition","src":"52957:84:13","nodes":[],"documentation":{"id":14087,"nodeType":"StructuredDocumentation","src":"52847:105:13","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:13","parameters":{"id":14094,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14089,"mutability":"mutable","name":"left","nameLocation":"52983:4:13","nodeType":"VariableDeclaration","scope":14096,"src":"52975:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14088,"name":"address","nodeType":"ElementaryTypeName","src":"52975:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":14091,"mutability":"mutable","name":"right","nameLocation":"52997:5:13","nodeType":"VariableDeclaration","scope":14096,"src":"52989:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14090,"name":"address","nodeType":"ElementaryTypeName","src":"52989:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":14093,"mutability":"mutable","name":"error","nameLocation":"53020:5:13","nodeType":"VariableDeclaration","scope":14096,"src":"53004:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14092,"name":"string","nodeType":"ElementaryTypeName","src":"53004:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"52974:52:13"},"returnParameters":{"id":14095,"nodeType":"ParameterList","parameters":[],"src":"53040:0:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14104,"nodeType":"FunctionDefinition","src":"53100:61:13","nodes":[],"documentation":{"id":14097,"nodeType":"StructuredDocumentation","src":"53047:48:13","text":"Asserts that two `bytes32` values are equal."},"functionSelector":"7c84c69b","implemented":false,"kind":"function","modifiers":[],"name":"assertEq","nameLocation":"53109:8:13","parameters":{"id":14102,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14099,"mutability":"mutable","name":"left","nameLocation":"53126:4:13","nodeType":"VariableDeclaration","scope":14104,"src":"53118:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":14098,"name":"bytes32","nodeType":"ElementaryTypeName","src":"53118:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":14101,"mutability":"mutable","name":"right","nameLocation":"53140:5:13","nodeType":"VariableDeclaration","scope":14104,"src":"53132:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":14100,"name":"bytes32","nodeType":"ElementaryTypeName","src":"53132:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"53117:29:13"},"returnParameters":{"id":14103,"nodeType":"ParameterList","parameters":[],"src":"53160:0:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14114,"nodeType":"FunctionDefinition","src":"53277:84:13","nodes":[],"documentation":{"id":14105,"nodeType":"StructuredDocumentation","src":"53167:105:13","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:13","parameters":{"id":14112,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14107,"mutability":"mutable","name":"left","nameLocation":"53303:4:13","nodeType":"VariableDeclaration","scope":14114,"src":"53295:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":14106,"name":"bytes32","nodeType":"ElementaryTypeName","src":"53295:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":14109,"mutability":"mutable","name":"right","nameLocation":"53317:5:13","nodeType":"VariableDeclaration","scope":14114,"src":"53309:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":14108,"name":"bytes32","nodeType":"ElementaryTypeName","src":"53309:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":14111,"mutability":"mutable","name":"error","nameLocation":"53340:5:13","nodeType":"VariableDeclaration","scope":14114,"src":"53324:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14110,"name":"string","nodeType":"ElementaryTypeName","src":"53324:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"53294:52:13"},"returnParameters":{"id":14113,"nodeType":"ParameterList","parameters":[],"src":"53360:0:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14120,"nodeType":"FunctionDefinition","src":"53418:51:13","nodes":[],"documentation":{"id":14115,"nodeType":"StructuredDocumentation","src":"53367:46:13","text":"Asserts that the given condition is false."},"functionSelector":"a5982885","implemented":false,"kind":"function","modifiers":[],"name":"assertFalse","nameLocation":"53427:11:13","parameters":{"id":14118,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14117,"mutability":"mutable","name":"condition","nameLocation":"53444:9:13","nodeType":"VariableDeclaration","scope":14120,"src":"53439:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14116,"name":"bool","nodeType":"ElementaryTypeName","src":"53439:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"53438:16:13"},"returnParameters":{"id":14119,"nodeType":"ParameterList","parameters":[],"src":"53468:0:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14128,"nodeType":"FunctionDefinition","src":"53583:74:13","nodes":[],"documentation":{"id":14121,"nodeType":"StructuredDocumentation","src":"53475:103:13","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:13","parameters":{"id":14126,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14123,"mutability":"mutable","name":"condition","nameLocation":"53609:9:13","nodeType":"VariableDeclaration","scope":14128,"src":"53604:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14122,"name":"bool","nodeType":"ElementaryTypeName","src":"53604:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":14125,"mutability":"mutable","name":"error","nameLocation":"53636:5:13","nodeType":"VariableDeclaration","scope":14128,"src":"53620:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14124,"name":"string","nodeType":"ElementaryTypeName","src":"53620:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"53603:39:13"},"returnParameters":{"id":14127,"nodeType":"ParameterList","parameters":[],"src":"53656:0:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14138,"nodeType":"FunctionDefinition","src":"53818:86:13","nodes":[],"documentation":{"id":14129,"nodeType":"StructuredDocumentation","src":"53663:150:13","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:13","parameters":{"id":14136,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14131,"mutability":"mutable","name":"left","nameLocation":"53851:4:13","nodeType":"VariableDeclaration","scope":14138,"src":"53843:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14130,"name":"uint256","nodeType":"ElementaryTypeName","src":"53843:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14133,"mutability":"mutable","name":"right","nameLocation":"53865:5:13","nodeType":"VariableDeclaration","scope":14138,"src":"53857:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14132,"name":"uint256","nodeType":"ElementaryTypeName","src":"53857:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14135,"mutability":"mutable","name":"decimals","nameLocation":"53880:8:13","nodeType":"VariableDeclaration","scope":14138,"src":"53872:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14134,"name":"uint256","nodeType":"ElementaryTypeName","src":"53872:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"53842:47:13"},"returnParameters":{"id":14137,"nodeType":"ParameterList","parameters":[],"src":"53903:0:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14150,"nodeType":"FunctionDefinition","src":"54119:109:13","nodes":[],"documentation":{"id":14139,"nodeType":"StructuredDocumentation","src":"53910:204:13","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:13","parameters":{"id":14148,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14141,"mutability":"mutable","name":"left","nameLocation":"54152:4:13","nodeType":"VariableDeclaration","scope":14150,"src":"54144:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14140,"name":"uint256","nodeType":"ElementaryTypeName","src":"54144:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14143,"mutability":"mutable","name":"right","nameLocation":"54166:5:13","nodeType":"VariableDeclaration","scope":14150,"src":"54158:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14142,"name":"uint256","nodeType":"ElementaryTypeName","src":"54158:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14145,"mutability":"mutable","name":"decimals","nameLocation":"54181:8:13","nodeType":"VariableDeclaration","scope":14150,"src":"54173:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14144,"name":"uint256","nodeType":"ElementaryTypeName","src":"54173:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14147,"mutability":"mutable","name":"error","nameLocation":"54207:5:13","nodeType":"VariableDeclaration","scope":14150,"src":"54191:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14146,"name":"string","nodeType":"ElementaryTypeName","src":"54191:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"54143:70:13"},"returnParameters":{"id":14149,"nodeType":"ParameterList","parameters":[],"src":"54227:0:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14160,"nodeType":"FunctionDefinition","src":"54388:84:13","nodes":[],"documentation":{"id":14151,"nodeType":"StructuredDocumentation","src":"54234:149:13","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:13","parameters":{"id":14158,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14153,"mutability":"mutable","name":"left","nameLocation":"54420:4:13","nodeType":"VariableDeclaration","scope":14160,"src":"54413:11:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14152,"name":"int256","nodeType":"ElementaryTypeName","src":"54413:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14155,"mutability":"mutable","name":"right","nameLocation":"54433:5:13","nodeType":"VariableDeclaration","scope":14160,"src":"54426:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14154,"name":"int256","nodeType":"ElementaryTypeName","src":"54426:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14157,"mutability":"mutable","name":"decimals","nameLocation":"54448:8:13","nodeType":"VariableDeclaration","scope":14160,"src":"54440:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14156,"name":"uint256","nodeType":"ElementaryTypeName","src":"54440:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"54412:45:13"},"returnParameters":{"id":14159,"nodeType":"ParameterList","parameters":[],"src":"54471:0:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14172,"nodeType":"FunctionDefinition","src":"54686:107:13","nodes":[],"documentation":{"id":14161,"nodeType":"StructuredDocumentation","src":"54478:203:13","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:13","parameters":{"id":14170,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14163,"mutability":"mutable","name":"left","nameLocation":"54718:4:13","nodeType":"VariableDeclaration","scope":14172,"src":"54711:11:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14162,"name":"int256","nodeType":"ElementaryTypeName","src":"54711:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14165,"mutability":"mutable","name":"right","nameLocation":"54731:5:13","nodeType":"VariableDeclaration","scope":14172,"src":"54724:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14164,"name":"int256","nodeType":"ElementaryTypeName","src":"54724:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14167,"mutability":"mutable","name":"decimals","nameLocation":"54746:8:13","nodeType":"VariableDeclaration","scope":14172,"src":"54738:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14166,"name":"uint256","nodeType":"ElementaryTypeName","src":"54738:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14169,"mutability":"mutable","name":"error","nameLocation":"54772:5:13","nodeType":"VariableDeclaration","scope":14172,"src":"54756:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14168,"name":"string","nodeType":"ElementaryTypeName","src":"54756:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"54710:68:13"},"returnParameters":{"id":14171,"nodeType":"ParameterList","parameters":[],"src":"54792:0:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14180,"nodeType":"FunctionDefinition","src":"54897:61:13","nodes":[],"documentation":{"id":14173,"nodeType":"StructuredDocumentation","src":"54799:93:13","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:13","parameters":{"id":14178,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14175,"mutability":"mutable","name":"left","nameLocation":"54923:4:13","nodeType":"VariableDeclaration","scope":14180,"src":"54915:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14174,"name":"uint256","nodeType":"ElementaryTypeName","src":"54915:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14177,"mutability":"mutable","name":"right","nameLocation":"54937:5:13","nodeType":"VariableDeclaration","scope":14180,"src":"54929:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14176,"name":"uint256","nodeType":"ElementaryTypeName","src":"54929:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"54914:29:13"},"returnParameters":{"id":14179,"nodeType":"ParameterList","parameters":[],"src":"54957:0:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14190,"nodeType":"FunctionDefinition","src":"55124:84:13","nodes":[],"documentation":{"id":14181,"nodeType":"StructuredDocumentation","src":"54964:155:13","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:13","parameters":{"id":14188,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14183,"mutability":"mutable","name":"left","nameLocation":"55150:4:13","nodeType":"VariableDeclaration","scope":14190,"src":"55142:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14182,"name":"uint256","nodeType":"ElementaryTypeName","src":"55142:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14185,"mutability":"mutable","name":"right","nameLocation":"55164:5:13","nodeType":"VariableDeclaration","scope":14190,"src":"55156:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14184,"name":"uint256","nodeType":"ElementaryTypeName","src":"55156:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14187,"mutability":"mutable","name":"error","nameLocation":"55187:5:13","nodeType":"VariableDeclaration","scope":14190,"src":"55171:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14186,"name":"string","nodeType":"ElementaryTypeName","src":"55171:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"55141:52:13"},"returnParameters":{"id":14189,"nodeType":"ParameterList","parameters":[],"src":"55207:0:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14198,"nodeType":"FunctionDefinition","src":"55311:59:13","nodes":[],"documentation":{"id":14191,"nodeType":"StructuredDocumentation","src":"55214:92:13","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:13","parameters":{"id":14196,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14193,"mutability":"mutable","name":"left","nameLocation":"55336:4:13","nodeType":"VariableDeclaration","scope":14198,"src":"55329:11:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14192,"name":"int256","nodeType":"ElementaryTypeName","src":"55329:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14195,"mutability":"mutable","name":"right","nameLocation":"55349:5:13","nodeType":"VariableDeclaration","scope":14198,"src":"55342:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14194,"name":"int256","nodeType":"ElementaryTypeName","src":"55342:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"55328:27:13"},"returnParameters":{"id":14197,"nodeType":"ParameterList","parameters":[],"src":"55369:0:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14208,"nodeType":"FunctionDefinition","src":"55535:82:13","nodes":[],"documentation":{"id":14199,"nodeType":"StructuredDocumentation","src":"55376:154:13","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:13","parameters":{"id":14206,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14201,"mutability":"mutable","name":"left","nameLocation":"55560:4:13","nodeType":"VariableDeclaration","scope":14208,"src":"55553:11:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14200,"name":"int256","nodeType":"ElementaryTypeName","src":"55553:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14203,"mutability":"mutable","name":"right","nameLocation":"55573:5:13","nodeType":"VariableDeclaration","scope":14208,"src":"55566:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14202,"name":"int256","nodeType":"ElementaryTypeName","src":"55566:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14205,"mutability":"mutable","name":"error","nameLocation":"55596:5:13","nodeType":"VariableDeclaration","scope":14208,"src":"55580:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14204,"name":"string","nodeType":"ElementaryTypeName","src":"55580:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"55552:50:13"},"returnParameters":{"id":14207,"nodeType":"ParameterList","parameters":[],"src":"55616:0:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14218,"nodeType":"FunctionDefinition","src":"55766:86:13","nodes":[],"documentation":{"id":14209,"nodeType":"StructuredDocumentation","src":"55623:138:13","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:13","parameters":{"id":14216,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14211,"mutability":"mutable","name":"left","nameLocation":"55799:4:13","nodeType":"VariableDeclaration","scope":14218,"src":"55791:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14210,"name":"uint256","nodeType":"ElementaryTypeName","src":"55791:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14213,"mutability":"mutable","name":"right","nameLocation":"55813:5:13","nodeType":"VariableDeclaration","scope":14218,"src":"55805:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14212,"name":"uint256","nodeType":"ElementaryTypeName","src":"55805:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14215,"mutability":"mutable","name":"decimals","nameLocation":"55828:8:13","nodeType":"VariableDeclaration","scope":14218,"src":"55820:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14214,"name":"uint256","nodeType":"ElementaryTypeName","src":"55820:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"55790:47:13"},"returnParameters":{"id":14217,"nodeType":"ParameterList","parameters":[],"src":"55851:0:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14230,"nodeType":"FunctionDefinition","src":"56055:109:13","nodes":[],"documentation":{"id":14219,"nodeType":"StructuredDocumentation","src":"55858:192:13","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:13","parameters":{"id":14228,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14221,"mutability":"mutable","name":"left","nameLocation":"56088:4:13","nodeType":"VariableDeclaration","scope":14230,"src":"56080:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14220,"name":"uint256","nodeType":"ElementaryTypeName","src":"56080:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14223,"mutability":"mutable","name":"right","nameLocation":"56102:5:13","nodeType":"VariableDeclaration","scope":14230,"src":"56094:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14222,"name":"uint256","nodeType":"ElementaryTypeName","src":"56094:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14225,"mutability":"mutable","name":"decimals","nameLocation":"56117:8:13","nodeType":"VariableDeclaration","scope":14230,"src":"56109:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14224,"name":"uint256","nodeType":"ElementaryTypeName","src":"56109:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14227,"mutability":"mutable","name":"error","nameLocation":"56143:5:13","nodeType":"VariableDeclaration","scope":14230,"src":"56127:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14226,"name":"string","nodeType":"ElementaryTypeName","src":"56127:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"56079:70:13"},"returnParameters":{"id":14229,"nodeType":"ParameterList","parameters":[],"src":"56163:0:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14240,"nodeType":"FunctionDefinition","src":"56312:84:13","nodes":[],"documentation":{"id":14231,"nodeType":"StructuredDocumentation","src":"56170:137:13","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:13","parameters":{"id":14238,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14233,"mutability":"mutable","name":"left","nameLocation":"56344:4:13","nodeType":"VariableDeclaration","scope":14240,"src":"56337:11:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14232,"name":"int256","nodeType":"ElementaryTypeName","src":"56337:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14235,"mutability":"mutable","name":"right","nameLocation":"56357:5:13","nodeType":"VariableDeclaration","scope":14240,"src":"56350:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14234,"name":"int256","nodeType":"ElementaryTypeName","src":"56350:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14237,"mutability":"mutable","name":"decimals","nameLocation":"56372:8:13","nodeType":"VariableDeclaration","scope":14240,"src":"56364:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14236,"name":"uint256","nodeType":"ElementaryTypeName","src":"56364:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"56336:45:13"},"returnParameters":{"id":14239,"nodeType":"ParameterList","parameters":[],"src":"56395:0:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14252,"nodeType":"FunctionDefinition","src":"56598:107:13","nodes":[],"documentation":{"id":14241,"nodeType":"StructuredDocumentation","src":"56402:191:13","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:13","parameters":{"id":14250,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14243,"mutability":"mutable","name":"left","nameLocation":"56630:4:13","nodeType":"VariableDeclaration","scope":14252,"src":"56623:11:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14242,"name":"int256","nodeType":"ElementaryTypeName","src":"56623:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14245,"mutability":"mutable","name":"right","nameLocation":"56643:5:13","nodeType":"VariableDeclaration","scope":14252,"src":"56636:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14244,"name":"int256","nodeType":"ElementaryTypeName","src":"56636:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14247,"mutability":"mutable","name":"decimals","nameLocation":"56658:8:13","nodeType":"VariableDeclaration","scope":14252,"src":"56650:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14246,"name":"uint256","nodeType":"ElementaryTypeName","src":"56650:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14249,"mutability":"mutable","name":"error","nameLocation":"56684:5:13","nodeType":"VariableDeclaration","scope":14252,"src":"56668:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14248,"name":"string","nodeType":"ElementaryTypeName","src":"56668:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"56622:68:13"},"returnParameters":{"id":14251,"nodeType":"ParameterList","parameters":[],"src":"56704:0:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14260,"nodeType":"FunctionDefinition","src":"56797:61:13","nodes":[],"documentation":{"id":14253,"nodeType":"StructuredDocumentation","src":"56711:81:13","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:13","parameters":{"id":14258,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14255,"mutability":"mutable","name":"left","nameLocation":"56823:4:13","nodeType":"VariableDeclaration","scope":14260,"src":"56815:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14254,"name":"uint256","nodeType":"ElementaryTypeName","src":"56815:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14257,"mutability":"mutable","name":"right","nameLocation":"56837:5:13","nodeType":"VariableDeclaration","scope":14260,"src":"56829:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14256,"name":"uint256","nodeType":"ElementaryTypeName","src":"56829:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"56814:29:13"},"returnParameters":{"id":14259,"nodeType":"ParameterList","parameters":[],"src":"56857:0:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14270,"nodeType":"FunctionDefinition","src":"57012:84:13","nodes":[],"documentation":{"id":14261,"nodeType":"StructuredDocumentation","src":"56864:143:13","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:13","parameters":{"id":14268,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14263,"mutability":"mutable","name":"left","nameLocation":"57038:4:13","nodeType":"VariableDeclaration","scope":14270,"src":"57030:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14262,"name":"uint256","nodeType":"ElementaryTypeName","src":"57030:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14265,"mutability":"mutable","name":"right","nameLocation":"57052:5:13","nodeType":"VariableDeclaration","scope":14270,"src":"57044:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14264,"name":"uint256","nodeType":"ElementaryTypeName","src":"57044:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14267,"mutability":"mutable","name":"error","nameLocation":"57075:5:13","nodeType":"VariableDeclaration","scope":14270,"src":"57059:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14266,"name":"string","nodeType":"ElementaryTypeName","src":"57059:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"57029:52:13"},"returnParameters":{"id":14269,"nodeType":"ParameterList","parameters":[],"src":"57095:0:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14278,"nodeType":"FunctionDefinition","src":"57187:59:13","nodes":[],"documentation":{"id":14271,"nodeType":"StructuredDocumentation","src":"57102:80:13","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:13","parameters":{"id":14276,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14273,"mutability":"mutable","name":"left","nameLocation":"57212:4:13","nodeType":"VariableDeclaration","scope":14278,"src":"57205:11:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14272,"name":"int256","nodeType":"ElementaryTypeName","src":"57205:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14275,"mutability":"mutable","name":"right","nameLocation":"57225:5:13","nodeType":"VariableDeclaration","scope":14278,"src":"57218:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14274,"name":"int256","nodeType":"ElementaryTypeName","src":"57218:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"57204:27:13"},"returnParameters":{"id":14277,"nodeType":"ParameterList","parameters":[],"src":"57245:0:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14288,"nodeType":"FunctionDefinition","src":"57399:82:13","nodes":[],"documentation":{"id":14279,"nodeType":"StructuredDocumentation","src":"57252:142:13","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:13","parameters":{"id":14286,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14281,"mutability":"mutable","name":"left","nameLocation":"57424:4:13","nodeType":"VariableDeclaration","scope":14288,"src":"57417:11:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14280,"name":"int256","nodeType":"ElementaryTypeName","src":"57417:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14283,"mutability":"mutable","name":"right","nameLocation":"57437:5:13","nodeType":"VariableDeclaration","scope":14288,"src":"57430:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14282,"name":"int256","nodeType":"ElementaryTypeName","src":"57430:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14285,"mutability":"mutable","name":"error","nameLocation":"57460:5:13","nodeType":"VariableDeclaration","scope":14288,"src":"57444:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14284,"name":"string","nodeType":"ElementaryTypeName","src":"57444:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"57416:50:13"},"returnParameters":{"id":14287,"nodeType":"ParameterList","parameters":[],"src":"57480:0:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14298,"nodeType":"FunctionDefinition","src":"57639:86:13","nodes":[],"documentation":{"id":14289,"nodeType":"StructuredDocumentation","src":"57487:147:13","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:13","parameters":{"id":14296,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14291,"mutability":"mutable","name":"left","nameLocation":"57672:4:13","nodeType":"VariableDeclaration","scope":14298,"src":"57664:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14290,"name":"uint256","nodeType":"ElementaryTypeName","src":"57664:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14293,"mutability":"mutable","name":"right","nameLocation":"57686:5:13","nodeType":"VariableDeclaration","scope":14298,"src":"57678:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14292,"name":"uint256","nodeType":"ElementaryTypeName","src":"57678:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14295,"mutability":"mutable","name":"decimals","nameLocation":"57701:8:13","nodeType":"VariableDeclaration","scope":14298,"src":"57693:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14294,"name":"uint256","nodeType":"ElementaryTypeName","src":"57693:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"57663:47:13"},"returnParameters":{"id":14297,"nodeType":"ParameterList","parameters":[],"src":"57724:0:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14310,"nodeType":"FunctionDefinition","src":"57937:109:13","nodes":[],"documentation":{"id":14299,"nodeType":"StructuredDocumentation","src":"57731:201:13","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:13","parameters":{"id":14308,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14301,"mutability":"mutable","name":"left","nameLocation":"57970:4:13","nodeType":"VariableDeclaration","scope":14310,"src":"57962:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14300,"name":"uint256","nodeType":"ElementaryTypeName","src":"57962:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14303,"mutability":"mutable","name":"right","nameLocation":"57984:5:13","nodeType":"VariableDeclaration","scope":14310,"src":"57976:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14302,"name":"uint256","nodeType":"ElementaryTypeName","src":"57976:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14305,"mutability":"mutable","name":"decimals","nameLocation":"57999:8:13","nodeType":"VariableDeclaration","scope":14310,"src":"57991:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14304,"name":"uint256","nodeType":"ElementaryTypeName","src":"57991:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14307,"mutability":"mutable","name":"error","nameLocation":"58025:5:13","nodeType":"VariableDeclaration","scope":14310,"src":"58009:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14306,"name":"string","nodeType":"ElementaryTypeName","src":"58009:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"57961:70:13"},"returnParameters":{"id":14309,"nodeType":"ParameterList","parameters":[],"src":"58045:0:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14320,"nodeType":"FunctionDefinition","src":"58203:84:13","nodes":[],"documentation":{"id":14311,"nodeType":"StructuredDocumentation","src":"58052:146:13","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:13","parameters":{"id":14318,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14313,"mutability":"mutable","name":"left","nameLocation":"58235:4:13","nodeType":"VariableDeclaration","scope":14320,"src":"58228:11:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14312,"name":"int256","nodeType":"ElementaryTypeName","src":"58228:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14315,"mutability":"mutable","name":"right","nameLocation":"58248:5:13","nodeType":"VariableDeclaration","scope":14320,"src":"58241:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14314,"name":"int256","nodeType":"ElementaryTypeName","src":"58241:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14317,"mutability":"mutable","name":"decimals","nameLocation":"58263:8:13","nodeType":"VariableDeclaration","scope":14320,"src":"58255:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14316,"name":"uint256","nodeType":"ElementaryTypeName","src":"58255:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"58227:45:13"},"returnParameters":{"id":14319,"nodeType":"ParameterList","parameters":[],"src":"58286:0:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14332,"nodeType":"FunctionDefinition","src":"58498:107:13","nodes":[],"documentation":{"id":14321,"nodeType":"StructuredDocumentation","src":"58293:200:13","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:13","parameters":{"id":14330,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14323,"mutability":"mutable","name":"left","nameLocation":"58530:4:13","nodeType":"VariableDeclaration","scope":14332,"src":"58523:11:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14322,"name":"int256","nodeType":"ElementaryTypeName","src":"58523:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14325,"mutability":"mutable","name":"right","nameLocation":"58543:5:13","nodeType":"VariableDeclaration","scope":14332,"src":"58536:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14324,"name":"int256","nodeType":"ElementaryTypeName","src":"58536:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14327,"mutability":"mutable","name":"decimals","nameLocation":"58558:8:13","nodeType":"VariableDeclaration","scope":14332,"src":"58550:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14326,"name":"uint256","nodeType":"ElementaryTypeName","src":"58550:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14329,"mutability":"mutable","name":"error","nameLocation":"58584:5:13","nodeType":"VariableDeclaration","scope":14332,"src":"58568:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14328,"name":"string","nodeType":"ElementaryTypeName","src":"58568:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"58522:68:13"},"returnParameters":{"id":14331,"nodeType":"ParameterList","parameters":[],"src":"58604:0:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14340,"nodeType":"FunctionDefinition","src":"58706:61:13","nodes":[],"documentation":{"id":14333,"nodeType":"StructuredDocumentation","src":"58611:90:13","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:13","parameters":{"id":14338,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14335,"mutability":"mutable","name":"left","nameLocation":"58732:4:13","nodeType":"VariableDeclaration","scope":14340,"src":"58724:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14334,"name":"uint256","nodeType":"ElementaryTypeName","src":"58724:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14337,"mutability":"mutable","name":"right","nameLocation":"58746:5:13","nodeType":"VariableDeclaration","scope":14340,"src":"58738:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14336,"name":"uint256","nodeType":"ElementaryTypeName","src":"58738:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"58723:29:13"},"returnParameters":{"id":14339,"nodeType":"ParameterList","parameters":[],"src":"58766:0:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14350,"nodeType":"FunctionDefinition","src":"58930:84:13","nodes":[],"documentation":{"id":14341,"nodeType":"StructuredDocumentation","src":"58773:152:13","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:13","parameters":{"id":14348,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14343,"mutability":"mutable","name":"left","nameLocation":"58956:4:13","nodeType":"VariableDeclaration","scope":14350,"src":"58948:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14342,"name":"uint256","nodeType":"ElementaryTypeName","src":"58948:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14345,"mutability":"mutable","name":"right","nameLocation":"58970:5:13","nodeType":"VariableDeclaration","scope":14350,"src":"58962:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14344,"name":"uint256","nodeType":"ElementaryTypeName","src":"58962:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14347,"mutability":"mutable","name":"error","nameLocation":"58993:5:13","nodeType":"VariableDeclaration","scope":14350,"src":"58977:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14346,"name":"string","nodeType":"ElementaryTypeName","src":"58977:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"58947:52:13"},"returnParameters":{"id":14349,"nodeType":"ParameterList","parameters":[],"src":"59013:0:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14358,"nodeType":"FunctionDefinition","src":"59114:59:13","nodes":[],"documentation":{"id":14351,"nodeType":"StructuredDocumentation","src":"59020:89:13","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:13","parameters":{"id":14356,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14353,"mutability":"mutable","name":"left","nameLocation":"59139:4:13","nodeType":"VariableDeclaration","scope":14358,"src":"59132:11:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14352,"name":"int256","nodeType":"ElementaryTypeName","src":"59132:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14355,"mutability":"mutable","name":"right","nameLocation":"59152:5:13","nodeType":"VariableDeclaration","scope":14358,"src":"59145:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14354,"name":"int256","nodeType":"ElementaryTypeName","src":"59145:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"59131:27:13"},"returnParameters":{"id":14357,"nodeType":"ParameterList","parameters":[],"src":"59172:0:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14368,"nodeType":"FunctionDefinition","src":"59335:82:13","nodes":[],"documentation":{"id":14359,"nodeType":"StructuredDocumentation","src":"59179:151:13","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:13","parameters":{"id":14366,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14361,"mutability":"mutable","name":"left","nameLocation":"59360:4:13","nodeType":"VariableDeclaration","scope":14368,"src":"59353:11:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14360,"name":"int256","nodeType":"ElementaryTypeName","src":"59353:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14363,"mutability":"mutable","name":"right","nameLocation":"59373:5:13","nodeType":"VariableDeclaration","scope":14368,"src":"59366:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14362,"name":"int256","nodeType":"ElementaryTypeName","src":"59366:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14365,"mutability":"mutable","name":"error","nameLocation":"59396:5:13","nodeType":"VariableDeclaration","scope":14368,"src":"59380:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14364,"name":"string","nodeType":"ElementaryTypeName","src":"59380:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"59352:50:13"},"returnParameters":{"id":14367,"nodeType":"ParameterList","parameters":[],"src":"59416:0:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14378,"nodeType":"FunctionDefinition","src":"59563:86:13","nodes":[],"documentation":{"id":14369,"nodeType":"StructuredDocumentation","src":"59423:135:13","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:13","parameters":{"id":14376,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14371,"mutability":"mutable","name":"left","nameLocation":"59596:4:13","nodeType":"VariableDeclaration","scope":14378,"src":"59588:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14370,"name":"uint256","nodeType":"ElementaryTypeName","src":"59588:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14373,"mutability":"mutable","name":"right","nameLocation":"59610:5:13","nodeType":"VariableDeclaration","scope":14378,"src":"59602:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14372,"name":"uint256","nodeType":"ElementaryTypeName","src":"59602:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14375,"mutability":"mutable","name":"decimals","nameLocation":"59625:8:13","nodeType":"VariableDeclaration","scope":14378,"src":"59617:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14374,"name":"uint256","nodeType":"ElementaryTypeName","src":"59617:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"59587:47:13"},"returnParameters":{"id":14377,"nodeType":"ParameterList","parameters":[],"src":"59648:0:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14390,"nodeType":"FunctionDefinition","src":"59849:109:13","nodes":[],"documentation":{"id":14379,"nodeType":"StructuredDocumentation","src":"59655:189:13","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:13","parameters":{"id":14388,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14381,"mutability":"mutable","name":"left","nameLocation":"59882:4:13","nodeType":"VariableDeclaration","scope":14390,"src":"59874:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14380,"name":"uint256","nodeType":"ElementaryTypeName","src":"59874:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14383,"mutability":"mutable","name":"right","nameLocation":"59896:5:13","nodeType":"VariableDeclaration","scope":14390,"src":"59888:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14382,"name":"uint256","nodeType":"ElementaryTypeName","src":"59888:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14385,"mutability":"mutable","name":"decimals","nameLocation":"59911:8:13","nodeType":"VariableDeclaration","scope":14390,"src":"59903:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14384,"name":"uint256","nodeType":"ElementaryTypeName","src":"59903:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14387,"mutability":"mutable","name":"error","nameLocation":"59937:5:13","nodeType":"VariableDeclaration","scope":14390,"src":"59921:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14386,"name":"string","nodeType":"ElementaryTypeName","src":"59921:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"59873:70:13"},"returnParameters":{"id":14389,"nodeType":"ParameterList","parameters":[],"src":"59957:0:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14400,"nodeType":"FunctionDefinition","src":"60103:84:13","nodes":[],"documentation":{"id":14391,"nodeType":"StructuredDocumentation","src":"59964:134:13","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:13","parameters":{"id":14398,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14393,"mutability":"mutable","name":"left","nameLocation":"60135:4:13","nodeType":"VariableDeclaration","scope":14400,"src":"60128:11:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14392,"name":"int256","nodeType":"ElementaryTypeName","src":"60128:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14395,"mutability":"mutable","name":"right","nameLocation":"60148:5:13","nodeType":"VariableDeclaration","scope":14400,"src":"60141:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14394,"name":"int256","nodeType":"ElementaryTypeName","src":"60141:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14397,"mutability":"mutable","name":"decimals","nameLocation":"60163:8:13","nodeType":"VariableDeclaration","scope":14400,"src":"60155:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14396,"name":"uint256","nodeType":"ElementaryTypeName","src":"60155:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"60127:45:13"},"returnParameters":{"id":14399,"nodeType":"ParameterList","parameters":[],"src":"60186:0:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14412,"nodeType":"FunctionDefinition","src":"60386:107:13","nodes":[],"documentation":{"id":14401,"nodeType":"StructuredDocumentation","src":"60193:188:13","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:13","parameters":{"id":14410,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14403,"mutability":"mutable","name":"left","nameLocation":"60418:4:13","nodeType":"VariableDeclaration","scope":14412,"src":"60411:11:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14402,"name":"int256","nodeType":"ElementaryTypeName","src":"60411:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14405,"mutability":"mutable","name":"right","nameLocation":"60431:5:13","nodeType":"VariableDeclaration","scope":14412,"src":"60424:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14404,"name":"int256","nodeType":"ElementaryTypeName","src":"60424:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14407,"mutability":"mutable","name":"decimals","nameLocation":"60446:8:13","nodeType":"VariableDeclaration","scope":14412,"src":"60438:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14406,"name":"uint256","nodeType":"ElementaryTypeName","src":"60438:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14409,"mutability":"mutable","name":"error","nameLocation":"60472:5:13","nodeType":"VariableDeclaration","scope":14412,"src":"60456:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14408,"name":"string","nodeType":"ElementaryTypeName","src":"60456:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"60410:68:13"},"returnParameters":{"id":14411,"nodeType":"ParameterList","parameters":[],"src":"60492:0:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14420,"nodeType":"FunctionDefinition","src":"60582:61:13","nodes":[],"documentation":{"id":14413,"nodeType":"StructuredDocumentation","src":"60499:78:13","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:13","parameters":{"id":14418,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14415,"mutability":"mutable","name":"left","nameLocation":"60608:4:13","nodeType":"VariableDeclaration","scope":14420,"src":"60600:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14414,"name":"uint256","nodeType":"ElementaryTypeName","src":"60600:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14417,"mutability":"mutable","name":"right","nameLocation":"60622:5:13","nodeType":"VariableDeclaration","scope":14420,"src":"60614:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14416,"name":"uint256","nodeType":"ElementaryTypeName","src":"60614:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"60599:29:13"},"returnParameters":{"id":14419,"nodeType":"ParameterList","parameters":[],"src":"60642:0:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14430,"nodeType":"FunctionDefinition","src":"60794:84:13","nodes":[],"documentation":{"id":14421,"nodeType":"StructuredDocumentation","src":"60649:140:13","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:13","parameters":{"id":14428,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14423,"mutability":"mutable","name":"left","nameLocation":"60820:4:13","nodeType":"VariableDeclaration","scope":14430,"src":"60812:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14422,"name":"uint256","nodeType":"ElementaryTypeName","src":"60812:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14425,"mutability":"mutable","name":"right","nameLocation":"60834:5:13","nodeType":"VariableDeclaration","scope":14430,"src":"60826:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14424,"name":"uint256","nodeType":"ElementaryTypeName","src":"60826:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14427,"mutability":"mutable","name":"error","nameLocation":"60857:5:13","nodeType":"VariableDeclaration","scope":14430,"src":"60841:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14426,"name":"string","nodeType":"ElementaryTypeName","src":"60841:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"60811:52:13"},"returnParameters":{"id":14429,"nodeType":"ParameterList","parameters":[],"src":"60877:0:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14438,"nodeType":"FunctionDefinition","src":"60966:59:13","nodes":[],"documentation":{"id":14431,"nodeType":"StructuredDocumentation","src":"60884:77:13","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:13","parameters":{"id":14436,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14433,"mutability":"mutable","name":"left","nameLocation":"60991:4:13","nodeType":"VariableDeclaration","scope":14438,"src":"60984:11:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14432,"name":"int256","nodeType":"ElementaryTypeName","src":"60984:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14435,"mutability":"mutable","name":"right","nameLocation":"61004:5:13","nodeType":"VariableDeclaration","scope":14438,"src":"60997:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14434,"name":"int256","nodeType":"ElementaryTypeName","src":"60997:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"60983:27:13"},"returnParameters":{"id":14437,"nodeType":"ParameterList","parameters":[],"src":"61024:0:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14448,"nodeType":"FunctionDefinition","src":"61175:82:13","nodes":[],"documentation":{"id":14439,"nodeType":"StructuredDocumentation","src":"61031:139:13","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:13","parameters":{"id":14446,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14441,"mutability":"mutable","name":"left","nameLocation":"61200:4:13","nodeType":"VariableDeclaration","scope":14448,"src":"61193:11:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14440,"name":"int256","nodeType":"ElementaryTypeName","src":"61193:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14443,"mutability":"mutable","name":"right","nameLocation":"61213:5:13","nodeType":"VariableDeclaration","scope":14448,"src":"61206:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14442,"name":"int256","nodeType":"ElementaryTypeName","src":"61206:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14445,"mutability":"mutable","name":"error","nameLocation":"61236:5:13","nodeType":"VariableDeclaration","scope":14448,"src":"61220:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14444,"name":"string","nodeType":"ElementaryTypeName","src":"61220:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"61192:50:13"},"returnParameters":{"id":14447,"nodeType":"ParameterList","parameters":[],"src":"61256:0:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14458,"nodeType":"FunctionDefinition","src":"61370:89:13","nodes":[],"documentation":{"id":14449,"nodeType":"StructuredDocumentation","src":"61263:102:13","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:13","parameters":{"id":14456,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14451,"mutability":"mutable","name":"left","nameLocation":"61406:4:13","nodeType":"VariableDeclaration","scope":14458,"src":"61398:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14450,"name":"uint256","nodeType":"ElementaryTypeName","src":"61398:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14453,"mutability":"mutable","name":"right","nameLocation":"61420:5:13","nodeType":"VariableDeclaration","scope":14458,"src":"61412:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14452,"name":"uint256","nodeType":"ElementaryTypeName","src":"61412:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14455,"mutability":"mutable","name":"decimals","nameLocation":"61435:8:13","nodeType":"VariableDeclaration","scope":14458,"src":"61427:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14454,"name":"uint256","nodeType":"ElementaryTypeName","src":"61427:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"61397:47:13"},"returnParameters":{"id":14457,"nodeType":"ParameterList","parameters":[],"src":"61458:0:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14470,"nodeType":"FunctionDefinition","src":"61634:112:13","nodes":[],"documentation":{"id":14459,"nodeType":"StructuredDocumentation","src":"61465:164:13","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:13","parameters":{"id":14468,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14461,"mutability":"mutable","name":"left","nameLocation":"61670:4:13","nodeType":"VariableDeclaration","scope":14470,"src":"61662:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14460,"name":"uint256","nodeType":"ElementaryTypeName","src":"61662:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14463,"mutability":"mutable","name":"right","nameLocation":"61684:5:13","nodeType":"VariableDeclaration","scope":14470,"src":"61676:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14462,"name":"uint256","nodeType":"ElementaryTypeName","src":"61676:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14465,"mutability":"mutable","name":"decimals","nameLocation":"61699:8:13","nodeType":"VariableDeclaration","scope":14470,"src":"61691:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14464,"name":"uint256","nodeType":"ElementaryTypeName","src":"61691:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14467,"mutability":"mutable","name":"error","nameLocation":"61725:5:13","nodeType":"VariableDeclaration","scope":14470,"src":"61709:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14466,"name":"string","nodeType":"ElementaryTypeName","src":"61709:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"61661:70:13"},"returnParameters":{"id":14469,"nodeType":"ParameterList","parameters":[],"src":"61745:0:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14480,"nodeType":"FunctionDefinition","src":"61858:87:13","nodes":[],"documentation":{"id":14471,"nodeType":"StructuredDocumentation","src":"61752:101:13","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:13","parameters":{"id":14478,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14473,"mutability":"mutable","name":"left","nameLocation":"61893:4:13","nodeType":"VariableDeclaration","scope":14480,"src":"61886:11:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14472,"name":"int256","nodeType":"ElementaryTypeName","src":"61886:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14475,"mutability":"mutable","name":"right","nameLocation":"61906:5:13","nodeType":"VariableDeclaration","scope":14480,"src":"61899:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14474,"name":"int256","nodeType":"ElementaryTypeName","src":"61899:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14477,"mutability":"mutable","name":"decimals","nameLocation":"61921:8:13","nodeType":"VariableDeclaration","scope":14480,"src":"61913:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14476,"name":"uint256","nodeType":"ElementaryTypeName","src":"61913:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"61885:45:13"},"returnParameters":{"id":14479,"nodeType":"ParameterList","parameters":[],"src":"61944:0:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14492,"nodeType":"FunctionDefinition","src":"62119:110:13","nodes":[],"documentation":{"id":14481,"nodeType":"StructuredDocumentation","src":"61951:163:13","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:13","parameters":{"id":14490,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14483,"mutability":"mutable","name":"left","nameLocation":"62154:4:13","nodeType":"VariableDeclaration","scope":14492,"src":"62147:11:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14482,"name":"int256","nodeType":"ElementaryTypeName","src":"62147:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14485,"mutability":"mutable","name":"right","nameLocation":"62167:5:13","nodeType":"VariableDeclaration","scope":14492,"src":"62160:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14484,"name":"int256","nodeType":"ElementaryTypeName","src":"62160:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14487,"mutability":"mutable","name":"decimals","nameLocation":"62182:8:13","nodeType":"VariableDeclaration","scope":14492,"src":"62174:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14486,"name":"uint256","nodeType":"ElementaryTypeName","src":"62174:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14489,"mutability":"mutable","name":"error","nameLocation":"62208:5:13","nodeType":"VariableDeclaration","scope":14492,"src":"62192:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14488,"name":"string","nodeType":"ElementaryTypeName","src":"62192:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"62146:68:13"},"returnParameters":{"id":14491,"nodeType":"ParameterList","parameters":[],"src":"62228:0:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14500,"nodeType":"FunctionDefinition","src":"62289:58:13","nodes":[],"documentation":{"id":14493,"nodeType":"StructuredDocumentation","src":"62235:49:13","text":"Asserts that two `bool` values are not equal."},"functionSelector":"236e4d66","implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"62298:11:13","parameters":{"id":14498,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14495,"mutability":"mutable","name":"left","nameLocation":"62315:4:13","nodeType":"VariableDeclaration","scope":14500,"src":"62310:9:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14494,"name":"bool","nodeType":"ElementaryTypeName","src":"62310:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":14497,"mutability":"mutable","name":"right","nameLocation":"62326:5:13","nodeType":"VariableDeclaration","scope":14500,"src":"62321:10:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14496,"name":"bool","nodeType":"ElementaryTypeName","src":"62321:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"62309:23:13"},"returnParameters":{"id":14499,"nodeType":"ParameterList","parameters":[],"src":"62346:0:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14510,"nodeType":"FunctionDefinition","src":"62464:81:13","nodes":[],"documentation":{"id":14501,"nodeType":"StructuredDocumentation","src":"62353:106:13","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:13","parameters":{"id":14508,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14503,"mutability":"mutable","name":"left","nameLocation":"62490:4:13","nodeType":"VariableDeclaration","scope":14510,"src":"62485:9:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14502,"name":"bool","nodeType":"ElementaryTypeName","src":"62485:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":14505,"mutability":"mutable","name":"right","nameLocation":"62501:5:13","nodeType":"VariableDeclaration","scope":14510,"src":"62496:10:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14504,"name":"bool","nodeType":"ElementaryTypeName","src":"62496:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":14507,"mutability":"mutable","name":"error","nameLocation":"62524:5:13","nodeType":"VariableDeclaration","scope":14510,"src":"62508:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14506,"name":"string","nodeType":"ElementaryTypeName","src":"62508:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"62484:46:13"},"returnParameters":{"id":14509,"nodeType":"ParameterList","parameters":[],"src":"62544:0:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14518,"nodeType":"FunctionDefinition","src":"62607:80:13","nodes":[],"documentation":{"id":14511,"nodeType":"StructuredDocumentation","src":"62551:51:13","text":"Asserts that two `string` values are not equal."},"functionSelector":"6a8237b3","implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"62616:11:13","parameters":{"id":14516,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14513,"mutability":"mutable","name":"left","nameLocation":"62644:4:13","nodeType":"VariableDeclaration","scope":14518,"src":"62628:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14512,"name":"string","nodeType":"ElementaryTypeName","src":"62628:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14515,"mutability":"mutable","name":"right","nameLocation":"62666:5:13","nodeType":"VariableDeclaration","scope":14518,"src":"62650:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14514,"name":"string","nodeType":"ElementaryTypeName","src":"62650:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"62627:45:13"},"returnParameters":{"id":14517,"nodeType":"ParameterList","parameters":[],"src":"62686:0:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14528,"nodeType":"FunctionDefinition","src":"62806:103:13","nodes":[],"documentation":{"id":14519,"nodeType":"StructuredDocumentation","src":"62693:108:13","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:13","parameters":{"id":14526,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14521,"mutability":"mutable","name":"left","nameLocation":"62843:4:13","nodeType":"VariableDeclaration","scope":14528,"src":"62827:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14520,"name":"string","nodeType":"ElementaryTypeName","src":"62827:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14523,"mutability":"mutable","name":"right","nameLocation":"62865:5:13","nodeType":"VariableDeclaration","scope":14528,"src":"62849:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14522,"name":"string","nodeType":"ElementaryTypeName","src":"62849:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14525,"mutability":"mutable","name":"error","nameLocation":"62888:5:13","nodeType":"VariableDeclaration","scope":14528,"src":"62872:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14524,"name":"string","nodeType":"ElementaryTypeName","src":"62872:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"62826:68:13"},"returnParameters":{"id":14527,"nodeType":"ParameterList","parameters":[],"src":"62908:0:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14536,"nodeType":"FunctionDefinition","src":"62970:78:13","nodes":[],"documentation":{"id":14529,"nodeType":"StructuredDocumentation","src":"62915:50:13","text":"Asserts that two `bytes` values are not equal."},"functionSelector":"3cf78e28","implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"62979:11:13","parameters":{"id":14534,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14531,"mutability":"mutable","name":"left","nameLocation":"63006:4:13","nodeType":"VariableDeclaration","scope":14536,"src":"62991:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":14530,"name":"bytes","nodeType":"ElementaryTypeName","src":"62991:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":14533,"mutability":"mutable","name":"right","nameLocation":"63027:5:13","nodeType":"VariableDeclaration","scope":14536,"src":"63012:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":14532,"name":"bytes","nodeType":"ElementaryTypeName","src":"63012:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"62990:43:13"},"returnParameters":{"id":14535,"nodeType":"ParameterList","parameters":[],"src":"63047:0:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14546,"nodeType":"FunctionDefinition","src":"63166:101:13","nodes":[],"documentation":{"id":14537,"nodeType":"StructuredDocumentation","src":"63054:107:13","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:13","parameters":{"id":14544,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14539,"mutability":"mutable","name":"left","nameLocation":"63202:4:13","nodeType":"VariableDeclaration","scope":14546,"src":"63187:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":14538,"name":"bytes","nodeType":"ElementaryTypeName","src":"63187:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":14541,"mutability":"mutable","name":"right","nameLocation":"63223:5:13","nodeType":"VariableDeclaration","scope":14546,"src":"63208:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":14540,"name":"bytes","nodeType":"ElementaryTypeName","src":"63208:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":14543,"mutability":"mutable","name":"error","nameLocation":"63246:5:13","nodeType":"VariableDeclaration","scope":14546,"src":"63230:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14542,"name":"string","nodeType":"ElementaryTypeName","src":"63230:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"63186:66:13"},"returnParameters":{"id":14545,"nodeType":"ParameterList","parameters":[],"src":"63266:0:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14556,"nodeType":"FunctionDefinition","src":"63337:80:13","nodes":[],"documentation":{"id":14547,"nodeType":"StructuredDocumentation","src":"63273:59:13","text":"Asserts that two arrays of `bool` values are not equal."},"functionSelector":"286fafea","implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"63346:11:13","parameters":{"id":14554,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14550,"mutability":"mutable","name":"left","nameLocation":"63374:4:13","nodeType":"VariableDeclaration","scope":14556,"src":"63358:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_calldata_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":14548,"name":"bool","nodeType":"ElementaryTypeName","src":"63358:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":14549,"nodeType":"ArrayTypeName","src":"63358:6:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"},{"constant":false,"id":14553,"mutability":"mutable","name":"right","nameLocation":"63396:5:13","nodeType":"VariableDeclaration","scope":14556,"src":"63380:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_calldata_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":14551,"name":"bool","nodeType":"ElementaryTypeName","src":"63380:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":14552,"nodeType":"ArrayTypeName","src":"63380:6:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"}],"src":"63357:45:13"},"returnParameters":{"id":14555,"nodeType":"ParameterList","parameters":[],"src":"63416:0:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14568,"nodeType":"FunctionDefinition","src":"63544:103:13","nodes":[],"documentation":{"id":14557,"nodeType":"StructuredDocumentation","src":"63423:116:13","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:13","parameters":{"id":14566,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14560,"mutability":"mutable","name":"left","nameLocation":"63581:4:13","nodeType":"VariableDeclaration","scope":14568,"src":"63565:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_calldata_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":14558,"name":"bool","nodeType":"ElementaryTypeName","src":"63565:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":14559,"nodeType":"ArrayTypeName","src":"63565:6:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"},{"constant":false,"id":14563,"mutability":"mutable","name":"right","nameLocation":"63603:5:13","nodeType":"VariableDeclaration","scope":14568,"src":"63587:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_calldata_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":14561,"name":"bool","nodeType":"ElementaryTypeName","src":"63587:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":14562,"nodeType":"ArrayTypeName","src":"63587:6:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"},{"constant":false,"id":14565,"mutability":"mutable","name":"error","nameLocation":"63626:5:13","nodeType":"VariableDeclaration","scope":14568,"src":"63610:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14564,"name":"string","nodeType":"ElementaryTypeName","src":"63610:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"63564:68:13"},"returnParameters":{"id":14567,"nodeType":"ParameterList","parameters":[],"src":"63646:0:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14578,"nodeType":"FunctionDefinition","src":"63720:86:13","nodes":[],"documentation":{"id":14569,"nodeType":"StructuredDocumentation","src":"63653:62:13","text":"Asserts that two arrays of `uint256` values are not equal."},"functionSelector":"56f29cba","implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"63729:11:13","parameters":{"id":14576,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14572,"mutability":"mutable","name":"left","nameLocation":"63760:4:13","nodeType":"VariableDeclaration","scope":14578,"src":"63741:23:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":14570,"name":"uint256","nodeType":"ElementaryTypeName","src":"63741:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":14571,"nodeType":"ArrayTypeName","src":"63741:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":14575,"mutability":"mutable","name":"right","nameLocation":"63785:5:13","nodeType":"VariableDeclaration","scope":14578,"src":"63766:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":14573,"name":"uint256","nodeType":"ElementaryTypeName","src":"63766:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":14574,"nodeType":"ArrayTypeName","src":"63766:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"63740:51:13"},"returnParameters":{"id":14577,"nodeType":"ParameterList","parameters":[],"src":"63805:0:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14590,"nodeType":"FunctionDefinition","src":"63936:109:13","nodes":[],"documentation":{"id":14579,"nodeType":"StructuredDocumentation","src":"63812:119:13","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:13","parameters":{"id":14588,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14582,"mutability":"mutable","name":"left","nameLocation":"63976:4:13","nodeType":"VariableDeclaration","scope":14590,"src":"63957:23:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":14580,"name":"uint256","nodeType":"ElementaryTypeName","src":"63957:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":14581,"nodeType":"ArrayTypeName","src":"63957:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":14585,"mutability":"mutable","name":"right","nameLocation":"64001:5:13","nodeType":"VariableDeclaration","scope":14590,"src":"63982:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_calldata_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":14583,"name":"uint256","nodeType":"ElementaryTypeName","src":"63982:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":14584,"nodeType":"ArrayTypeName","src":"63982:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"},{"constant":false,"id":14587,"mutability":"mutable","name":"error","nameLocation":"64024:5:13","nodeType":"VariableDeclaration","scope":14590,"src":"64008:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14586,"name":"string","nodeType":"ElementaryTypeName","src":"64008:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"63956:74:13"},"returnParameters":{"id":14589,"nodeType":"ParameterList","parameters":[],"src":"64044:0:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14600,"nodeType":"FunctionDefinition","src":"64117:84:13","nodes":[],"documentation":{"id":14591,"nodeType":"StructuredDocumentation","src":"64051:61:13","text":"Asserts that two arrays of `int256` values are not equal."},"functionSelector":"0b72f4ef","implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"64126:11:13","parameters":{"id":14598,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14594,"mutability":"mutable","name":"left","nameLocation":"64156:4:13","nodeType":"VariableDeclaration","scope":14600,"src":"64138:22:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_calldata_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":14592,"name":"int256","nodeType":"ElementaryTypeName","src":"64138:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":14593,"nodeType":"ArrayTypeName","src":"64138:8:13","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"},{"constant":false,"id":14597,"mutability":"mutable","name":"right","nameLocation":"64180:5:13","nodeType":"VariableDeclaration","scope":14600,"src":"64162:23:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_calldata_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":14595,"name":"int256","nodeType":"ElementaryTypeName","src":"64162:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":14596,"nodeType":"ArrayTypeName","src":"64162:8:13","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"64137:49:13"},"returnParameters":{"id":14599,"nodeType":"ParameterList","parameters":[],"src":"64200:0:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14612,"nodeType":"FunctionDefinition","src":"64330:107:13","nodes":[],"documentation":{"id":14601,"nodeType":"StructuredDocumentation","src":"64207:118:13","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:13","parameters":{"id":14610,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14604,"mutability":"mutable","name":"left","nameLocation":"64369:4:13","nodeType":"VariableDeclaration","scope":14612,"src":"64351:22:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_calldata_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":14602,"name":"int256","nodeType":"ElementaryTypeName","src":"64351:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":14603,"nodeType":"ArrayTypeName","src":"64351:8:13","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"},{"constant":false,"id":14607,"mutability":"mutable","name":"right","nameLocation":"64393:5:13","nodeType":"VariableDeclaration","scope":14612,"src":"64375:23:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_calldata_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":14605,"name":"int256","nodeType":"ElementaryTypeName","src":"64375:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":14606,"nodeType":"ArrayTypeName","src":"64375:8:13","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"},{"constant":false,"id":14609,"mutability":"mutable","name":"error","nameLocation":"64416:5:13","nodeType":"VariableDeclaration","scope":14612,"src":"64400:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14608,"name":"string","nodeType":"ElementaryTypeName","src":"64400:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"64350:72:13"},"returnParameters":{"id":14611,"nodeType":"ParameterList","parameters":[],"src":"64436:0:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14620,"nodeType":"FunctionDefinition","src":"64500:64:13","nodes":[],"documentation":{"id":14613,"nodeType":"StructuredDocumentation","src":"64443:52:13","text":"Asserts that two `uint256` values are not equal."},"functionSelector":"b7909320","implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"64509:11:13","parameters":{"id":14618,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14615,"mutability":"mutable","name":"left","nameLocation":"64529:4:13","nodeType":"VariableDeclaration","scope":14620,"src":"64521:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14614,"name":"uint256","nodeType":"ElementaryTypeName","src":"64521:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14617,"mutability":"mutable","name":"right","nameLocation":"64543:5:13","nodeType":"VariableDeclaration","scope":14620,"src":"64535:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14616,"name":"uint256","nodeType":"ElementaryTypeName","src":"64535:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"64520:29:13"},"returnParameters":{"id":14619,"nodeType":"ParameterList","parameters":[],"src":"64563:0:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14630,"nodeType":"FunctionDefinition","src":"64637:86:13","nodes":[],"documentation":{"id":14621,"nodeType":"StructuredDocumentation","src":"64570:62:13","text":"Asserts that two arrays of `address` values are not equal."},"functionSelector":"46d0b252","implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"64646:11:13","parameters":{"id":14628,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14624,"mutability":"mutable","name":"left","nameLocation":"64677:4:13","nodeType":"VariableDeclaration","scope":14630,"src":"64658:23:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":14622,"name":"address","nodeType":"ElementaryTypeName","src":"64658:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":14623,"nodeType":"ArrayTypeName","src":"64658:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":14627,"mutability":"mutable","name":"right","nameLocation":"64702:5:13","nodeType":"VariableDeclaration","scope":14630,"src":"64683:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":14625,"name":"address","nodeType":"ElementaryTypeName","src":"64683:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":14626,"nodeType":"ArrayTypeName","src":"64683:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"64657:51:13"},"returnParameters":{"id":14629,"nodeType":"ParameterList","parameters":[],"src":"64722:0:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14642,"nodeType":"FunctionDefinition","src":"64853:109:13","nodes":[],"documentation":{"id":14631,"nodeType":"StructuredDocumentation","src":"64729:119:13","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:13","parameters":{"id":14640,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14634,"mutability":"mutable","name":"left","nameLocation":"64893:4:13","nodeType":"VariableDeclaration","scope":14642,"src":"64874:23:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":14632,"name":"address","nodeType":"ElementaryTypeName","src":"64874:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":14633,"nodeType":"ArrayTypeName","src":"64874:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":14637,"mutability":"mutable","name":"right","nameLocation":"64918:5:13","nodeType":"VariableDeclaration","scope":14642,"src":"64899:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":14635,"name":"address","nodeType":"ElementaryTypeName","src":"64899:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":14636,"nodeType":"ArrayTypeName","src":"64899:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"},{"constant":false,"id":14639,"mutability":"mutable","name":"error","nameLocation":"64941:5:13","nodeType":"VariableDeclaration","scope":14642,"src":"64925:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14638,"name":"string","nodeType":"ElementaryTypeName","src":"64925:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"64873:74:13"},"returnParameters":{"id":14641,"nodeType":"ParameterList","parameters":[],"src":"64961:0:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14652,"nodeType":"FunctionDefinition","src":"65035:86:13","nodes":[],"documentation":{"id":14643,"nodeType":"StructuredDocumentation","src":"64968:62:13","text":"Asserts that two arrays of `bytes32` values are not equal."},"functionSelector":"0603ea68","implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"65044:11:13","parameters":{"id":14650,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14646,"mutability":"mutable","name":"left","nameLocation":"65075:4:13","nodeType":"VariableDeclaration","scope":14652,"src":"65056:23:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_calldata_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":14644,"name":"bytes32","nodeType":"ElementaryTypeName","src":"65056:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":14645,"nodeType":"ArrayTypeName","src":"65056:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":14649,"mutability":"mutable","name":"right","nameLocation":"65100:5:13","nodeType":"VariableDeclaration","scope":14652,"src":"65081:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_calldata_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":14647,"name":"bytes32","nodeType":"ElementaryTypeName","src":"65081:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":14648,"nodeType":"ArrayTypeName","src":"65081:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"65055:51:13"},"returnParameters":{"id":14651,"nodeType":"ParameterList","parameters":[],"src":"65120:0:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14664,"nodeType":"FunctionDefinition","src":"65251:109:13","nodes":[],"documentation":{"id":14653,"nodeType":"StructuredDocumentation","src":"65127:119:13","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:13","parameters":{"id":14662,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14656,"mutability":"mutable","name":"left","nameLocation":"65291:4:13","nodeType":"VariableDeclaration","scope":14664,"src":"65272:23:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_calldata_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":14654,"name":"bytes32","nodeType":"ElementaryTypeName","src":"65272:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":14655,"nodeType":"ArrayTypeName","src":"65272:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":14659,"mutability":"mutable","name":"right","nameLocation":"65316:5:13","nodeType":"VariableDeclaration","scope":14664,"src":"65297:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_calldata_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":14657,"name":"bytes32","nodeType":"ElementaryTypeName","src":"65297:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":14658,"nodeType":"ArrayTypeName","src":"65297:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"},{"constant":false,"id":14661,"mutability":"mutable","name":"error","nameLocation":"65339:5:13","nodeType":"VariableDeclaration","scope":14664,"src":"65323:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14660,"name":"string","nodeType":"ElementaryTypeName","src":"65323:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"65271:74:13"},"returnParameters":{"id":14663,"nodeType":"ParameterList","parameters":[],"src":"65359:0:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14674,"nodeType":"FunctionDefinition","src":"65432:84:13","nodes":[],"documentation":{"id":14665,"nodeType":"StructuredDocumentation","src":"65366:61:13","text":"Asserts that two arrays of `string` values are not equal."},"functionSelector":"bdfacbe8","implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"65441:11:13","parameters":{"id":14672,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14668,"mutability":"mutable","name":"left","nameLocation":"65471:4:13","nodeType":"VariableDeclaration","scope":14674,"src":"65453:22:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_string_calldata_ptr_$dyn_calldata_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":14666,"name":"string","nodeType":"ElementaryTypeName","src":"65453:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":14667,"nodeType":"ArrayTypeName","src":"65453:8:13","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":14671,"mutability":"mutable","name":"right","nameLocation":"65495:5:13","nodeType":"VariableDeclaration","scope":14674,"src":"65477:23:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_string_calldata_ptr_$dyn_calldata_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":14669,"name":"string","nodeType":"ElementaryTypeName","src":"65477:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":14670,"nodeType":"ArrayTypeName","src":"65477:8:13","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"65452:49:13"},"returnParameters":{"id":14673,"nodeType":"ParameterList","parameters":[],"src":"65515:0:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14686,"nodeType":"FunctionDefinition","src":"65645:107:13","nodes":[],"documentation":{"id":14675,"nodeType":"StructuredDocumentation","src":"65522:118:13","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:13","parameters":{"id":14684,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14678,"mutability":"mutable","name":"left","nameLocation":"65684:4:13","nodeType":"VariableDeclaration","scope":14686,"src":"65666:22:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_string_calldata_ptr_$dyn_calldata_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":14676,"name":"string","nodeType":"ElementaryTypeName","src":"65666:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":14677,"nodeType":"ArrayTypeName","src":"65666:8:13","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":14681,"mutability":"mutable","name":"right","nameLocation":"65708:5:13","nodeType":"VariableDeclaration","scope":14686,"src":"65690:23:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_string_calldata_ptr_$dyn_calldata_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":14679,"name":"string","nodeType":"ElementaryTypeName","src":"65690:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":14680,"nodeType":"ArrayTypeName","src":"65690:8:13","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"},{"constant":false,"id":14683,"mutability":"mutable","name":"error","nameLocation":"65731:5:13","nodeType":"VariableDeclaration","scope":14686,"src":"65715:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14682,"name":"string","nodeType":"ElementaryTypeName","src":"65715:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"65665:72:13"},"returnParameters":{"id":14685,"nodeType":"ParameterList","parameters":[],"src":"65751:0:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14696,"nodeType":"FunctionDefinition","src":"65823:82:13","nodes":[],"documentation":{"id":14687,"nodeType":"StructuredDocumentation","src":"65758:60:13","text":"Asserts that two arrays of `bytes` values are not equal."},"functionSelector":"edecd035","implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"65832:11:13","parameters":{"id":14694,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14690,"mutability":"mutable","name":"left","nameLocation":"65861:4:13","nodeType":"VariableDeclaration","scope":14696,"src":"65844:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":14688,"name":"bytes","nodeType":"ElementaryTypeName","src":"65844:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":14689,"nodeType":"ArrayTypeName","src":"65844:7:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":14693,"mutability":"mutable","name":"right","nameLocation":"65884:5:13","nodeType":"VariableDeclaration","scope":14696,"src":"65867:22:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":14691,"name":"bytes","nodeType":"ElementaryTypeName","src":"65867:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":14692,"nodeType":"ArrayTypeName","src":"65867:7:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"65843:47:13"},"returnParameters":{"id":14695,"nodeType":"ParameterList","parameters":[],"src":"65904:0:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14708,"nodeType":"FunctionDefinition","src":"66033:105:13","nodes":[],"documentation":{"id":14697,"nodeType":"StructuredDocumentation","src":"65911:117:13","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:13","parameters":{"id":14706,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14700,"mutability":"mutable","name":"left","nameLocation":"66071:4:13","nodeType":"VariableDeclaration","scope":14708,"src":"66054:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":14698,"name":"bytes","nodeType":"ElementaryTypeName","src":"66054:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":14699,"nodeType":"ArrayTypeName","src":"66054:7:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":14703,"mutability":"mutable","name":"right","nameLocation":"66094:5:13","nodeType":"VariableDeclaration","scope":14708,"src":"66077:22:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_calldata_ptr_$dyn_calldata_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":14701,"name":"bytes","nodeType":"ElementaryTypeName","src":"66077:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":14702,"nodeType":"ArrayTypeName","src":"66077:7:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"},{"constant":false,"id":14705,"mutability":"mutable","name":"error","nameLocation":"66117:5:13","nodeType":"VariableDeclaration","scope":14708,"src":"66101:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14704,"name":"string","nodeType":"ElementaryTypeName","src":"66101:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"66053:70:13"},"returnParameters":{"id":14707,"nodeType":"ParameterList","parameters":[],"src":"66137:0:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14718,"nodeType":"FunctionDefinition","src":"66258:87:13","nodes":[],"documentation":{"id":14709,"nodeType":"StructuredDocumentation","src":"66144:109:13","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:13","parameters":{"id":14716,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14711,"mutability":"mutable","name":"left","nameLocation":"66287:4:13","nodeType":"VariableDeclaration","scope":14718,"src":"66279:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14710,"name":"uint256","nodeType":"ElementaryTypeName","src":"66279:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14713,"mutability":"mutable","name":"right","nameLocation":"66301:5:13","nodeType":"VariableDeclaration","scope":14718,"src":"66293:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14712,"name":"uint256","nodeType":"ElementaryTypeName","src":"66293:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":14715,"mutability":"mutable","name":"error","nameLocation":"66324:5:13","nodeType":"VariableDeclaration","scope":14718,"src":"66308:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14714,"name":"string","nodeType":"ElementaryTypeName","src":"66308:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"66278:52:13"},"returnParameters":{"id":14717,"nodeType":"ParameterList","parameters":[],"src":"66344:0:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14726,"nodeType":"FunctionDefinition","src":"66407:62:13","nodes":[],"documentation":{"id":14719,"nodeType":"StructuredDocumentation","src":"66351:51:13","text":"Asserts that two `int256` values are not equal."},"functionSelector":"f4c004e3","implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"66416:11:13","parameters":{"id":14724,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14721,"mutability":"mutable","name":"left","nameLocation":"66435:4:13","nodeType":"VariableDeclaration","scope":14726,"src":"66428:11:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14720,"name":"int256","nodeType":"ElementaryTypeName","src":"66428:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14723,"mutability":"mutable","name":"right","nameLocation":"66448:5:13","nodeType":"VariableDeclaration","scope":14726,"src":"66441:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14722,"name":"int256","nodeType":"ElementaryTypeName","src":"66441:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"66427:27:13"},"returnParameters":{"id":14725,"nodeType":"ParameterList","parameters":[],"src":"66468:0:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14736,"nodeType":"FunctionDefinition","src":"66588:85:13","nodes":[],"documentation":{"id":14727,"nodeType":"StructuredDocumentation","src":"66475:108:13","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:13","parameters":{"id":14734,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14729,"mutability":"mutable","name":"left","nameLocation":"66616:4:13","nodeType":"VariableDeclaration","scope":14736,"src":"66609:11:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14728,"name":"int256","nodeType":"ElementaryTypeName","src":"66609:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14731,"mutability":"mutable","name":"right","nameLocation":"66629:5:13","nodeType":"VariableDeclaration","scope":14736,"src":"66622:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14730,"name":"int256","nodeType":"ElementaryTypeName","src":"66622:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"},{"constant":false,"id":14733,"mutability":"mutable","name":"error","nameLocation":"66652:5:13","nodeType":"VariableDeclaration","scope":14736,"src":"66636:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14732,"name":"string","nodeType":"ElementaryTypeName","src":"66636:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"66608:50:13"},"returnParameters":{"id":14735,"nodeType":"ParameterList","parameters":[],"src":"66672:0:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14744,"nodeType":"FunctionDefinition","src":"66736:64:13","nodes":[],"documentation":{"id":14737,"nodeType":"StructuredDocumentation","src":"66679:52:13","text":"Asserts that two `address` values are not equal."},"functionSelector":"b12e1694","implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"66745:11:13","parameters":{"id":14742,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14739,"mutability":"mutable","name":"left","nameLocation":"66765:4:13","nodeType":"VariableDeclaration","scope":14744,"src":"66757:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14738,"name":"address","nodeType":"ElementaryTypeName","src":"66757:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":14741,"mutability":"mutable","name":"right","nameLocation":"66779:5:13","nodeType":"VariableDeclaration","scope":14744,"src":"66771:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14740,"name":"address","nodeType":"ElementaryTypeName","src":"66771:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"66756:29:13"},"returnParameters":{"id":14743,"nodeType":"ParameterList","parameters":[],"src":"66799:0:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14754,"nodeType":"FunctionDefinition","src":"66920:87:13","nodes":[],"documentation":{"id":14745,"nodeType":"StructuredDocumentation","src":"66806:109:13","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:13","parameters":{"id":14752,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14747,"mutability":"mutable","name":"left","nameLocation":"66949:4:13","nodeType":"VariableDeclaration","scope":14754,"src":"66941:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14746,"name":"address","nodeType":"ElementaryTypeName","src":"66941:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":14749,"mutability":"mutable","name":"right","nameLocation":"66963:5:13","nodeType":"VariableDeclaration","scope":14754,"src":"66955:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14748,"name":"address","nodeType":"ElementaryTypeName","src":"66955:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":14751,"mutability":"mutable","name":"error","nameLocation":"66986:5:13","nodeType":"VariableDeclaration","scope":14754,"src":"66970:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14750,"name":"string","nodeType":"ElementaryTypeName","src":"66970:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"66940:52:13"},"returnParameters":{"id":14753,"nodeType":"ParameterList","parameters":[],"src":"67006:0:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14762,"nodeType":"FunctionDefinition","src":"67070:64:13","nodes":[],"documentation":{"id":14755,"nodeType":"StructuredDocumentation","src":"67013:52:13","text":"Asserts that two `bytes32` values are not equal."},"functionSelector":"898e83fc","implemented":false,"kind":"function","modifiers":[],"name":"assertNotEq","nameLocation":"67079:11:13","parameters":{"id":14760,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14757,"mutability":"mutable","name":"left","nameLocation":"67099:4:13","nodeType":"VariableDeclaration","scope":14762,"src":"67091:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":14756,"name":"bytes32","nodeType":"ElementaryTypeName","src":"67091:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":14759,"mutability":"mutable","name":"right","nameLocation":"67113:5:13","nodeType":"VariableDeclaration","scope":14762,"src":"67105:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":14758,"name":"bytes32","nodeType":"ElementaryTypeName","src":"67105:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"67090:29:13"},"returnParameters":{"id":14761,"nodeType":"ParameterList","parameters":[],"src":"67133:0:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14772,"nodeType":"FunctionDefinition","src":"67254:87:13","nodes":[],"documentation":{"id":14763,"nodeType":"StructuredDocumentation","src":"67140:109:13","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:13","parameters":{"id":14770,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14765,"mutability":"mutable","name":"left","nameLocation":"67283:4:13","nodeType":"VariableDeclaration","scope":14772,"src":"67275:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":14764,"name":"bytes32","nodeType":"ElementaryTypeName","src":"67275:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":14767,"mutability":"mutable","name":"right","nameLocation":"67297:5:13","nodeType":"VariableDeclaration","scope":14772,"src":"67289:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":14766,"name":"bytes32","nodeType":"ElementaryTypeName","src":"67289:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":14769,"mutability":"mutable","name":"error","nameLocation":"67320:5:13","nodeType":"VariableDeclaration","scope":14772,"src":"67304:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14768,"name":"string","nodeType":"ElementaryTypeName","src":"67304:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"67274:52:13"},"returnParameters":{"id":14771,"nodeType":"ParameterList","parameters":[],"src":"67340:0:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14778,"nodeType":"FunctionDefinition","src":"67397:50:13","nodes":[],"documentation":{"id":14773,"nodeType":"StructuredDocumentation","src":"67347:45:13","text":"Asserts that the given condition is true."},"functionSelector":"0c9fd581","implemented":false,"kind":"function","modifiers":[],"name":"assertTrue","nameLocation":"67406:10:13","parameters":{"id":14776,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14775,"mutability":"mutable","name":"condition","nameLocation":"67422:9:13","nodeType":"VariableDeclaration","scope":14778,"src":"67417:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14774,"name":"bool","nodeType":"ElementaryTypeName","src":"67417:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"67416:16:13"},"returnParameters":{"id":14777,"nodeType":"ParameterList","parameters":[],"src":"67446:0:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14786,"nodeType":"FunctionDefinition","src":"67560:73:13","nodes":[],"documentation":{"id":14779,"nodeType":"StructuredDocumentation","src":"67453:102:13","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:13","parameters":{"id":14784,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14781,"mutability":"mutable","name":"condition","nameLocation":"67585:9:13","nodeType":"VariableDeclaration","scope":14786,"src":"67580:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14780,"name":"bool","nodeType":"ElementaryTypeName","src":"67580:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":14783,"mutability":"mutable","name":"error","nameLocation":"67612:5:13","nodeType":"VariableDeclaration","scope":14786,"src":"67596:21:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14782,"name":"string","nodeType":"ElementaryTypeName","src":"67596:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"67579:39:13"},"returnParameters":{"id":14785,"nodeType":"ParameterList","parameters":[],"src":"67632:0:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14792,"nodeType":"FunctionDefinition","src":"67728:46:13","nodes":[],"documentation":{"id":14787,"nodeType":"StructuredDocumentation","src":"67639:84:13","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:13","parameters":{"id":14790,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14789,"mutability":"mutable","name":"condition","nameLocation":"67749:9:13","nodeType":"VariableDeclaration","scope":14792,"src":"67744:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14788,"name":"bool","nodeType":"ElementaryTypeName","src":"67744:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"67743:16:13"},"returnParameters":{"id":14791,"nodeType":"ParameterList","parameters":[],"src":"67773:0:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14798,"nodeType":"FunctionDefinition","src":"67836:51:13","nodes":[],"documentation":{"id":14793,"nodeType":"StructuredDocumentation","src":"67780:51:13","text":"Writes a breakpoint to jump to in the debugger."},"functionSelector":"f0259e92","implemented":false,"kind":"function","modifiers":[],"name":"breakpoint","nameLocation":"67845:10:13","parameters":{"id":14796,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14795,"mutability":"mutable","name":"char","nameLocation":"67872:4:13","nodeType":"VariableDeclaration","scope":14798,"src":"67856:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14794,"name":"string","nodeType":"ElementaryTypeName","src":"67856:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"67855:22:13"},"returnParameters":{"id":14797,"nodeType":"ParameterList","parameters":[],"src":"67886:0:13"},"scope":15231,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":14806,"nodeType":"FunctionDefinition","src":"67961:63:13","nodes":[],"documentation":{"id":14799,"nodeType":"StructuredDocumentation","src":"67893:63:13","text":"Writes a conditional breakpoint to jump to in the debugger."},"functionSelector":"f7d39a8d","implemented":false,"kind":"function","modifiers":[],"name":"breakpoint","nameLocation":"67970:10:13","parameters":{"id":14804,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14801,"mutability":"mutable","name":"char","nameLocation":"67997:4:13","nodeType":"VariableDeclaration","scope":14806,"src":"67981:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14800,"name":"string","nodeType":"ElementaryTypeName","src":"67981:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14803,"mutability":"mutable","name":"value","nameLocation":"68008:5:13","nodeType":"VariableDeclaration","scope":14806,"src":"68003:10:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14802,"name":"bool","nodeType":"ElementaryTypeName","src":"68003:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"67980:34:13"},"returnParameters":{"id":14805,"nodeType":"ParameterList","parameters":[],"src":"68023:0:13"},"scope":15231,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":14814,"nodeType":"FunctionDefinition","src":"68079:85:13","nodes":[],"documentation":{"id":14807,"nodeType":"StructuredDocumentation","src":"68030:44:13","text":"Returns the RPC url for the given alias."},"functionSelector":"975a6ce9","implemented":false,"kind":"function","modifiers":[],"name":"rpcUrl","nameLocation":"68088:6:13","parameters":{"id":14810,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14809,"mutability":"mutable","name":"rpcAlias","nameLocation":"68111:8:13","nodeType":"VariableDeclaration","scope":14814,"src":"68095:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14808,"name":"string","nodeType":"ElementaryTypeName","src":"68095:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"68094:26:13"},"returnParameters":{"id":14813,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14812,"mutability":"mutable","name":"json","nameLocation":"68158:4:13","nodeType":"VariableDeclaration","scope":14814,"src":"68144:18:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14811,"name":"string","nodeType":"ElementaryTypeName","src":"68144:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"68143:20:13"},"scope":15231,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14822,"nodeType":"FunctionDefinition","src":"68229:67:13","nodes":[],"documentation":{"id":14815,"nodeType":"StructuredDocumentation","src":"68170:54:13","text":"Returns all rpc urls and their aliases as structs."},"functionSelector":"9d2ad72a","implemented":false,"kind":"function","modifiers":[],"name":"rpcUrlStructs","nameLocation":"68238:13:13","parameters":{"id":14816,"nodeType":"ParameterList","parameters":[],"src":"68251:2:13"},"returnParameters":{"id":14821,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14820,"mutability":"mutable","name":"urls","nameLocation":"68290:4:13","nodeType":"VariableDeclaration","scope":14822,"src":"68277:17:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Rpc_$12077_memory_ptr_$dyn_memory_ptr","typeString":"struct VmSafe.Rpc[]"},"typeName":{"baseType":{"id":14818,"nodeType":"UserDefinedTypeName","pathNode":{"id":14817,"name":"Rpc","nameLocations":["68277:3:13"],"nodeType":"IdentifierPath","referencedDeclaration":12077,"src":"68277:3:13"},"referencedDeclaration":12077,"src":"68277:3:13","typeDescriptions":{"typeIdentifier":"t_struct$_Rpc_$12077_storage_ptr","typeString":"struct VmSafe.Rpc"}},"id":14819,"nodeType":"ArrayTypeName","src":"68277:5:13","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_Rpc_$12077_storage_$dyn_storage_ptr","typeString":"struct VmSafe.Rpc[]"}},"visibility":"internal"}],"src":"68276:19:13"},"scope":15231,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14831,"nodeType":"FunctionDefinition","src":"68367:67:13","nodes":[],"documentation":{"id":14823,"nodeType":"StructuredDocumentation","src":"68302:60:13","text":"Returns all rpc urls and their aliases `[alias, url][]`."},"functionSelector":"a85a8418","implemented":false,"kind":"function","modifiers":[],"name":"rpcUrls","nameLocation":"68376:7:13","parameters":{"id":14824,"nodeType":"ParameterList","parameters":[],"src":"68383:2:13"},"returnParameters":{"id":14830,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14829,"mutability":"mutable","name":"urls","nameLocation":"68428:4:13","nodeType":"VariableDeclaration","scope":14831,"src":"68409:23:13","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":14825,"name":"string","nodeType":"ElementaryTypeName","src":"68409:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":14827,"length":{"hexValue":"32","id":14826,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"68416:1:13","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"nodeType":"ArrayTypeName","src":"68409:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$2_storage_ptr","typeString":"string[2]"}},"id":14828,"nodeType":"ArrayTypeName","src":"68409:11:13","typeDescriptions":{"typeIdentifier":"t_array$_t_array$_t_string_storage_$2_storage_$dyn_storage_ptr","typeString":"string[2][]"}},"visibility":"internal"}],"src":"68408:25:13"},"scope":15231,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14837,"nodeType":"FunctionDefinition","src":"68515:42:13","nodes":[],"documentation":{"id":14832,"nodeType":"StructuredDocumentation","src":"68440:70:13","text":"Suspends execution of the main thread for `duration` milliseconds."},"functionSelector":"fa9d8713","implemented":false,"kind":"function","modifiers":[],"name":"sleep","nameLocation":"68524:5:13","parameters":{"id":14835,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14834,"mutability":"mutable","name":"duration","nameLocation":"68538:8:13","nodeType":"VariableDeclaration","scope":14837,"src":"68530:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14833,"name":"uint256","nodeType":"ElementaryTypeName","src":"68530:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"68529:18:13"},"returnParameters":{"id":14836,"nodeType":"ParameterList","parameters":[],"src":"68556:0:13"},"scope":15231,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":14847,"nodeType":"FunctionDefinition","src":"68642:95:13","nodes":[],"documentation":{"id":14838,"nodeType":"StructuredDocumentation","src":"68594:43:13","text":"Checks if `key` exists in a TOML table."},"functionSelector":"600903ad","implemented":false,"kind":"function","modifiers":[],"name":"keyExistsToml","nameLocation":"68651:13:13","parameters":{"id":14843,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14840,"mutability":"mutable","name":"toml","nameLocation":"68681:4:13","nodeType":"VariableDeclaration","scope":14847,"src":"68665:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14839,"name":"string","nodeType":"ElementaryTypeName","src":"68665:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14842,"mutability":"mutable","name":"key","nameLocation":"68703:3:13","nodeType":"VariableDeclaration","scope":14847,"src":"68687:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14841,"name":"string","nodeType":"ElementaryTypeName","src":"68687:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"68664:43:13"},"returnParameters":{"id":14846,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14845,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":14847,"src":"68731:4:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14844,"name":"bool","nodeType":"ElementaryTypeName","src":"68731:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"68730:6:13"},"scope":15231,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":14857,"nodeType":"FunctionDefinition","src":"68818:101:13","nodes":[],"documentation":{"id":14848,"nodeType":"StructuredDocumentation","src":"68743:70:13","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:13","parameters":{"id":14853,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14850,"mutability":"mutable","name":"toml","nameLocation":"68860:4:13","nodeType":"VariableDeclaration","scope":14857,"src":"68844:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14849,"name":"string","nodeType":"ElementaryTypeName","src":"68844:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14852,"mutability":"mutable","name":"key","nameLocation":"68882:3:13","nodeType":"VariableDeclaration","scope":14857,"src":"68866:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14851,"name":"string","nodeType":"ElementaryTypeName","src":"68866:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"68843:43:13"},"returnParameters":{"id":14856,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14855,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":14857,"src":"68910:7:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":14854,"name":"address","nodeType":"ElementaryTypeName","src":"68910:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"68909:9:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14868,"nodeType":"FunctionDefinition","src":"69002:139:13","nodes":[],"documentation":{"id":14858,"nodeType":"StructuredDocumentation","src":"68925:72:13","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:13","parameters":{"id":14863,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14860,"mutability":"mutable","name":"toml","nameLocation":"69049:4:13","nodeType":"VariableDeclaration","scope":14868,"src":"69033:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14859,"name":"string","nodeType":"ElementaryTypeName","src":"69033:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14862,"mutability":"mutable","name":"key","nameLocation":"69071:3:13","nodeType":"VariableDeclaration","scope":14868,"src":"69055:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14861,"name":"string","nodeType":"ElementaryTypeName","src":"69055:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"69032:43:13"},"returnParameters":{"id":14867,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14866,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":14868,"src":"69123:16:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_memory_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":14864,"name":"address","nodeType":"ElementaryTypeName","src":"69123:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":14865,"nodeType":"ArrayTypeName","src":"69123:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"69122:18:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14878,"nodeType":"FunctionDefinition","src":"69219:95:13","nodes":[],"documentation":{"id":14869,"nodeType":"StructuredDocumentation","src":"69147:67:13","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:13","parameters":{"id":14874,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14871,"mutability":"mutable","name":"toml","nameLocation":"69258:4:13","nodeType":"VariableDeclaration","scope":14878,"src":"69242:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14870,"name":"string","nodeType":"ElementaryTypeName","src":"69242:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14873,"mutability":"mutable","name":"key","nameLocation":"69280:3:13","nodeType":"VariableDeclaration","scope":14878,"src":"69264:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14872,"name":"string","nodeType":"ElementaryTypeName","src":"69264:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"69241:43:13"},"returnParameters":{"id":14877,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14876,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":14878,"src":"69308:4:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":14875,"name":"bool","nodeType":"ElementaryTypeName","src":"69308:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"69307:6:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14889,"nodeType":"FunctionDefinition","src":"69394:109:13","nodes":[],"documentation":{"id":14879,"nodeType":"StructuredDocumentation","src":"69320:69:13","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:13","parameters":{"id":14884,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14881,"mutability":"mutable","name":"toml","nameLocation":"69438:4:13","nodeType":"VariableDeclaration","scope":14889,"src":"69422:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14880,"name":"string","nodeType":"ElementaryTypeName","src":"69422:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14883,"mutability":"mutable","name":"key","nameLocation":"69460:3:13","nodeType":"VariableDeclaration","scope":14889,"src":"69444:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14882,"name":"string","nodeType":"ElementaryTypeName","src":"69444:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"69421:43:13"},"returnParameters":{"id":14888,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14887,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":14889,"src":"69488:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_memory_ptr","typeString":"bool[]"},"typeName":{"baseType":{"id":14885,"name":"bool","nodeType":"ElementaryTypeName","src":"69488:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"id":14886,"nodeType":"ArrayTypeName","src":"69488:6:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bool_$dyn_storage_ptr","typeString":"bool[]"}},"visibility":"internal"}],"src":"69487:15:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14899,"nodeType":"FunctionDefinition","src":"69582:104:13","nodes":[],"documentation":{"id":14890,"nodeType":"StructuredDocumentation","src":"69509:68:13","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:13","parameters":{"id":14895,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14892,"mutability":"mutable","name":"toml","nameLocation":"69622:4:13","nodeType":"VariableDeclaration","scope":14899,"src":"69606:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14891,"name":"string","nodeType":"ElementaryTypeName","src":"69606:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14894,"mutability":"mutable","name":"key","nameLocation":"69644:3:13","nodeType":"VariableDeclaration","scope":14899,"src":"69628:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14893,"name":"string","nodeType":"ElementaryTypeName","src":"69628:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"69605:43:13"},"returnParameters":{"id":14898,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14897,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":14899,"src":"69672:12:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":14896,"name":"bytes","nodeType":"ElementaryTypeName","src":"69672:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"69671:14:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14909,"nodeType":"FunctionDefinition","src":"69767:101:13","nodes":[],"documentation":{"id":14900,"nodeType":"StructuredDocumentation","src":"69692:70:13","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:13","parameters":{"id":14905,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14902,"mutability":"mutable","name":"toml","nameLocation":"69809:4:13","nodeType":"VariableDeclaration","scope":14909,"src":"69793:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14901,"name":"string","nodeType":"ElementaryTypeName","src":"69793:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14904,"mutability":"mutable","name":"key","nameLocation":"69831:3:13","nodeType":"VariableDeclaration","scope":14909,"src":"69815:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14903,"name":"string","nodeType":"ElementaryTypeName","src":"69815:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"69792:43:13"},"returnParameters":{"id":14908,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14907,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":14909,"src":"69859:7:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":14906,"name":"bytes32","nodeType":"ElementaryTypeName","src":"69859:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"69858:9:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14920,"nodeType":"FunctionDefinition","src":"69951:139:13","nodes":[],"documentation":{"id":14910,"nodeType":"StructuredDocumentation","src":"69874:72:13","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:13","parameters":{"id":14915,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14912,"mutability":"mutable","name":"toml","nameLocation":"69998:4:13","nodeType":"VariableDeclaration","scope":14920,"src":"69982:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14911,"name":"string","nodeType":"ElementaryTypeName","src":"69982:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14914,"mutability":"mutable","name":"key","nameLocation":"70020:3:13","nodeType":"VariableDeclaration","scope":14920,"src":"70004:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14913,"name":"string","nodeType":"ElementaryTypeName","src":"70004:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"69981:43:13"},"returnParameters":{"id":14919,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14918,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":14920,"src":"70072:16:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_memory_ptr","typeString":"bytes32[]"},"typeName":{"baseType":{"id":14916,"name":"bytes32","nodeType":"ElementaryTypeName","src":"70072:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":14917,"nodeType":"ArrayTypeName","src":"70072:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes32_$dyn_storage_ptr","typeString":"bytes32[]"}},"visibility":"internal"}],"src":"70071:18:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14931,"nodeType":"FunctionDefinition","src":"70171:111:13","nodes":[],"documentation":{"id":14921,"nodeType":"StructuredDocumentation","src":"70096:70:13","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:13","parameters":{"id":14926,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14923,"mutability":"mutable","name":"toml","nameLocation":"70216:4:13","nodeType":"VariableDeclaration","scope":14931,"src":"70200:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14922,"name":"string","nodeType":"ElementaryTypeName","src":"70200:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14925,"mutability":"mutable","name":"key","nameLocation":"70238:3:13","nodeType":"VariableDeclaration","scope":14931,"src":"70222:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14924,"name":"string","nodeType":"ElementaryTypeName","src":"70222:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"70199:43:13"},"returnParameters":{"id":14930,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14929,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":14931,"src":"70266:14:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_memory_ptr_$dyn_memory_ptr","typeString":"bytes[]"},"typeName":{"baseType":{"id":14927,"name":"bytes","nodeType":"ElementaryTypeName","src":"70266:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"id":14928,"nodeType":"ArrayTypeName","src":"70266:7:13","typeDescriptions":{"typeIdentifier":"t_array$_t_bytes_storage_$dyn_storage_ptr","typeString":"bytes[]"}},"visibility":"internal"}],"src":"70265:16:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14941,"nodeType":"FunctionDefinition","src":"70362:96:13","nodes":[],"documentation":{"id":14932,"nodeType":"StructuredDocumentation","src":"70288:69:13","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:13","parameters":{"id":14937,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14934,"mutability":"mutable","name":"toml","nameLocation":"70400:4:13","nodeType":"VariableDeclaration","scope":14941,"src":"70384:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14933,"name":"string","nodeType":"ElementaryTypeName","src":"70384:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14936,"mutability":"mutable","name":"key","nameLocation":"70422:3:13","nodeType":"VariableDeclaration","scope":14941,"src":"70406:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14935,"name":"string","nodeType":"ElementaryTypeName","src":"70406:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"70383:43:13"},"returnParameters":{"id":14940,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14939,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":14941,"src":"70450:6:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"},"typeName":{"id":14938,"name":"int256","nodeType":"ElementaryTypeName","src":"70450:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"visibility":"internal"}],"src":"70449:8:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14952,"nodeType":"FunctionDefinition","src":"70540:110:13","nodes":[],"documentation":{"id":14942,"nodeType":"StructuredDocumentation","src":"70464:71:13","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:13","parameters":{"id":14947,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14944,"mutability":"mutable","name":"toml","nameLocation":"70583:4:13","nodeType":"VariableDeclaration","scope":14952,"src":"70567:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14943,"name":"string","nodeType":"ElementaryTypeName","src":"70567:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14946,"mutability":"mutable","name":"key","nameLocation":"70605:3:13","nodeType":"VariableDeclaration","scope":14952,"src":"70589:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14945,"name":"string","nodeType":"ElementaryTypeName","src":"70589:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"70566:43:13"},"returnParameters":{"id":14951,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14950,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":14952,"src":"70633:15:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_memory_ptr","typeString":"int256[]"},"typeName":{"baseType":{"id":14948,"name":"int256","nodeType":"ElementaryTypeName","src":"70633:6:13","typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}},"id":14949,"nodeType":"ArrayTypeName","src":"70633:8:13","typeDescriptions":{"typeIdentifier":"t_array$_t_int256_$dyn_storage_ptr","typeString":"int256[]"}},"visibility":"internal"}],"src":"70632:17:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14963,"nodeType":"FunctionDefinition","src":"70714:111:13","nodes":[],"documentation":{"id":14953,"nodeType":"StructuredDocumentation","src":"70656:53:13","text":"Returns an array of all the keys in a TOML table."},"functionSelector":"812a44b2","implemented":false,"kind":"function","modifiers":[],"name":"parseTomlKeys","nameLocation":"70723:13:13","parameters":{"id":14958,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14955,"mutability":"mutable","name":"toml","nameLocation":"70753:4:13","nodeType":"VariableDeclaration","scope":14963,"src":"70737:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14954,"name":"string","nodeType":"ElementaryTypeName","src":"70737:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14957,"mutability":"mutable","name":"key","nameLocation":"70775:3:13","nodeType":"VariableDeclaration","scope":14963,"src":"70759:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14956,"name":"string","nodeType":"ElementaryTypeName","src":"70759:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"70736:43:13"},"returnParameters":{"id":14962,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14961,"mutability":"mutable","name":"keys","nameLocation":"70819:4:13","nodeType":"VariableDeclaration","scope":14963,"src":"70803:20:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":14959,"name":"string","nodeType":"ElementaryTypeName","src":"70803:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":14960,"nodeType":"ArrayTypeName","src":"70803:8:13","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"70802:22:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14973,"nodeType":"FunctionDefinition","src":"70905:106:13","nodes":[],"documentation":{"id":14964,"nodeType":"StructuredDocumentation","src":"70831:69:13","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:13","parameters":{"id":14969,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14966,"mutability":"mutable","name":"toml","nameLocation":"70946:4:13","nodeType":"VariableDeclaration","scope":14973,"src":"70930:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14965,"name":"string","nodeType":"ElementaryTypeName","src":"70930:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14968,"mutability":"mutable","name":"key","nameLocation":"70968:3:13","nodeType":"VariableDeclaration","scope":14973,"src":"70952:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14967,"name":"string","nodeType":"ElementaryTypeName","src":"70952:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"70929:43:13"},"returnParameters":{"id":14972,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14971,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":14973,"src":"70996:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":14970,"name":"string","nodeType":"ElementaryTypeName","src":"70996:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"70995:15:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14984,"nodeType":"FunctionDefinition","src":"71093:113:13","nodes":[],"documentation":{"id":14974,"nodeType":"StructuredDocumentation","src":"71017:71:13","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:13","parameters":{"id":14979,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14976,"mutability":"mutable","name":"toml","nameLocation":"71139:4:13","nodeType":"VariableDeclaration","scope":14984,"src":"71123:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14975,"name":"string","nodeType":"ElementaryTypeName","src":"71123:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14978,"mutability":"mutable","name":"key","nameLocation":"71161:3:13","nodeType":"VariableDeclaration","scope":14984,"src":"71145:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14977,"name":"string","nodeType":"ElementaryTypeName","src":"71145:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"71122:43:13"},"returnParameters":{"id":14983,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14982,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":14984,"src":"71189:15:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_string_memory_ptr_$dyn_memory_ptr","typeString":"string[]"},"typeName":{"baseType":{"id":14980,"name":"string","nodeType":"ElementaryTypeName","src":"71189:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"id":14981,"nodeType":"ArrayTypeName","src":"71189:8:13","typeDescriptions":{"typeIdentifier":"t_array$_t_string_storage_$dyn_storage_ptr","typeString":"string[]"}},"visibility":"internal"}],"src":"71188:17:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":14994,"nodeType":"FunctionDefinition","src":"71287:98:13","nodes":[],"documentation":{"id":14985,"nodeType":"StructuredDocumentation","src":"71212:70:13","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:13","parameters":{"id":14990,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14987,"mutability":"mutable","name":"toml","nameLocation":"71326:4:13","nodeType":"VariableDeclaration","scope":14994,"src":"71310:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14986,"name":"string","nodeType":"ElementaryTypeName","src":"71310:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14989,"mutability":"mutable","name":"key","nameLocation":"71348:3:13","nodeType":"VariableDeclaration","scope":14994,"src":"71332:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14988,"name":"string","nodeType":"ElementaryTypeName","src":"71332:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"71309:43:13"},"returnParameters":{"id":14993,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14992,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":14994,"src":"71376:7:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":14991,"name":"uint256","nodeType":"ElementaryTypeName","src":"71376:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"71375:9:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15005,"nodeType":"FunctionDefinition","src":"71468:112:13","nodes":[],"documentation":{"id":14995,"nodeType":"StructuredDocumentation","src":"71391:72:13","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:13","parameters":{"id":15000,"nodeType":"ParameterList","parameters":[{"constant":false,"id":14997,"mutability":"mutable","name":"toml","nameLocation":"71512:4:13","nodeType":"VariableDeclaration","scope":15005,"src":"71496:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14996,"name":"string","nodeType":"ElementaryTypeName","src":"71496:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":14999,"mutability":"mutable","name":"key","nameLocation":"71534:3:13","nodeType":"VariableDeclaration","scope":15005,"src":"71518:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":14998,"name":"string","nodeType":"ElementaryTypeName","src":"71518:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"71495:43:13"},"returnParameters":{"id":15004,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15003,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15005,"src":"71562:16:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_memory_ptr","typeString":"uint256[]"},"typeName":{"baseType":{"id":15001,"name":"uint256","nodeType":"ElementaryTypeName","src":"71562:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"id":15002,"nodeType":"ArrayTypeName","src":"71562:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_uint256_$dyn_storage_ptr","typeString":"uint256[]"}},"visibility":"internal"}],"src":"71561:18:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15013,"nodeType":"FunctionDefinition","src":"71620:93:13","nodes":[],"documentation":{"id":15006,"nodeType":"StructuredDocumentation","src":"71586:29:13","text":"ABI-encodes a TOML table."},"functionSelector":"592151f0","implemented":false,"kind":"function","modifiers":[],"name":"parseToml","nameLocation":"71629:9:13","parameters":{"id":15009,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15008,"mutability":"mutable","name":"toml","nameLocation":"71655:4:13","nodeType":"VariableDeclaration","scope":15013,"src":"71639:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15007,"name":"string","nodeType":"ElementaryTypeName","src":"71639:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"71638:22:13"},"returnParameters":{"id":15012,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15011,"mutability":"mutable","name":"abiEncodedData","nameLocation":"71697:14:13","nodeType":"VariableDeclaration","scope":15013,"src":"71684:27:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":15010,"name":"bytes","nodeType":"ElementaryTypeName","src":"71684:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"71683:29:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15023,"nodeType":"FunctionDefinition","src":"71762:114:13","nodes":[],"documentation":{"id":15014,"nodeType":"StructuredDocumentation","src":"71719:38:13","text":"ABI-encodes a TOML table at `key`."},"functionSelector":"37736e08","implemented":false,"kind":"function","modifiers":[],"name":"parseToml","nameLocation":"71771:9:13","parameters":{"id":15019,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15016,"mutability":"mutable","name":"toml","nameLocation":"71797:4:13","nodeType":"VariableDeclaration","scope":15023,"src":"71781:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15015,"name":"string","nodeType":"ElementaryTypeName","src":"71781:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15018,"mutability":"mutable","name":"key","nameLocation":"71819:3:13","nodeType":"VariableDeclaration","scope":15023,"src":"71803:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15017,"name":"string","nodeType":"ElementaryTypeName","src":"71803:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"71780:43:13"},"returnParameters":{"id":15022,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15021,"mutability":"mutable","name":"abiEncodedData","nameLocation":"71860:14:13","nodeType":"VariableDeclaration","scope":15023,"src":"71847:27:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_bytes_memory_ptr","typeString":"bytes"},"typeName":{"id":15020,"name":"bytes","nodeType":"ElementaryTypeName","src":"71847:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"71846:29:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15031,"nodeType":"FunctionDefinition","src":"71969:72:13","nodes":[],"documentation":{"id":15024,"nodeType":"StructuredDocumentation","src":"71882:82:13","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:13","parameters":{"id":15029,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15026,"mutability":"mutable","name":"json","nameLocation":"72004:4:13","nodeType":"VariableDeclaration","scope":15031,"src":"71988:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15025,"name":"string","nodeType":"ElementaryTypeName","src":"71988:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15028,"mutability":"mutable","name":"path","nameLocation":"72026:4:13","nodeType":"VariableDeclaration","scope":15031,"src":"72010:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15027,"name":"string","nodeType":"ElementaryTypeName","src":"72010:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"71987:44:13"},"returnParameters":{"id":15030,"nodeType":"ParameterList","parameters":[],"src":"72040:0:13"},"scope":15231,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15041,"nodeType":"FunctionDefinition","src":"72310:98:13","nodes":[],"documentation":{"id":15032,"nodeType":"StructuredDocumentation","src":"72047:258:13","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:13","parameters":{"id":15039,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15034,"mutability":"mutable","name":"json","nameLocation":"72345:4:13","nodeType":"VariableDeclaration","scope":15041,"src":"72329:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15033,"name":"string","nodeType":"ElementaryTypeName","src":"72329:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15036,"mutability":"mutable","name":"path","nameLocation":"72367:4:13","nodeType":"VariableDeclaration","scope":15041,"src":"72351:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15035,"name":"string","nodeType":"ElementaryTypeName","src":"72351:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15038,"mutability":"mutable","name":"valueKey","nameLocation":"72389:8:13","nodeType":"VariableDeclaration","scope":15041,"src":"72373:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15037,"name":"string","nodeType":"ElementaryTypeName","src":"72373:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"72328:70:13"},"returnParameters":{"id":15040,"nodeType":"ParameterList","parameters":[],"src":"72407:0:13"},"scope":15231,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15053,"nodeType":"FunctionDefinition","src":"72547:141:13","nodes":[],"documentation":{"id":15042,"nodeType":"StructuredDocumentation","src":"72450:92:13","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:13","parameters":{"id":15049,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15044,"mutability":"mutable","name":"salt","nameLocation":"72586:4:13","nodeType":"VariableDeclaration","scope":15053,"src":"72578:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":15043,"name":"bytes32","nodeType":"ElementaryTypeName","src":"72578:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":15046,"mutability":"mutable","name":"initCodeHash","nameLocation":"72600:12:13","nodeType":"VariableDeclaration","scope":15053,"src":"72592:20:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":15045,"name":"bytes32","nodeType":"ElementaryTypeName","src":"72592:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":15048,"mutability":"mutable","name":"deployer","nameLocation":"72622:8:13","nodeType":"VariableDeclaration","scope":15053,"src":"72614:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15047,"name":"address","nodeType":"ElementaryTypeName","src":"72614:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"72577:54:13"},"returnParameters":{"id":15052,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15051,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15053,"src":"72679:7:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15050,"name":"address","nodeType":"ElementaryTypeName","src":"72679:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"72678:9:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15063,"nodeType":"FunctionDefinition","src":"72793:99:13","nodes":[],"documentation":{"id":15054,"nodeType":"StructuredDocumentation","src":"72694:94:13","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:13","parameters":{"id":15059,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15056,"mutability":"mutable","name":"salt","nameLocation":"72832:4:13","nodeType":"VariableDeclaration","scope":15063,"src":"72824:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":15055,"name":"bytes32","nodeType":"ElementaryTypeName","src":"72824:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":15058,"mutability":"mutable","name":"initCodeHash","nameLocation":"72846:12:13","nodeType":"VariableDeclaration","scope":15063,"src":"72838:20:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":15057,"name":"bytes32","nodeType":"ElementaryTypeName","src":"72838:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"72823:36:13"},"returnParameters":{"id":15062,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15061,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15063,"src":"72883:7:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15060,"name":"address","nodeType":"ElementaryTypeName","src":"72883:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"72882:9:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15073,"nodeType":"FunctionDefinition","src":"72997:95:13","nodes":[],"documentation":{"id":15064,"nodeType":"StructuredDocumentation","src":"72898:94:13","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:13","parameters":{"id":15069,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15066,"mutability":"mutable","name":"deployer","nameLocation":"73035:8:13","nodeType":"VariableDeclaration","scope":15073,"src":"73027:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15065,"name":"address","nodeType":"ElementaryTypeName","src":"73027:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15068,"mutability":"mutable","name":"nonce","nameLocation":"73053:5:13","nodeType":"VariableDeclaration","scope":15073,"src":"73045:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15067,"name":"uint256","nodeType":"ElementaryTypeName","src":"73045:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"73026:33:13"},"returnParameters":{"id":15072,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15071,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15073,"src":"73083:7:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15070,"name":"address","nodeType":"ElementaryTypeName","src":"73083:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"73082:9:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15082,"nodeType":"FunctionDefinition","src":"73202:91:13","nodes":[],"documentation":{"id":15074,"nodeType":"StructuredDocumentation","src":"73098:99:13","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:13","parameters":{"id":15077,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15076,"mutability":"mutable","name":"walletLabel","nameLocation":"73240:11:13","nodeType":"VariableDeclaration","scope":15082,"src":"73224:27:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15075,"name":"string","nodeType":"ElementaryTypeName","src":"73224:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"73223:29:13"},"returnParameters":{"id":15081,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15080,"mutability":"mutable","name":"wallet","nameLocation":"73285:6:13","nodeType":"VariableDeclaration","scope":15082,"src":"73271:20:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Wallet_$12136_memory_ptr","typeString":"struct VmSafe.Wallet"},"typeName":{"id":15079,"nodeType":"UserDefinedTypeName","pathNode":{"id":15078,"name":"Wallet","nameLocations":["73271:6:13"],"nodeType":"IdentifierPath","referencedDeclaration":12136,"src":"73271:6:13"},"referencedDeclaration":12136,"src":"73271:6:13","typeDescriptions":{"typeIdentifier":"t_struct$_Wallet_$12136_storage_ptr","typeString":"struct VmSafe.Wallet"}},"visibility":"internal"}],"src":"73270:22:13"},"scope":15231,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15091,"nodeType":"FunctionDefinition","src":"73371:82:13","nodes":[],"documentation":{"id":15083,"nodeType":"StructuredDocumentation","src":"73299:67:13","text":"Generates a wallet from the private key and returns the wallet."},"functionSelector":"7a675bb6","implemented":false,"kind":"function","modifiers":[],"name":"createWallet","nameLocation":"73380:12:13","parameters":{"id":15086,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15085,"mutability":"mutable","name":"privateKey","nameLocation":"73401:10:13","nodeType":"VariableDeclaration","scope":15091,"src":"73393:18:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15084,"name":"uint256","nodeType":"ElementaryTypeName","src":"73393:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"73392:20:13"},"returnParameters":{"id":15090,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15089,"mutability":"mutable","name":"wallet","nameLocation":"73445:6:13","nodeType":"VariableDeclaration","scope":15091,"src":"73431:20:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Wallet_$12136_memory_ptr","typeString":"struct VmSafe.Wallet"},"typeName":{"id":15088,"nodeType":"UserDefinedTypeName","pathNode":{"id":15087,"name":"Wallet","nameLocations":["73431:6:13"],"nodeType":"IdentifierPath","referencedDeclaration":12136,"src":"73431:6:13"},"referencedDeclaration":12136,"src":"73431:6:13","typeDescriptions":{"typeIdentifier":"t_struct$_Wallet_$12136_storage_ptr","typeString":"struct VmSafe.Wallet"}},"visibility":"internal"}],"src":"73430:22:13"},"scope":15231,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15102,"nodeType":"FunctionDefinition","src":"73567:111:13","nodes":[],"documentation":{"id":15092,"nodeType":"StructuredDocumentation","src":"73459:103:13","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:13","parameters":{"id":15097,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15094,"mutability":"mutable","name":"privateKey","nameLocation":"73597:10:13","nodeType":"VariableDeclaration","scope":15102,"src":"73589:18:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15093,"name":"uint256","nodeType":"ElementaryTypeName","src":"73589:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15096,"mutability":"mutable","name":"walletLabel","nameLocation":"73625:11:13","nodeType":"VariableDeclaration","scope":15102,"src":"73609:27:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15095,"name":"string","nodeType":"ElementaryTypeName","src":"73609:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"73588:49:13"},"returnParameters":{"id":15101,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15100,"mutability":"mutable","name":"wallet","nameLocation":"73670:6:13","nodeType":"VariableDeclaration","scope":15102,"src":"73656:20:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_Wallet_$12136_memory_ptr","typeString":"struct VmSafe.Wallet"},"typeName":{"id":15099,"nodeType":"UserDefinedTypeName","pathNode":{"id":15098,"name":"Wallet","nameLocations":["73656:6:13"],"nodeType":"IdentifierPath","referencedDeclaration":12136,"src":"73656:6:13"},"referencedDeclaration":12136,"src":"73656:6:13","typeDescriptions":{"typeIdentifier":"t_struct$_Wallet_$12136_storage_ptr","typeString":"struct VmSafe.Wallet"}},"visibility":"internal"}],"src":"73655:22:13"},"scope":15231,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15112,"nodeType":"FunctionDefinition","src":"73826:102:13","nodes":[],"documentation":{"id":15103,"nodeType":"StructuredDocumentation","src":"73684:137:13","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:13","parameters":{"id":15108,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15105,"mutability":"mutable","name":"mnemonic","nameLocation":"73861:8:13","nodeType":"VariableDeclaration","scope":15112,"src":"73845:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15104,"name":"string","nodeType":"ElementaryTypeName","src":"73845:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15107,"mutability":"mutable","name":"index","nameLocation":"73878:5:13","nodeType":"VariableDeclaration","scope":15112,"src":"73871:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":15106,"name":"uint32","nodeType":"ElementaryTypeName","src":"73871:6:13","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"src":"73844:40:13"},"returnParameters":{"id":15111,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15110,"mutability":"mutable","name":"privateKey","nameLocation":"73916:10:13","nodeType":"VariableDeclaration","scope":15112,"src":"73908:18:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15109,"name":"uint256","nodeType":"ElementaryTypeName","src":"73908:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"73907:20:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15124,"nodeType":"FunctionDefinition","src":"74057:158:13","nodes":[],"documentation":{"id":15113,"nodeType":"StructuredDocumentation","src":"73934:118:13","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:13","parameters":{"id":15120,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15115,"mutability":"mutable","name":"mnemonic","nameLocation":"74092:8:13","nodeType":"VariableDeclaration","scope":15124,"src":"74076:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15114,"name":"string","nodeType":"ElementaryTypeName","src":"74076:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15117,"mutability":"mutable","name":"derivationPath","nameLocation":"74118:14:13","nodeType":"VariableDeclaration","scope":15124,"src":"74102:30:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15116,"name":"string","nodeType":"ElementaryTypeName","src":"74102:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15119,"mutability":"mutable","name":"index","nameLocation":"74141:5:13","nodeType":"VariableDeclaration","scope":15124,"src":"74134:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":15118,"name":"uint32","nodeType":"ElementaryTypeName","src":"74134:6:13","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"}],"src":"74075:72:13"},"returnParameters":{"id":15123,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15122,"mutability":"mutable","name":"privateKey","nameLocation":"74203:10:13","nodeType":"VariableDeclaration","scope":15124,"src":"74195:18:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15121,"name":"uint256","nodeType":"ElementaryTypeName","src":"74195:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"74194:20:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15136,"nodeType":"FunctionDefinition","src":"74389:152:13","nodes":[],"documentation":{"id":15125,"nodeType":"StructuredDocumentation","src":"74221:163:13","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:13","parameters":{"id":15132,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15127,"mutability":"mutable","name":"mnemonic","nameLocation":"74424:8:13","nodeType":"VariableDeclaration","scope":15136,"src":"74408:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15126,"name":"string","nodeType":"ElementaryTypeName","src":"74408:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15129,"mutability":"mutable","name":"index","nameLocation":"74441:5:13","nodeType":"VariableDeclaration","scope":15136,"src":"74434:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":15128,"name":"uint32","nodeType":"ElementaryTypeName","src":"74434:6:13","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"},{"constant":false,"id":15131,"mutability":"mutable","name":"language","nameLocation":"74464:8:13","nodeType":"VariableDeclaration","scope":15136,"src":"74448:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15130,"name":"string","nodeType":"ElementaryTypeName","src":"74448:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"74407:66:13"},"returnParameters":{"id":15135,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15134,"mutability":"mutable","name":"privateKey","nameLocation":"74529:10:13","nodeType":"VariableDeclaration","scope":15136,"src":"74521:18:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15133,"name":"uint256","nodeType":"ElementaryTypeName","src":"74521:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"74520:20:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15150,"nodeType":"FunctionDefinition","src":"74696:184:13","nodes":[],"documentation":{"id":15137,"nodeType":"StructuredDocumentation","src":"74547:144:13","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:13","parameters":{"id":15146,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15139,"mutability":"mutable","name":"mnemonic","nameLocation":"74731:8:13","nodeType":"VariableDeclaration","scope":15150,"src":"74715:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15138,"name":"string","nodeType":"ElementaryTypeName","src":"74715:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15141,"mutability":"mutable","name":"derivationPath","nameLocation":"74757:14:13","nodeType":"VariableDeclaration","scope":15150,"src":"74741:30:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15140,"name":"string","nodeType":"ElementaryTypeName","src":"74741:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15143,"mutability":"mutable","name":"index","nameLocation":"74780:5:13","nodeType":"VariableDeclaration","scope":15150,"src":"74773:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"},"typeName":{"id":15142,"name":"uint32","nodeType":"ElementaryTypeName","src":"74773:6:13","typeDescriptions":{"typeIdentifier":"t_uint32","typeString":"uint32"}},"visibility":"internal"},{"constant":false,"id":15145,"mutability":"mutable","name":"language","nameLocation":"74803:8:13","nodeType":"VariableDeclaration","scope":15150,"src":"74787:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15144,"name":"string","nodeType":"ElementaryTypeName","src":"74787:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"74714:98:13"},"returnParameters":{"id":15149,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15148,"mutability":"mutable","name":"privateKey","nameLocation":"74868:10:13","nodeType":"VariableDeclaration","scope":15150,"src":"74860:18:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15147,"name":"uint256","nodeType":"ElementaryTypeName","src":"74860:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"74859:20:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15158,"nodeType":"FunctionDefinition","src":"74936:86:13","nodes":[],"documentation":{"id":15151,"nodeType":"StructuredDocumentation","src":"74886:45:13","text":"Gets the label for the specified address."},"functionSelector":"28a249b0","implemented":false,"kind":"function","modifiers":[],"name":"getLabel","nameLocation":"74945:8:13","parameters":{"id":15154,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15153,"mutability":"mutable","name":"account","nameLocation":"74962:7:13","nodeType":"VariableDeclaration","scope":15158,"src":"74954:15:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15152,"name":"address","nodeType":"ElementaryTypeName","src":"74954:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"74953:17:13"},"returnParameters":{"id":15157,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15156,"mutability":"mutable","name":"currentLabel","nameLocation":"75008:12:13","nodeType":"VariableDeclaration","scope":15158,"src":"74994:26:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15155,"name":"string","nodeType":"ElementaryTypeName","src":"74994:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"74993:28:13"},"scope":15231,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":15167,"nodeType":"FunctionDefinition","src":"75060:74:13","nodes":[],"documentation":{"id":15159,"nodeType":"StructuredDocumentation","src":"75028:27:13","text":"Get a `Wallet`'s nonce."},"functionSelector":"a5748aad","implemented":false,"kind":"function","modifiers":[],"name":"getNonce","nameLocation":"75069:8:13","parameters":{"id":15163,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15162,"mutability":"mutable","name":"wallet","nameLocation":"75094:6:13","nodeType":"VariableDeclaration","scope":15167,"src":"75078:22:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_struct$_Wallet_$12136_calldata_ptr","typeString":"struct VmSafe.Wallet"},"typeName":{"id":15161,"nodeType":"UserDefinedTypeName","pathNode":{"id":15160,"name":"Wallet","nameLocations":["75078:6:13"],"nodeType":"IdentifierPath","referencedDeclaration":12136,"src":"75078:6:13"},"referencedDeclaration":12136,"src":"75078:6:13","typeDescriptions":{"typeIdentifier":"t_struct$_Wallet_$12136_storage_ptr","typeString":"struct VmSafe.Wallet"}},"visibility":"internal"}],"src":"75077:24:13"},"returnParameters":{"id":15166,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15165,"mutability":"mutable","name":"nonce","nameLocation":"75127:5:13","nodeType":"VariableDeclaration","scope":15167,"src":"75120:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":15164,"name":"uint64","nodeType":"ElementaryTypeName","src":"75120:6:13","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"75119:14:13"},"scope":15231,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15175,"nodeType":"FunctionDefinition","src":"75182:67:13","nodes":[],"documentation":{"id":15168,"nodeType":"StructuredDocumentation","src":"75140:37:13","text":"Labels an address in call traces."},"functionSelector":"c657c718","implemented":false,"kind":"function","modifiers":[],"name":"label","nameLocation":"75191:5:13","parameters":{"id":15173,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15170,"mutability":"mutable","name":"account","nameLocation":"75205:7:13","nodeType":"VariableDeclaration","scope":15175,"src":"75197:15:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15169,"name":"address","nodeType":"ElementaryTypeName","src":"75197:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15172,"mutability":"mutable","name":"newLabel","nameLocation":"75230:8:13","nodeType":"VariableDeclaration","scope":15175,"src":"75214:24:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15171,"name":"string","nodeType":"ElementaryTypeName","src":"75214:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"75196:43:13"},"returnParameters":{"id":15174,"nodeType":"ParameterList","parameters":[],"src":"75248:0:13"},"scope":15231,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15183,"nodeType":"FunctionDefinition","src":"75333:76:13","nodes":[],"documentation":{"id":15176,"nodeType":"StructuredDocumentation","src":"75255:73:13","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:13","parameters":{"id":15179,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15178,"mutability":"mutable","name":"privateKey","nameLocation":"75362:10:13","nodeType":"VariableDeclaration","scope":15183,"src":"75354:18:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15177,"name":"uint256","nodeType":"ElementaryTypeName","src":"75354:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"75353:20:13"},"returnParameters":{"id":15182,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15181,"mutability":"mutable","name":"keyAddr","nameLocation":"75400:7:13","nodeType":"VariableDeclaration","scope":15183,"src":"75392:15:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15180,"name":"address","nodeType":"ElementaryTypeName","src":"75392:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"75391:17:13"},"scope":15231,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15198,"nodeType":"FunctionDefinition","src":"75451:103:13","nodes":[],"documentation":{"id":15184,"nodeType":"StructuredDocumentation","src":"75415:31:13","text":"Signs data with a `Wallet`."},"functionSelector":"b25c5a25","implemented":false,"kind":"function","modifiers":[],"name":"sign","nameLocation":"75460:4:13","parameters":{"id":15190,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15187,"mutability":"mutable","name":"wallet","nameLocation":"75481:6:13","nodeType":"VariableDeclaration","scope":15198,"src":"75465:22:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_struct$_Wallet_$12136_calldata_ptr","typeString":"struct VmSafe.Wallet"},"typeName":{"id":15186,"nodeType":"UserDefinedTypeName","pathNode":{"id":15185,"name":"Wallet","nameLocations":["75465:6:13"],"nodeType":"IdentifierPath","referencedDeclaration":12136,"src":"75465:6:13"},"referencedDeclaration":12136,"src":"75465:6:13","typeDescriptions":{"typeIdentifier":"t_struct$_Wallet_$12136_storage_ptr","typeString":"struct VmSafe.Wallet"}},"visibility":"internal"},{"constant":false,"id":15189,"mutability":"mutable","name":"digest","nameLocation":"75497:6:13","nodeType":"VariableDeclaration","scope":15198,"src":"75489:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":15188,"name":"bytes32","nodeType":"ElementaryTypeName","src":"75489:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"75464:40:13"},"returnParameters":{"id":15197,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15192,"mutability":"mutable","name":"v","nameLocation":"75529:1:13","nodeType":"VariableDeclaration","scope":15198,"src":"75523:7:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"},"typeName":{"id":15191,"name":"uint8","nodeType":"ElementaryTypeName","src":"75523:5:13","typeDescriptions":{"typeIdentifier":"t_uint8","typeString":"uint8"}},"visibility":"internal"},{"constant":false,"id":15194,"mutability":"mutable","name":"r","nameLocation":"75540:1:13","nodeType":"VariableDeclaration","scope":15198,"src":"75532:9:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":15193,"name":"bytes32","nodeType":"ElementaryTypeName","src":"75532:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":15196,"mutability":"mutable","name":"s","nameLocation":"75551:1:13","nodeType":"VariableDeclaration","scope":15198,"src":"75543:9:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":15195,"name":"bytes32","nodeType":"ElementaryTypeName","src":"75543:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"75522:31:13"},"scope":15231,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15206,"nodeType":"FunctionDefinition","src":"75615:80:13","nodes":[],"documentation":{"id":15199,"nodeType":"StructuredDocumentation","src":"75560:50:13","text":"Encodes a `bytes` value to a base64url string."},"functionSelector":"c8bd0e4a","implemented":false,"kind":"function","modifiers":[],"name":"toBase64URL","nameLocation":"75624:11:13","parameters":{"id":15202,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15201,"mutability":"mutable","name":"data","nameLocation":"75651:4:13","nodeType":"VariableDeclaration","scope":15206,"src":"75636:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":15200,"name":"bytes","nodeType":"ElementaryTypeName","src":"75636:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"75635:21:13"},"returnParameters":{"id":15205,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15204,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15206,"src":"75680:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15203,"name":"string","nodeType":"ElementaryTypeName","src":"75680:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"75679:15:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15214,"nodeType":"FunctionDefinition","src":"75757:81:13","nodes":[],"documentation":{"id":15207,"nodeType":"StructuredDocumentation","src":"75701:51:13","text":"Encodes a `string` value to a base64url string."},"functionSelector":"ae3165b3","implemented":false,"kind":"function","modifiers":[],"name":"toBase64URL","nameLocation":"75766:11:13","parameters":{"id":15210,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15209,"mutability":"mutable","name":"data","nameLocation":"75794:4:13","nodeType":"VariableDeclaration","scope":15214,"src":"75778:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15208,"name":"string","nodeType":"ElementaryTypeName","src":"75778:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"75777:22:13"},"returnParameters":{"id":15213,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15212,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15214,"src":"75823:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15211,"name":"string","nodeType":"ElementaryTypeName","src":"75823:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"75822:15:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15222,"nodeType":"FunctionDefinition","src":"75896:77:13","nodes":[],"documentation":{"id":15215,"nodeType":"StructuredDocumentation","src":"75844:47:13","text":"Encodes a `bytes` value to a base64 string."},"functionSelector":"a5cbfe65","implemented":false,"kind":"function","modifiers":[],"name":"toBase64","nameLocation":"75905:8:13","parameters":{"id":15218,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15217,"mutability":"mutable","name":"data","nameLocation":"75929:4:13","nodeType":"VariableDeclaration","scope":15222,"src":"75914:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":15216,"name":"bytes","nodeType":"ElementaryTypeName","src":"75914:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"75913:21:13"},"returnParameters":{"id":15221,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15220,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15222,"src":"75958:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15219,"name":"string","nodeType":"ElementaryTypeName","src":"75958:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"75957:15:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"},{"id":15230,"nodeType":"FunctionDefinition","src":"76032:78:13","nodes":[],"documentation":{"id":15223,"nodeType":"StructuredDocumentation","src":"75979:48:13","text":"Encodes a `string` value to a base64 string."},"functionSelector":"3f8be2c8","implemented":false,"kind":"function","modifiers":[],"name":"toBase64","nameLocation":"76041:8:13","parameters":{"id":15226,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15225,"mutability":"mutable","name":"data","nameLocation":"76066:4:13","nodeType":"VariableDeclaration","scope":15230,"src":"76050:20:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15224,"name":"string","nodeType":"ElementaryTypeName","src":"76050:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"76049:22:13"},"returnParameters":{"id":15229,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15228,"mutability":"mutable","name":"","nameLocation":"-1:-1:-1","nodeType":"VariableDeclaration","scope":15230,"src":"76095:13:13","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_string_memory_ptr","typeString":"string"},"typeName":{"id":15227,"name":"string","nodeType":"ElementaryTypeName","src":"76095:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"76094:15:13"},"scope":15231,"stateMutability":"pure","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[],"canonicalName":"VmSafe","contractDependencies":[],"contractKind":"interface","documentation":{"id":12031,"nodeType":"StructuredDocumentation","src":"184:225:13","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":[15231],"name":"VmSafe","nameLocation":"419:6:13","scope":15819,"usedErrors":[],"usedEvents":[]},{"id":15818,"nodeType":"ContractDefinition","src":"76285:13912:13","nodes":[{"id":15240,"nodeType":"FunctionDefinition","src":"76445:61:13","nodes":[],"documentation":{"id":15235,"nodeType":"StructuredDocumentation","src":"76344:96:13","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:13","parameters":{"id":15236,"nodeType":"ParameterList","parameters":[],"src":"76464:2:13"},"returnParameters":{"id":15239,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15238,"mutability":"mutable","name":"forkId","nameLocation":"76498:6:13","nodeType":"VariableDeclaration","scope":15240,"src":"76490:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15237,"name":"uint256","nodeType":"ElementaryTypeName","src":"76490:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"76489:16:13"},"scope":15818,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":15246,"nodeType":"FunctionDefinition","src":"76590:51:13","nodes":[],"documentation":{"id":15241,"nodeType":"StructuredDocumentation","src":"76512:73:13","text":"In forking mode, explicitly grant the given address cheatcode access."},"functionSelector":"ea060291","implemented":false,"kind":"function","modifiers":[],"name":"allowCheatcodes","nameLocation":"76599:15:13","parameters":{"id":15244,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15243,"mutability":"mutable","name":"account","nameLocation":"76623:7:13","nodeType":"VariableDeclaration","scope":15246,"src":"76615:15:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15242,"name":"address","nodeType":"ElementaryTypeName","src":"76615:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"76614:17:13"},"returnParameters":{"id":15245,"nodeType":"ParameterList","parameters":[],"src":"76640:0:13"},"scope":15818,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15252,"nodeType":"FunctionDefinition","src":"76680:54:13","nodes":[],"documentation":{"id":15247,"nodeType":"StructuredDocumentation","src":"76647:28:13","text":"Sets `block.blobbasefee`"},"functionSelector":"6d315d7e","implemented":false,"kind":"function","modifiers":[],"name":"blobBaseFee","nameLocation":"76689:11:13","parameters":{"id":15250,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15249,"mutability":"mutable","name":"newBlobBaseFee","nameLocation":"76709:14:13","nodeType":"VariableDeclaration","scope":15252,"src":"76701:22:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15248,"name":"uint256","nodeType":"ElementaryTypeName","src":"76701:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"76700:24:13"},"returnParameters":{"id":15251,"nodeType":"ParameterList","parameters":[],"src":"76733:0:13"},"scope":15818,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15258,"nodeType":"FunctionDefinition","src":"76770:46:13","nodes":[],"documentation":{"id":15253,"nodeType":"StructuredDocumentation","src":"76740:25:13","text":"Sets `block.chainid`."},"functionSelector":"4049ddd2","implemented":false,"kind":"function","modifiers":[],"name":"chainId","nameLocation":"76779:7:13","parameters":{"id":15256,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15255,"mutability":"mutable","name":"newChainId","nameLocation":"76795:10:13","nodeType":"VariableDeclaration","scope":15258,"src":"76787:18:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15254,"name":"uint256","nodeType":"ElementaryTypeName","src":"76787:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"76786:20:13"},"returnParameters":{"id":15257,"nodeType":"ParameterList","parameters":[],"src":"76815:0:13"},"scope":15818,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15262,"nodeType":"FunctionDefinition","src":"76855:37:13","nodes":[],"documentation":{"id":15259,"nodeType":"StructuredDocumentation","src":"76822:28:13","text":"Clears all mocked calls."},"functionSelector":"3fdf4e15","implemented":false,"kind":"function","modifiers":[],"name":"clearMockedCalls","nameLocation":"76864:16:13","parameters":{"id":15260,"nodeType":"ParameterList","parameters":[],"src":"76880:2:13"},"returnParameters":{"id":15261,"nodeType":"ParameterList","parameters":[],"src":"76891:0:13"},"scope":15818,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15268,"nodeType":"FunctionDefinition","src":"76929:48:13","nodes":[],"documentation":{"id":15263,"nodeType":"StructuredDocumentation","src":"76898:26:13","text":"Sets `block.coinbase`."},"functionSelector":"ff483c54","implemented":false,"kind":"function","modifiers":[],"name":"coinbase","nameLocation":"76938:8:13","parameters":{"id":15266,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15265,"mutability":"mutable","name":"newCoinbase","nameLocation":"76955:11:13","nodeType":"VariableDeclaration","scope":15268,"src":"76947:19:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15264,"name":"address","nodeType":"ElementaryTypeName","src":"76947:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"76946:21:13"},"returnParameters":{"id":15267,"nodeType":"ParameterList","parameters":[],"src":"76976:0:13"},"scope":15818,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15276,"nodeType":"FunctionDefinition","src":"77097:82:13","nodes":[],"documentation":{"id":15269,"nodeType":"StructuredDocumentation","src":"76983:109:13","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:13","parameters":{"id":15272,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15271,"mutability":"mutable","name":"urlOrAlias","nameLocation":"77133:10:13","nodeType":"VariableDeclaration","scope":15276,"src":"77117:26:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15270,"name":"string","nodeType":"ElementaryTypeName","src":"77117:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"77116:28:13"},"returnParameters":{"id":15275,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15274,"mutability":"mutable","name":"forkId","nameLocation":"77171:6:13","nodeType":"VariableDeclaration","scope":15276,"src":"77163:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15273,"name":"uint256","nodeType":"ElementaryTypeName","src":"77163:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"77162:16:13"},"scope":15818,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15286,"nodeType":"FunctionDefinition","src":"77286:103:13","nodes":[],"documentation":{"id":15277,"nodeType":"StructuredDocumentation","src":"77185:96:13","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:13","parameters":{"id":15282,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15279,"mutability":"mutable","name":"urlOrAlias","nameLocation":"77322:10:13","nodeType":"VariableDeclaration","scope":15286,"src":"77306:26:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15278,"name":"string","nodeType":"ElementaryTypeName","src":"77306:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15281,"mutability":"mutable","name":"blockNumber","nameLocation":"77342:11:13","nodeType":"VariableDeclaration","scope":15286,"src":"77334:19:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15280,"name":"uint256","nodeType":"ElementaryTypeName","src":"77334:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"77305:49:13"},"returnParameters":{"id":15285,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15284,"mutability":"mutable","name":"forkId","nameLocation":"77381:6:13","nodeType":"VariableDeclaration","scope":15286,"src":"77373:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15283,"name":"uint256","nodeType":"ElementaryTypeName","src":"77373:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"77372:16:13"},"scope":15818,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15296,"nodeType":"FunctionDefinition","src":"77614:98:13","nodes":[],"documentation":{"id":15287,"nodeType":"StructuredDocumentation","src":"77395:214:13","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:13","parameters":{"id":15292,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15289,"mutability":"mutable","name":"urlOrAlias","nameLocation":"77650:10:13","nodeType":"VariableDeclaration","scope":15296,"src":"77634:26:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15288,"name":"string","nodeType":"ElementaryTypeName","src":"77634:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15291,"mutability":"mutable","name":"txHash","nameLocation":"77670:6:13","nodeType":"VariableDeclaration","scope":15296,"src":"77662:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":15290,"name":"bytes32","nodeType":"ElementaryTypeName","src":"77662:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"77633:44:13"},"returnParameters":{"id":15295,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15294,"mutability":"mutable","name":"forkId","nameLocation":"77704:6:13","nodeType":"VariableDeclaration","scope":15296,"src":"77696:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15293,"name":"uint256","nodeType":"ElementaryTypeName","src":"77696:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"77695:16:13"},"scope":15818,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15304,"nodeType":"FunctionDefinition","src":"77847:88:13","nodes":[],"documentation":{"id":15297,"nodeType":"StructuredDocumentation","src":"77718:124:13","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:13","parameters":{"id":15300,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15299,"mutability":"mutable","name":"urlOrAlias","nameLocation":"77889:10:13","nodeType":"VariableDeclaration","scope":15304,"src":"77873:26:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15298,"name":"string","nodeType":"ElementaryTypeName","src":"77873:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"77872:28:13"},"returnParameters":{"id":15303,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15302,"mutability":"mutable","name":"forkId","nameLocation":"77927:6:13","nodeType":"VariableDeclaration","scope":15304,"src":"77919:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15301,"name":"uint256","nodeType":"ElementaryTypeName","src":"77919:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"77918:16:13"},"scope":15818,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15314,"nodeType":"FunctionDefinition","src":"78059:109:13","nodes":[],"documentation":{"id":15305,"nodeType":"StructuredDocumentation","src":"77941:113:13","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:13","parameters":{"id":15310,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15307,"mutability":"mutable","name":"urlOrAlias","nameLocation":"78101:10:13","nodeType":"VariableDeclaration","scope":15314,"src":"78085:26:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15306,"name":"string","nodeType":"ElementaryTypeName","src":"78085:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15309,"mutability":"mutable","name":"blockNumber","nameLocation":"78121:11:13","nodeType":"VariableDeclaration","scope":15314,"src":"78113:19:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15308,"name":"uint256","nodeType":"ElementaryTypeName","src":"78113:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"78084:49:13"},"returnParameters":{"id":15313,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15312,"mutability":"mutable","name":"forkId","nameLocation":"78160:6:13","nodeType":"VariableDeclaration","scope":15314,"src":"78152:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15311,"name":"uint256","nodeType":"ElementaryTypeName","src":"78152:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"78151:16:13"},"scope":15818,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15324,"nodeType":"FunctionDefinition","src":"78404:104:13","nodes":[],"documentation":{"id":15315,"nodeType":"StructuredDocumentation","src":"78174:225:13","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:13","parameters":{"id":15320,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15317,"mutability":"mutable","name":"urlOrAlias","nameLocation":"78446:10:13","nodeType":"VariableDeclaration","scope":15324,"src":"78430:26:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15316,"name":"string","nodeType":"ElementaryTypeName","src":"78430:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"},{"constant":false,"id":15319,"mutability":"mutable","name":"txHash","nameLocation":"78466:6:13","nodeType":"VariableDeclaration","scope":15324,"src":"78458:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":15318,"name":"bytes32","nodeType":"ElementaryTypeName","src":"78458:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"78429:44:13"},"returnParameters":{"id":15323,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15322,"mutability":"mutable","name":"forkId","nameLocation":"78500:6:13","nodeType":"VariableDeclaration","scope":15324,"src":"78492:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15321,"name":"uint256","nodeType":"ElementaryTypeName","src":"78492:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"78491:16:13"},"scope":15818,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15332,"nodeType":"FunctionDefinition","src":"78548:60:13","nodes":[],"documentation":{"id":15325,"nodeType":"StructuredDocumentation","src":"78514:29:13","text":"Sets an address' balance."},"functionSelector":"c88a5e6d","implemented":false,"kind":"function","modifiers":[],"name":"deal","nameLocation":"78557:4:13","parameters":{"id":15330,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15327,"mutability":"mutable","name":"account","nameLocation":"78570:7:13","nodeType":"VariableDeclaration","scope":15332,"src":"78562:15:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15326,"name":"address","nodeType":"ElementaryTypeName","src":"78562:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15329,"mutability":"mutable","name":"newBalance","nameLocation":"78587:10:13","nodeType":"VariableDeclaration","scope":15332,"src":"78579:18:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15328,"name":"uint256","nodeType":"ElementaryTypeName","src":"78579:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"78561:37:13"},"returnParameters":{"id":15331,"nodeType":"ParameterList","parameters":[],"src":"78607:0:13"},"scope":15818,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15340,"nodeType":"FunctionDefinition","src":"78846:76:13","nodes":[],"documentation":{"id":15333,"nodeType":"StructuredDocumentation","src":"78614:227:13","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:13","parameters":{"id":15336,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15335,"mutability":"mutable","name":"snapshotId","nameLocation":"78878:10:13","nodeType":"VariableDeclaration","scope":15340,"src":"78870:18:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15334,"name":"uint256","nodeType":"ElementaryTypeName","src":"78870:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"78869:20:13"},"returnParameters":{"id":15339,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15338,"mutability":"mutable","name":"success","nameLocation":"78913:7:13","nodeType":"VariableDeclaration","scope":15340,"src":"78908:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15337,"name":"bool","nodeType":"ElementaryTypeName","src":"78908:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"78907:14:13"},"scope":15818,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15344,"nodeType":"FunctionDefinition","src":"78994:36:13","nodes":[],"documentation":{"id":15341,"nodeType":"StructuredDocumentation","src":"78928:61:13","text":"Removes _all_ snapshots previously created by `snapshot`."},"functionSelector":"421ae469","implemented":false,"kind":"function","modifiers":[],"name":"deleteSnapshots","nameLocation":"79003:15:13","parameters":{"id":15342,"nodeType":"ParameterList","parameters":[],"src":"79018:2:13"},"returnParameters":{"id":15343,"nodeType":"ParameterList","parameters":[],"src":"79029:0:13"},"scope":15818,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15350,"nodeType":"FunctionDefinition","src":"79206:52:13","nodes":[],"documentation":{"id":15345,"nodeType":"StructuredDocumentation","src":"79036:165:13","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:13","parameters":{"id":15348,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15347,"mutability":"mutable","name":"newDifficulty","nameLocation":"79234:13:13","nodeType":"VariableDeclaration","scope":15350,"src":"79226:21:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15346,"name":"uint256","nodeType":"ElementaryTypeName","src":"79226:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"79225:23:13"},"returnParameters":{"id":15349,"nodeType":"ParameterList","parameters":[],"src":"79257:0:13"},"scope":15818,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15356,"nodeType":"FunctionDefinition","src":"79317:61:13","nodes":[],"documentation":{"id":15351,"nodeType":"StructuredDocumentation","src":"79264:48:13","text":"Dump a genesis JSON file's `allocs` to disk."},"functionSelector":"709ecd3f","implemented":false,"kind":"function","modifiers":[],"name":"dumpState","nameLocation":"79326:9:13","parameters":{"id":15354,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15353,"mutability":"mutable","name":"pathToStateJson","nameLocation":"79352:15:13","nodeType":"VariableDeclaration","scope":15356,"src":"79336:31:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15352,"name":"string","nodeType":"ElementaryTypeName","src":"79336:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"79335:33:13"},"returnParameters":{"id":15355,"nodeType":"ParameterList","parameters":[],"src":"79377:0:13"},"scope":15818,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15364,"nodeType":"FunctionDefinition","src":"79415:74:13","nodes":[],"documentation":{"id":15357,"nodeType":"StructuredDocumentation","src":"79384:26:13","text":"Sets an address' code."},"functionSelector":"b4d6c782","implemented":false,"kind":"function","modifiers":[],"name":"etch","nameLocation":"79424:4:13","parameters":{"id":15362,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15359,"mutability":"mutable","name":"target","nameLocation":"79437:6:13","nodeType":"VariableDeclaration","scope":15364,"src":"79429:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15358,"name":"address","nodeType":"ElementaryTypeName","src":"79429:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15361,"mutability":"mutable","name":"newRuntimeBytecode","nameLocation":"79460:18:13","nodeType":"VariableDeclaration","scope":15364,"src":"79445:33:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":15360,"name":"bytes","nodeType":"ElementaryTypeName","src":"79445:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"79428:51:13"},"returnParameters":{"id":15363,"nodeType":"ParameterList","parameters":[],"src":"79488:0:13"},"scope":15818,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15370,"nodeType":"FunctionDefinition","src":"79525:42:13","nodes":[],"documentation":{"id":15365,"nodeType":"StructuredDocumentation","src":"79495:25:13","text":"Sets `block.basefee`."},"functionSelector":"39b37ab0","implemented":false,"kind":"function","modifiers":[],"name":"fee","nameLocation":"79534:3:13","parameters":{"id":15368,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15367,"mutability":"mutable","name":"newBasefee","nameLocation":"79546:10:13","nodeType":"VariableDeclaration","scope":15370,"src":"79538:18:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15366,"name":"uint256","nodeType":"ElementaryTypeName","src":"79538:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"79537:20:13"},"returnParameters":{"id":15369,"nodeType":"ParameterList","parameters":[],"src":"79566:0:13"},"scope":15818,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15378,"nodeType":"FunctionDefinition","src":"79634:79:13","nodes":[],"documentation":{"id":15371,"nodeType":"StructuredDocumentation","src":"79573:56:13","text":"Returns true if the account is marked as persistent."},"functionSelector":"d92d8efd","implemented":false,"kind":"function","modifiers":[],"name":"isPersistent","nameLocation":"79643:12:13","parameters":{"id":15374,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15373,"mutability":"mutable","name":"account","nameLocation":"79664:7:13","nodeType":"VariableDeclaration","scope":15378,"src":"79656:15:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15372,"name":"address","nodeType":"ElementaryTypeName","src":"79656:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"79655:17:13"},"returnParameters":{"id":15377,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15376,"mutability":"mutable","name":"persistent","nameLocation":"79701:10:13","nodeType":"VariableDeclaration","scope":15378,"src":"79696:15:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15375,"name":"bool","nodeType":"ElementaryTypeName","src":"79696:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"79695:17:13"},"scope":15818,"stateMutability":"view","virtual":false,"visibility":"external"},{"id":15384,"nodeType":"FunctionDefinition","src":"79794:63:13","nodes":[],"documentation":{"id":15379,"nodeType":"StructuredDocumentation","src":"79719:70:13","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:13","parameters":{"id":15382,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15381,"mutability":"mutable","name":"pathToAllocsJson","nameLocation":"79830:16:13","nodeType":"VariableDeclaration","scope":15384,"src":"79814:32:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_string_calldata_ptr","typeString":"string"},"typeName":{"id":15380,"name":"string","nodeType":"ElementaryTypeName","src":"79814:6:13","typeDescriptions":{"typeIdentifier":"t_string_storage_ptr","typeString":"string"}},"visibility":"internal"}],"src":"79813:34:13"},"returnParameters":{"id":15383,"nodeType":"ParameterList","parameters":[],"src":"79856:0:13"},"scope":15818,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15390,"nodeType":"FunctionDefinition","src":"80060:50:13","nodes":[],"documentation":{"id":15385,"nodeType":"StructuredDocumentation","src":"79863:192:13","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:13","parameters":{"id":15388,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15387,"mutability":"mutable","name":"account","nameLocation":"80092:7:13","nodeType":"VariableDeclaration","scope":15390,"src":"80084:15:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15386,"name":"address","nodeType":"ElementaryTypeName","src":"80084:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"80083:17:13"},"returnParameters":{"id":15389,"nodeType":"ParameterList","parameters":[],"src":"80109:0:13"},"scope":15818,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15398,"nodeType":"FunctionDefinition","src":"80155:69:13","nodes":[],"documentation":{"id":15391,"nodeType":"StructuredDocumentation","src":"80116:34:13","text":"See `makePersistent(address)`."},"functionSelector":"4074e0a8","implemented":false,"kind":"function","modifiers":[],"name":"makePersistent","nameLocation":"80164:14:13","parameters":{"id":15396,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15393,"mutability":"mutable","name":"account0","nameLocation":"80187:8:13","nodeType":"VariableDeclaration","scope":15398,"src":"80179:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15392,"name":"address","nodeType":"ElementaryTypeName","src":"80179:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15395,"mutability":"mutable","name":"account1","nameLocation":"80205:8:13","nodeType":"VariableDeclaration","scope":15398,"src":"80197:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15394,"name":"address","nodeType":"ElementaryTypeName","src":"80197:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"80178:36:13"},"returnParameters":{"id":15397,"nodeType":"ParameterList","parameters":[],"src":"80223:0:13"},"scope":15818,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15408,"nodeType":"FunctionDefinition","src":"80269:87:13","nodes":[],"documentation":{"id":15399,"nodeType":"StructuredDocumentation","src":"80230:34:13","text":"See `makePersistent(address)`."},"functionSelector":"efb77a75","implemented":false,"kind":"function","modifiers":[],"name":"makePersistent","nameLocation":"80278:14:13","parameters":{"id":15406,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15401,"mutability":"mutable","name":"account0","nameLocation":"80301:8:13","nodeType":"VariableDeclaration","scope":15408,"src":"80293:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15400,"name":"address","nodeType":"ElementaryTypeName","src":"80293:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15403,"mutability":"mutable","name":"account1","nameLocation":"80319:8:13","nodeType":"VariableDeclaration","scope":15408,"src":"80311:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15402,"name":"address","nodeType":"ElementaryTypeName","src":"80311:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15405,"mutability":"mutable","name":"account2","nameLocation":"80337:8:13","nodeType":"VariableDeclaration","scope":15408,"src":"80329:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15404,"name":"address","nodeType":"ElementaryTypeName","src":"80329:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"80292:54:13"},"returnParameters":{"id":15407,"nodeType":"ParameterList","parameters":[],"src":"80355:0:13"},"scope":15818,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15415,"nodeType":"FunctionDefinition","src":"80401:62:13","nodes":[],"documentation":{"id":15409,"nodeType":"StructuredDocumentation","src":"80362:34:13","text":"See `makePersistent(address)`."},"functionSelector":"1d9e269e","implemented":false,"kind":"function","modifiers":[],"name":"makePersistent","nameLocation":"80410:14:13","parameters":{"id":15413,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15412,"mutability":"mutable","name":"accounts","nameLocation":"80444:8:13","nodeType":"VariableDeclaration","scope":15415,"src":"80425:27:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":15410,"name":"address","nodeType":"ElementaryTypeName","src":"80425:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":15411,"nodeType":"ArrayTypeName","src":"80425:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"80424:29:13"},"returnParameters":{"id":15414,"nodeType":"ParameterList","parameters":[],"src":"80462:0:13"},"scope":15818,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15425,"nodeType":"FunctionDefinition","src":"80534:97:13","nodes":[],"documentation":{"id":15416,"nodeType":"StructuredDocumentation","src":"80469:60:13","text":"Reverts a call to an address with specified revert data."},"functionSelector":"dbaad147","implemented":false,"kind":"function","modifiers":[],"name":"mockCallRevert","nameLocation":"80543:14:13","parameters":{"id":15423,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15418,"mutability":"mutable","name":"callee","nameLocation":"80566:6:13","nodeType":"VariableDeclaration","scope":15425,"src":"80558:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15417,"name":"address","nodeType":"ElementaryTypeName","src":"80558:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15420,"mutability":"mutable","name":"data","nameLocation":"80589:4:13","nodeType":"VariableDeclaration","scope":15425,"src":"80574:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":15419,"name":"bytes","nodeType":"ElementaryTypeName","src":"80574:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":15422,"mutability":"mutable","name":"revertData","nameLocation":"80610:10:13","nodeType":"VariableDeclaration","scope":15425,"src":"80595:25:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":15421,"name":"bytes","nodeType":"ElementaryTypeName","src":"80595:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"80557:64:13"},"returnParameters":{"id":15424,"nodeType":"ParameterList","parameters":[],"src":"80630:0:13"},"scope":15818,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15437,"nodeType":"FunctionDefinition","src":"80731:123:13","nodes":[],"documentation":{"id":15426,"nodeType":"StructuredDocumentation","src":"80637:89:13","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:13","parameters":{"id":15435,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15428,"mutability":"mutable","name":"callee","nameLocation":"80763:6:13","nodeType":"VariableDeclaration","scope":15437,"src":"80755:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15427,"name":"address","nodeType":"ElementaryTypeName","src":"80755:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15430,"mutability":"mutable","name":"msgValue","nameLocation":"80779:8:13","nodeType":"VariableDeclaration","scope":15437,"src":"80771:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15429,"name":"uint256","nodeType":"ElementaryTypeName","src":"80771:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15432,"mutability":"mutable","name":"data","nameLocation":"80804:4:13","nodeType":"VariableDeclaration","scope":15437,"src":"80789:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":15431,"name":"bytes","nodeType":"ElementaryTypeName","src":"80789:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":15434,"mutability":"mutable","name":"revertData","nameLocation":"80825:10:13","nodeType":"VariableDeclaration","scope":15437,"src":"80810:25:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":15433,"name":"bytes","nodeType":"ElementaryTypeName","src":"80810:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"80754:82:13"},"returnParameters":{"id":15436,"nodeType":"ParameterList","parameters":[],"src":"80853:0:13"},"scope":15818,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15447,"nodeType":"FunctionDefinition","src":"81114:91:13","nodes":[],"documentation":{"id":15438,"nodeType":"StructuredDocumentation","src":"80860:249:13","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:13","parameters":{"id":15445,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15440,"mutability":"mutable","name":"callee","nameLocation":"81140:6:13","nodeType":"VariableDeclaration","scope":15447,"src":"81132:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15439,"name":"address","nodeType":"ElementaryTypeName","src":"81132:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15442,"mutability":"mutable","name":"data","nameLocation":"81163:4:13","nodeType":"VariableDeclaration","scope":15447,"src":"81148:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":15441,"name":"bytes","nodeType":"ElementaryTypeName","src":"81148:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":15444,"mutability":"mutable","name":"returnData","nameLocation":"81184:10:13","nodeType":"VariableDeclaration","scope":15447,"src":"81169:25:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":15443,"name":"bytes","nodeType":"ElementaryTypeName","src":"81169:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"81131:64:13"},"returnParameters":{"id":15446,"nodeType":"ParameterList","parameters":[],"src":"81204:0:13"},"scope":15818,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15459,"nodeType":"FunctionDefinition","src":"81380:109:13","nodes":[],"documentation":{"id":15448,"nodeType":"StructuredDocumentation","src":"81211:164:13","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:13","parameters":{"id":15457,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15450,"mutability":"mutable","name":"callee","nameLocation":"81406:6:13","nodeType":"VariableDeclaration","scope":15459,"src":"81398:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15449,"name":"address","nodeType":"ElementaryTypeName","src":"81398:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15452,"mutability":"mutable","name":"msgValue","nameLocation":"81422:8:13","nodeType":"VariableDeclaration","scope":15459,"src":"81414:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15451,"name":"uint256","nodeType":"ElementaryTypeName","src":"81414:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15454,"mutability":"mutable","name":"data","nameLocation":"81447:4:13","nodeType":"VariableDeclaration","scope":15459,"src":"81432:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":15453,"name":"bytes","nodeType":"ElementaryTypeName","src":"81432:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":15456,"mutability":"mutable","name":"returnData","nameLocation":"81468:10:13","nodeType":"VariableDeclaration","scope":15459,"src":"81453:25:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":15455,"name":"bytes","nodeType":"ElementaryTypeName","src":"81453:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"81397:82:13"},"returnParameters":{"id":15458,"nodeType":"ParameterList","parameters":[],"src":"81488:0:13"},"scope":15818,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15465,"nodeType":"FunctionDefinition","src":"81564:43:13","nodes":[],"documentation":{"id":15460,"nodeType":"StructuredDocumentation","src":"81495:64:13","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:13","parameters":{"id":15463,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15462,"mutability":"mutable","name":"msgSender","nameLocation":"81587:9:13","nodeType":"VariableDeclaration","scope":15465,"src":"81579:17:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15461,"name":"address","nodeType":"ElementaryTypeName","src":"81579:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"81578:19:13"},"returnParameters":{"id":15464,"nodeType":"ParameterList","parameters":[],"src":"81606:0:13"},"scope":15818,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15473,"nodeType":"FunctionDefinition","src":"81726:61:13","nodes":[],"documentation":{"id":15466,"nodeType":"StructuredDocumentation","src":"81613:108:13","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:13","parameters":{"id":15471,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15468,"mutability":"mutable","name":"msgSender","nameLocation":"81749:9:13","nodeType":"VariableDeclaration","scope":15473,"src":"81741:17:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15467,"name":"address","nodeType":"ElementaryTypeName","src":"81741:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15470,"mutability":"mutable","name":"txOrigin","nameLocation":"81768:8:13","nodeType":"VariableDeclaration","scope":15473,"src":"81760:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15469,"name":"address","nodeType":"ElementaryTypeName","src":"81760:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"81740:37:13"},"returnParameters":{"id":15472,"nodeType":"ParameterList","parameters":[],"src":"81786:0:13"},"scope":15818,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15479,"nodeType":"FunctionDefinition","src":"81964:52:13","nodes":[],"documentation":{"id":15474,"nodeType":"StructuredDocumentation","src":"81793:166:13","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:13","parameters":{"id":15477,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15476,"mutability":"mutable","name":"newPrevrandao","nameLocation":"81992:13:13","nodeType":"VariableDeclaration","scope":15479,"src":"81984:21:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":15475,"name":"bytes32","nodeType":"ElementaryTypeName","src":"81984:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"81983:23:13"},"returnParameters":{"id":15478,"nodeType":"ParameterList","parameters":[],"src":"82015:0:13"},"scope":15818,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15485,"nodeType":"FunctionDefinition","src":"82193:52:13","nodes":[],"documentation":{"id":15480,"nodeType":"StructuredDocumentation","src":"82022:166:13","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:13","parameters":{"id":15483,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15482,"mutability":"mutable","name":"newPrevrandao","nameLocation":"82221:13:13","nodeType":"VariableDeclaration","scope":15485,"src":"82213:21:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15481,"name":"uint256","nodeType":"ElementaryTypeName","src":"82213:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"82212:23:13"},"returnParameters":{"id":15484,"nodeType":"ParameterList","parameters":[],"src":"82244:0:13"},"scope":15818,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15496,"nodeType":"FunctionDefinition","src":"82373:101:13","nodes":[],"documentation":{"id":15486,"nodeType":"StructuredDocumentation","src":"82251:117:13","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:13","parameters":{"id":15487,"nodeType":"ParameterList","parameters":[],"src":"82393:2:13"},"returnParameters":{"id":15495,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15490,"mutability":"mutable","name":"callerMode","nameLocation":"82425:10:13","nodeType":"VariableDeclaration","scope":15496,"src":"82414:21:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_enum$_CallerMode_$12038","typeString":"enum VmSafe.CallerMode"},"typeName":{"id":15489,"nodeType":"UserDefinedTypeName","pathNode":{"id":15488,"name":"CallerMode","nameLocations":["82414:10:13"],"nodeType":"IdentifierPath","referencedDeclaration":12038,"src":"82414:10:13"},"referencedDeclaration":12038,"src":"82414:10:13","typeDescriptions":{"typeIdentifier":"t_enum$_CallerMode_$12038","typeString":"enum VmSafe.CallerMode"}},"visibility":"internal"},{"constant":false,"id":15492,"mutability":"mutable","name":"msgSender","nameLocation":"82445:9:13","nodeType":"VariableDeclaration","scope":15496,"src":"82437:17:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15491,"name":"address","nodeType":"ElementaryTypeName","src":"82437:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15494,"mutability":"mutable","name":"txOrigin","nameLocation":"82464:8:13","nodeType":"VariableDeclaration","scope":15496,"src":"82456:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15493,"name":"address","nodeType":"ElementaryTypeName","src":"82456:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"82413:60:13"},"scope":15818,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15502,"nodeType":"FunctionDefinition","src":"82562:46:13","nodes":[],"documentation":{"id":15497,"nodeType":"StructuredDocumentation","src":"82480:77:13","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:13","parameters":{"id":15500,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15499,"mutability":"mutable","name":"account","nameLocation":"82590:7:13","nodeType":"VariableDeclaration","scope":15502,"src":"82582:15:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15498,"name":"address","nodeType":"ElementaryTypeName","src":"82582:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"82581:17:13"},"returnParameters":{"id":15501,"nodeType":"ParameterList","parameters":[],"src":"82607:0:13"},"scope":15818,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15510,"nodeType":"FunctionDefinition","src":"82951:70:13","nodes":[],"documentation":{"id":15503,"nodeType":"StructuredDocumentation","src":"82614:332:13","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:13","parameters":{"id":15506,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15505,"mutability":"mutable","name":"snapshotId","nameLocation":"82977:10:13","nodeType":"VariableDeclaration","scope":15510,"src":"82969:18:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15504,"name":"uint256","nodeType":"ElementaryTypeName","src":"82969:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"82968:20:13"},"returnParameters":{"id":15509,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15508,"mutability":"mutable","name":"success","nameLocation":"83012:7:13","nodeType":"VariableDeclaration","scope":15510,"src":"83007:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15507,"name":"bool","nodeType":"ElementaryTypeName","src":"83007:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"83006:14:13"},"scope":15818,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15518,"nodeType":"FunctionDefinition","src":"83304:79:13","nodes":[],"documentation":{"id":15511,"nodeType":"StructuredDocumentation","src":"83027:272:13","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:13","parameters":{"id":15514,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15513,"mutability":"mutable","name":"snapshotId","nameLocation":"83339:10:13","nodeType":"VariableDeclaration","scope":15518,"src":"83331:18:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15512,"name":"uint256","nodeType":"ElementaryTypeName","src":"83331:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"83330:20:13"},"returnParameters":{"id":15517,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15516,"mutability":"mutable","name":"success","nameLocation":"83374:7:13","nodeType":"VariableDeclaration","scope":15518,"src":"83369:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15515,"name":"bool","nodeType":"ElementaryTypeName","src":"83369:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"83368:14:13"},"scope":15818,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15524,"nodeType":"FunctionDefinition","src":"83480:52:13","nodes":[],"documentation":{"id":15519,"nodeType":"StructuredDocumentation","src":"83389:86:13","text":"Revokes persistent status from the address, previously added via `makePersistent`."},"functionSelector":"997a0222","implemented":false,"kind":"function","modifiers":[],"name":"revokePersistent","nameLocation":"83489:16:13","parameters":{"id":15522,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15521,"mutability":"mutable","name":"account","nameLocation":"83514:7:13","nodeType":"VariableDeclaration","scope":15524,"src":"83506:15:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15520,"name":"address","nodeType":"ElementaryTypeName","src":"83506:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"83505:17:13"},"returnParameters":{"id":15523,"nodeType":"ParameterList","parameters":[],"src":"83531:0:13"},"scope":15818,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15531,"nodeType":"FunctionDefinition","src":"83579:64:13","nodes":[],"documentation":{"id":15525,"nodeType":"StructuredDocumentation","src":"83538:36:13","text":"See `revokePersistent(address)`."},"functionSelector":"3ce969e6","implemented":false,"kind":"function","modifiers":[],"name":"revokePersistent","nameLocation":"83588:16:13","parameters":{"id":15529,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15528,"mutability":"mutable","name":"accounts","nameLocation":"83624:8:13","nodeType":"VariableDeclaration","scope":15531,"src":"83605:27:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_calldata_ptr","typeString":"address[]"},"typeName":{"baseType":{"id":15526,"name":"address","nodeType":"ElementaryTypeName","src":"83605:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"id":15527,"nodeType":"ArrayTypeName","src":"83605:9:13","typeDescriptions":{"typeIdentifier":"t_array$_t_address_$dyn_storage_ptr","typeString":"address[]"}},"visibility":"internal"}],"src":"83604:29:13"},"returnParameters":{"id":15530,"nodeType":"ParameterList","parameters":[],"src":"83642:0:13"},"scope":15818,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15537,"nodeType":"FunctionDefinition","src":"83678:42:13","nodes":[],"documentation":{"id":15532,"nodeType":"StructuredDocumentation","src":"83649:24:13","text":"Sets `block.height`."},"functionSelector":"1f7b4f30","implemented":false,"kind":"function","modifiers":[],"name":"roll","nameLocation":"83687:4:13","parameters":{"id":15535,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15534,"mutability":"mutable","name":"newHeight","nameLocation":"83700:9:13","nodeType":"VariableDeclaration","scope":15537,"src":"83692:17:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15533,"name":"uint256","nodeType":"ElementaryTypeName","src":"83692:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"83691:19:13"},"returnParameters":{"id":15536,"nodeType":"ParameterList","parameters":[],"src":"83719:0:13"},"scope":15818,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15543,"nodeType":"FunctionDefinition","src":"83859:48:13","nodes":[],"documentation":{"id":15538,"nodeType":"StructuredDocumentation","src":"83726:128:13","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:13","parameters":{"id":15541,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15540,"mutability":"mutable","name":"blockNumber","nameLocation":"83885:11:13","nodeType":"VariableDeclaration","scope":15543,"src":"83877:19:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15539,"name":"uint256","nodeType":"ElementaryTypeName","src":"83877:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"83876:21:13"},"returnParameters":{"id":15542,"nodeType":"ParameterList","parameters":[],"src":"83906:0:13"},"scope":15818,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15549,"nodeType":"FunctionDefinition","src":"84122:43:13","nodes":[],"documentation":{"id":15544,"nodeType":"StructuredDocumentation","src":"83913:204:13","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:13","parameters":{"id":15547,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15546,"mutability":"mutable","name":"txHash","nameLocation":"84148:6:13","nodeType":"VariableDeclaration","scope":15549,"src":"84140:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":15545,"name":"bytes32","nodeType":"ElementaryTypeName","src":"84140:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"84139:16:13"},"returnParameters":{"id":15548,"nodeType":"ParameterList","parameters":[],"src":"84164:0:13"},"scope":15818,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15557,"nodeType":"FunctionDefinition","src":"84225:64:13","nodes":[],"documentation":{"id":15550,"nodeType":"StructuredDocumentation","src":"84171:49:13","text":"Updates the given fork to given block number."},"functionSelector":"d74c83a4","implemented":false,"kind":"function","modifiers":[],"name":"rollFork","nameLocation":"84234:8:13","parameters":{"id":15555,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15552,"mutability":"mutable","name":"forkId","nameLocation":"84251:6:13","nodeType":"VariableDeclaration","scope":15557,"src":"84243:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15551,"name":"uint256","nodeType":"ElementaryTypeName","src":"84243:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15554,"mutability":"mutable","name":"blockNumber","nameLocation":"84267:11:13","nodeType":"VariableDeclaration","scope":15557,"src":"84259:19:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15553,"name":"uint256","nodeType":"ElementaryTypeName","src":"84259:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"84242:37:13"},"returnParameters":{"id":15556,"nodeType":"ParameterList","parameters":[],"src":"84288:0:13"},"scope":15818,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15565,"nodeType":"FunctionDefinition","src":"84425:59:13","nodes":[],"documentation":{"id":15558,"nodeType":"StructuredDocumentation","src":"84295:125:13","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:13","parameters":{"id":15563,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15560,"mutability":"mutable","name":"forkId","nameLocation":"84451:6:13","nodeType":"VariableDeclaration","scope":15565,"src":"84443:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15559,"name":"uint256","nodeType":"ElementaryTypeName","src":"84443:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15562,"mutability":"mutable","name":"txHash","nameLocation":"84467:6:13","nodeType":"VariableDeclaration","scope":15565,"src":"84459:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":15561,"name":"bytes32","nodeType":"ElementaryTypeName","src":"84459:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"84442:32:13"},"returnParameters":{"id":15564,"nodeType":"ParameterList","parameters":[],"src":"84483:0:13"},"scope":15818,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15571,"nodeType":"FunctionDefinition","src":"84597:45:13","nodes":[],"documentation":{"id":15566,"nodeType":"StructuredDocumentation","src":"84490:102:13","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:13","parameters":{"id":15569,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15568,"mutability":"mutable","name":"forkId","nameLocation":"84625:6:13","nodeType":"VariableDeclaration","scope":15571,"src":"84617:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15567,"name":"uint256","nodeType":"ElementaryTypeName","src":"84617:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"84616:16:13"},"returnParameters":{"id":15570,"nodeType":"ParameterList","parameters":[],"src":"84641:0:13"},"scope":15818,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15579,"nodeType":"FunctionDefinition","src":"84740:61:13","nodes":[],"documentation":{"id":15572,"nodeType":"StructuredDocumentation","src":"84648:87:13","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:13","parameters":{"id":15577,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15574,"mutability":"mutable","name":"account","nameLocation":"84766:7:13","nodeType":"VariableDeclaration","scope":15579,"src":"84758:15:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15573,"name":"address","nodeType":"ElementaryTypeName","src":"84758:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15576,"mutability":"mutable","name":"newNonce","nameLocation":"84782:8:13","nodeType":"VariableDeclaration","scope":15579,"src":"84775:15:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":15575,"name":"uint64","nodeType":"ElementaryTypeName","src":"84775:6:13","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"84757:34:13"},"returnParameters":{"id":15578,"nodeType":"ParameterList","parameters":[],"src":"84800:0:13"},"scope":15818,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15587,"nodeType":"FunctionDefinition","src":"84867:67:13","nodes":[],"documentation":{"id":15580,"nodeType":"StructuredDocumentation","src":"84807:55:13","text":"Sets the nonce of an account to an arbitrary value."},"functionSelector":"9b67b21c","implemented":false,"kind":"function","modifiers":[],"name":"setNonceUnsafe","nameLocation":"84876:14:13","parameters":{"id":15585,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15582,"mutability":"mutable","name":"account","nameLocation":"84899:7:13","nodeType":"VariableDeclaration","scope":15587,"src":"84891:15:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15581,"name":"address","nodeType":"ElementaryTypeName","src":"84891:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15584,"mutability":"mutable","name":"newNonce","nameLocation":"84915:8:13","nodeType":"VariableDeclaration","scope":15587,"src":"84908:15:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":15583,"name":"uint64","nodeType":"ElementaryTypeName","src":"84908:6:13","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"84890:34:13"},"returnParameters":{"id":15586,"nodeType":"ParameterList","parameters":[],"src":"84933:0:13"},"scope":15818,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15593,"nodeType":"FunctionDefinition","src":"85089:58:13","nodes":[],"documentation":{"id":15588,"nodeType":"StructuredDocumentation","src":"84940:144:13","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:13","parameters":{"id":15589,"nodeType":"ParameterList","parameters":[],"src":"85106:2:13"},"returnParameters":{"id":15592,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15591,"mutability":"mutable","name":"snapshotId","nameLocation":"85135:10:13","nodeType":"VariableDeclaration","scope":15593,"src":"85127:18:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15590,"name":"uint256","nodeType":"ElementaryTypeName","src":"85127:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"85126:20:13"},"scope":15818,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15599,"nodeType":"FunctionDefinition","src":"85254:48:13","nodes":[],"documentation":{"id":15594,"nodeType":"StructuredDocumentation","src":"85153:96:13","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:13","parameters":{"id":15597,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15596,"mutability":"mutable","name":"msgSender","nameLocation":"85282:9:13","nodeType":"VariableDeclaration","scope":15599,"src":"85274:17:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15595,"name":"address","nodeType":"ElementaryTypeName","src":"85274:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"85273:19:13"},"returnParameters":{"id":15598,"nodeType":"ParameterList","parameters":[],"src":"85301:0:13"},"scope":15818,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15607,"nodeType":"FunctionDefinition","src":"85453:66:13","nodes":[],"documentation":{"id":15600,"nodeType":"StructuredDocumentation","src":"85308:140:13","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:13","parameters":{"id":15605,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15602,"mutability":"mutable","name":"msgSender","nameLocation":"85481:9:13","nodeType":"VariableDeclaration","scope":15607,"src":"85473:17:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15601,"name":"address","nodeType":"ElementaryTypeName","src":"85473:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15604,"mutability":"mutable","name":"txOrigin","nameLocation":"85500:8:13","nodeType":"VariableDeclaration","scope":15607,"src":"85492:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15603,"name":"address","nodeType":"ElementaryTypeName","src":"85492:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"85472:37:13"},"returnParameters":{"id":15606,"nodeType":"ParameterList","parameters":[],"src":"85518:0:13"},"scope":15818,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15611,"nodeType":"FunctionDefinition","src":"85594:30:13","nodes":[],"documentation":{"id":15608,"nodeType":"StructuredDocumentation","src":"85525:64:13","text":"Resets subsequent calls' `msg.sender` to be `address(this)`."},"functionSelector":"90c5013b","implemented":false,"kind":"function","modifiers":[],"name":"stopPrank","nameLocation":"85603:9:13","parameters":{"id":15609,"nodeType":"ParameterList","parameters":[],"src":"85612:2:13"},"returnParameters":{"id":15610,"nodeType":"ParameterList","parameters":[],"src":"85623:0:13"},"scope":15818,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15621,"nodeType":"FunctionDefinition","src":"85682:69:13","nodes":[],"documentation":{"id":15612,"nodeType":"StructuredDocumentation","src":"85630:47:13","text":"Stores a value to an address' storage slot."},"functionSelector":"70ca10bb","implemented":false,"kind":"function","modifiers":[],"name":"store","nameLocation":"85691:5:13","parameters":{"id":15619,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15614,"mutability":"mutable","name":"target","nameLocation":"85705:6:13","nodeType":"VariableDeclaration","scope":15621,"src":"85697:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15613,"name":"address","nodeType":"ElementaryTypeName","src":"85697:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15616,"mutability":"mutable","name":"slot","nameLocation":"85721:4:13","nodeType":"VariableDeclaration","scope":15621,"src":"85713:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":15615,"name":"bytes32","nodeType":"ElementaryTypeName","src":"85713:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":15618,"mutability":"mutable","name":"value","nameLocation":"85735:5:13","nodeType":"VariableDeclaration","scope":15621,"src":"85727:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":15617,"name":"bytes32","nodeType":"ElementaryTypeName","src":"85727:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"85696:45:13"},"returnParameters":{"id":15620,"nodeType":"ParameterList","parameters":[],"src":"85750:0:13"},"scope":15818,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15627,"nodeType":"FunctionDefinition","src":"85854:43:13","nodes":[],"documentation":{"id":15622,"nodeType":"StructuredDocumentation","src":"85757:92:13","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:13","parameters":{"id":15625,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15624,"mutability":"mutable","name":"txHash","nameLocation":"85880:6:13","nodeType":"VariableDeclaration","scope":15627,"src":"85872:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":15623,"name":"bytes32","nodeType":"ElementaryTypeName","src":"85872:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"85871:16:13"},"returnParameters":{"id":15626,"nodeType":"ParameterList","parameters":[],"src":"85896:0:13"},"scope":15818,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15635,"nodeType":"FunctionDefinition","src":"85999:59:13","nodes":[],"documentation":{"id":15628,"nodeType":"StructuredDocumentation","src":"85903:91:13","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:13","parameters":{"id":15633,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15630,"mutability":"mutable","name":"forkId","nameLocation":"86025:6:13","nodeType":"VariableDeclaration","scope":15635,"src":"86017:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15629,"name":"uint256","nodeType":"ElementaryTypeName","src":"86017:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15632,"mutability":"mutable","name":"txHash","nameLocation":"86041:6:13","nodeType":"VariableDeclaration","scope":15635,"src":"86033:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":15631,"name":"bytes32","nodeType":"ElementaryTypeName","src":"86033:7:13","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"86016:32:13"},"returnParameters":{"id":15634,"nodeType":"ParameterList","parameters":[],"src":"86057:0:13"},"scope":15818,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15641,"nodeType":"FunctionDefinition","src":"86092:50:13","nodes":[],"documentation":{"id":15636,"nodeType":"StructuredDocumentation","src":"86064:23:13","text":"Sets `tx.gasprice`."},"functionSelector":"48f50c0f","implemented":false,"kind":"function","modifiers":[],"name":"txGasPrice","nameLocation":"86101:10:13","parameters":{"id":15639,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15638,"mutability":"mutable","name":"newGasPrice","nameLocation":"86120:11:13","nodeType":"VariableDeclaration","scope":15641,"src":"86112:19:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15637,"name":"uint256","nodeType":"ElementaryTypeName","src":"86112:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"86111:21:13"},"returnParameters":{"id":15640,"nodeType":"ParameterList","parameters":[],"src":"86141:0:13"},"scope":15818,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15647,"nodeType":"FunctionDefinition","src":"86180:45:13","nodes":[],"documentation":{"id":15642,"nodeType":"StructuredDocumentation","src":"86148:27:13","text":"Sets `block.timestamp`."},"functionSelector":"e5d6bf02","implemented":false,"kind":"function","modifiers":[],"name":"warp","nameLocation":"86189:4:13","parameters":{"id":15645,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15644,"mutability":"mutable","name":"newTimestamp","nameLocation":"86202:12:13","nodeType":"VariableDeclaration","scope":15647,"src":"86194:20:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15643,"name":"uint256","nodeType":"ElementaryTypeName","src":"86194:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"86193:22:13"},"returnParameters":{"id":15646,"nodeType":"ParameterList","parameters":[],"src":"86224:0:13"},"scope":15818,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15659,"nodeType":"FunctionDefinition","src":"86377:105:13","nodes":[],"documentation":{"id":15648,"nodeType":"StructuredDocumentation","src":"86265:107:13","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:13","parameters":{"id":15657,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15650,"mutability":"mutable","name":"callee","nameLocation":"86411:6:13","nodeType":"VariableDeclaration","scope":15659,"src":"86403:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15649,"name":"address","nodeType":"ElementaryTypeName","src":"86403:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15652,"mutability":"mutable","name":"msgValue","nameLocation":"86427:8:13","nodeType":"VariableDeclaration","scope":15659,"src":"86419:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15651,"name":"uint256","nodeType":"ElementaryTypeName","src":"86419:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15654,"mutability":"mutable","name":"minGas","nameLocation":"86444:6:13","nodeType":"VariableDeclaration","scope":15659,"src":"86437:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":15653,"name":"uint64","nodeType":"ElementaryTypeName","src":"86437:6:13","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":15656,"mutability":"mutable","name":"data","nameLocation":"86467:4:13","nodeType":"VariableDeclaration","scope":15659,"src":"86452:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":15655,"name":"bytes","nodeType":"ElementaryTypeName","src":"86452:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"86402:70:13"},"returnParameters":{"id":15658,"nodeType":"ParameterList","parameters":[],"src":"86481:0:13"},"scope":15818,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15673,"nodeType":"FunctionDefinition","src":"86615:127:13","nodes":[],"documentation":{"id":15660,"nodeType":"StructuredDocumentation","src":"86488:122:13","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:13","parameters":{"id":15671,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15662,"mutability":"mutable","name":"callee","nameLocation":"86649:6:13","nodeType":"VariableDeclaration","scope":15673,"src":"86641:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15661,"name":"address","nodeType":"ElementaryTypeName","src":"86641:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15664,"mutability":"mutable","name":"msgValue","nameLocation":"86665:8:13","nodeType":"VariableDeclaration","scope":15673,"src":"86657:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15663,"name":"uint256","nodeType":"ElementaryTypeName","src":"86657:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15666,"mutability":"mutable","name":"minGas","nameLocation":"86682:6:13","nodeType":"VariableDeclaration","scope":15673,"src":"86675:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":15665,"name":"uint64","nodeType":"ElementaryTypeName","src":"86675:6:13","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":15668,"mutability":"mutable","name":"data","nameLocation":"86705:4:13","nodeType":"VariableDeclaration","scope":15673,"src":"86690:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":15667,"name":"bytes","nodeType":"ElementaryTypeName","src":"86690:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":15670,"mutability":"mutable","name":"count","nameLocation":"86718:5:13","nodeType":"VariableDeclaration","scope":15673,"src":"86711:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":15669,"name":"uint64","nodeType":"ElementaryTypeName","src":"86711:6:13","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"86640:84:13"},"returnParameters":{"id":15672,"nodeType":"ParameterList","parameters":[],"src":"86741:0:13"},"scope":15818,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15681,"nodeType":"FunctionDefinition","src":"86874:66:13","nodes":[],"documentation":{"id":15674,"nodeType":"StructuredDocumentation","src":"86748:121:13","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:13","parameters":{"id":15679,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15676,"mutability":"mutable","name":"callee","nameLocation":"86902:6:13","nodeType":"VariableDeclaration","scope":15681,"src":"86894:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15675,"name":"address","nodeType":"ElementaryTypeName","src":"86894:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15678,"mutability":"mutable","name":"data","nameLocation":"86925:4:13","nodeType":"VariableDeclaration","scope":15681,"src":"86910:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":15677,"name":"bytes","nodeType":"ElementaryTypeName","src":"86910:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"86893:37:13"},"returnParameters":{"id":15680,"nodeType":"ParameterList","parameters":[],"src":"86939:0:13"},"scope":15818,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15691,"nodeType":"FunctionDefinition","src":"87027:80:13","nodes":[],"documentation":{"id":15682,"nodeType":"StructuredDocumentation","src":"86946:76:13","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:13","parameters":{"id":15689,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15684,"mutability":"mutable","name":"callee","nameLocation":"87055:6:13","nodeType":"VariableDeclaration","scope":15691,"src":"87047:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15683,"name":"address","nodeType":"ElementaryTypeName","src":"87047:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15686,"mutability":"mutable","name":"data","nameLocation":"87078:4:13","nodeType":"VariableDeclaration","scope":15691,"src":"87063:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":15685,"name":"bytes","nodeType":"ElementaryTypeName","src":"87063:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":15688,"mutability":"mutable","name":"count","nameLocation":"87091:5:13","nodeType":"VariableDeclaration","scope":15691,"src":"87084:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":15687,"name":"uint64","nodeType":"ElementaryTypeName","src":"87084:6:13","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"87046:51:13"},"returnParameters":{"id":15690,"nodeType":"ParameterList","parameters":[],"src":"87106:0:13"},"scope":15818,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15701,"nodeType":"FunctionDefinition","src":"87195:84:13","nodes":[],"documentation":{"id":15692,"nodeType":"StructuredDocumentation","src":"87113:77:13","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:13","parameters":{"id":15699,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15694,"mutability":"mutable","name":"callee","nameLocation":"87223:6:13","nodeType":"VariableDeclaration","scope":15701,"src":"87215:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15693,"name":"address","nodeType":"ElementaryTypeName","src":"87215:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15696,"mutability":"mutable","name":"msgValue","nameLocation":"87239:8:13","nodeType":"VariableDeclaration","scope":15701,"src":"87231:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15695,"name":"uint256","nodeType":"ElementaryTypeName","src":"87231:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15698,"mutability":"mutable","name":"data","nameLocation":"87264:4:13","nodeType":"VariableDeclaration","scope":15701,"src":"87249:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":15697,"name":"bytes","nodeType":"ElementaryTypeName","src":"87249:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"87214:55:13"},"returnParameters":{"id":15700,"nodeType":"ParameterList","parameters":[],"src":"87278:0:13"},"scope":15818,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15713,"nodeType":"FunctionDefinition","src":"87382:98:13","nodes":[],"documentation":{"id":15702,"nodeType":"StructuredDocumentation","src":"87285:92:13","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:13","parameters":{"id":15711,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15704,"mutability":"mutable","name":"callee","nameLocation":"87410:6:13","nodeType":"VariableDeclaration","scope":15713,"src":"87402:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15703,"name":"address","nodeType":"ElementaryTypeName","src":"87402:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15706,"mutability":"mutable","name":"msgValue","nameLocation":"87426:8:13","nodeType":"VariableDeclaration","scope":15713,"src":"87418:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15705,"name":"uint256","nodeType":"ElementaryTypeName","src":"87418:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15708,"mutability":"mutable","name":"data","nameLocation":"87451:4:13","nodeType":"VariableDeclaration","scope":15713,"src":"87436:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":15707,"name":"bytes","nodeType":"ElementaryTypeName","src":"87436:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":15710,"mutability":"mutable","name":"count","nameLocation":"87464:5:13","nodeType":"VariableDeclaration","scope":15713,"src":"87457:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":15709,"name":"uint64","nodeType":"ElementaryTypeName","src":"87457:6:13","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"87401:69:13"},"returnParameters":{"id":15712,"nodeType":"ParameterList","parameters":[],"src":"87479:0:13"},"scope":15818,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15725,"nodeType":"FunctionDefinition","src":"87573:96:13","nodes":[],"documentation":{"id":15714,"nodeType":"StructuredDocumentation","src":"87486:82:13","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:13","parameters":{"id":15723,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15716,"mutability":"mutable","name":"callee","nameLocation":"87601:6:13","nodeType":"VariableDeclaration","scope":15725,"src":"87593:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15715,"name":"address","nodeType":"ElementaryTypeName","src":"87593:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15718,"mutability":"mutable","name":"msgValue","nameLocation":"87617:8:13","nodeType":"VariableDeclaration","scope":15725,"src":"87609:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15717,"name":"uint256","nodeType":"ElementaryTypeName","src":"87609:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15720,"mutability":"mutable","name":"gas","nameLocation":"87634:3:13","nodeType":"VariableDeclaration","scope":15725,"src":"87627:10:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":15719,"name":"uint64","nodeType":"ElementaryTypeName","src":"87627:6:13","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":15722,"mutability":"mutable","name":"data","nameLocation":"87654:4:13","nodeType":"VariableDeclaration","scope":15725,"src":"87639:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":15721,"name":"bytes","nodeType":"ElementaryTypeName","src":"87639:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"87592:67:13"},"returnParameters":{"id":15724,"nodeType":"ParameterList","parameters":[],"src":"87668:0:13"},"scope":15818,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15739,"nodeType":"FunctionDefinition","src":"87778:110:13","nodes":[],"documentation":{"id":15726,"nodeType":"StructuredDocumentation","src":"87675:98:13","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:13","parameters":{"id":15737,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15728,"mutability":"mutable","name":"callee","nameLocation":"87806:6:13","nodeType":"VariableDeclaration","scope":15739,"src":"87798:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15727,"name":"address","nodeType":"ElementaryTypeName","src":"87798:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":15730,"mutability":"mutable","name":"msgValue","nameLocation":"87822:8:13","nodeType":"VariableDeclaration","scope":15739,"src":"87814:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":15729,"name":"uint256","nodeType":"ElementaryTypeName","src":"87814:7:13","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":15732,"mutability":"mutable","name":"gas","nameLocation":"87839:3:13","nodeType":"VariableDeclaration","scope":15739,"src":"87832:10:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":15731,"name":"uint64","nodeType":"ElementaryTypeName","src":"87832:6:13","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":15734,"mutability":"mutable","name":"data","nameLocation":"87859:4:13","nodeType":"VariableDeclaration","scope":15739,"src":"87844:19:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":15733,"name":"bytes","nodeType":"ElementaryTypeName","src":"87844:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"},{"constant":false,"id":15736,"mutability":"mutable","name":"count","nameLocation":"87872:5:13","nodeType":"VariableDeclaration","scope":15739,"src":"87865:12:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":15735,"name":"uint64","nodeType":"ElementaryTypeName","src":"87865:6:13","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"87797:81:13"},"returnParameters":{"id":15738,"nodeType":"ParameterList","parameters":[],"src":"87887:0:13"},"scope":15818,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15751,"nodeType":"FunctionDefinition","src":"88227:99:13","nodes":[],"documentation":{"id":15740,"nodeType":"StructuredDocumentation","src":"87894:328:13","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:13","parameters":{"id":15749,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15742,"mutability":"mutable","name":"checkTopic1","nameLocation":"88252:11:13","nodeType":"VariableDeclaration","scope":15751,"src":"88247:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15741,"name":"bool","nodeType":"ElementaryTypeName","src":"88247:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":15744,"mutability":"mutable","name":"checkTopic2","nameLocation":"88270:11:13","nodeType":"VariableDeclaration","scope":15751,"src":"88265:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15743,"name":"bool","nodeType":"ElementaryTypeName","src":"88265:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":15746,"mutability":"mutable","name":"checkTopic3","nameLocation":"88288:11:13","nodeType":"VariableDeclaration","scope":15751,"src":"88283:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15745,"name":"bool","nodeType":"ElementaryTypeName","src":"88283:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":15748,"mutability":"mutable","name":"checkData","nameLocation":"88306:9:13","nodeType":"VariableDeclaration","scope":15751,"src":"88301:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15747,"name":"bool","nodeType":"ElementaryTypeName","src":"88301:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"88246:70:13"},"returnParameters":{"id":15750,"nodeType":"ParameterList","parameters":[],"src":"88325:0:13"},"scope":15818,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15765,"nodeType":"FunctionDefinition","src":"88429:124:13","nodes":[],"documentation":{"id":15752,"nodeType":"StructuredDocumentation","src":"88332:92:13","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:13","parameters":{"id":15763,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15754,"mutability":"mutable","name":"checkTopic1","nameLocation":"88454:11:13","nodeType":"VariableDeclaration","scope":15765,"src":"88449:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15753,"name":"bool","nodeType":"ElementaryTypeName","src":"88449:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":15756,"mutability":"mutable","name":"checkTopic2","nameLocation":"88472:11:13","nodeType":"VariableDeclaration","scope":15765,"src":"88467:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15755,"name":"bool","nodeType":"ElementaryTypeName","src":"88467:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":15758,"mutability":"mutable","name":"checkTopic3","nameLocation":"88490:11:13","nodeType":"VariableDeclaration","scope":15765,"src":"88485:16:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15757,"name":"bool","nodeType":"ElementaryTypeName","src":"88485:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":15760,"mutability":"mutable","name":"checkData","nameLocation":"88508:9:13","nodeType":"VariableDeclaration","scope":15765,"src":"88503:14:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15759,"name":"bool","nodeType":"ElementaryTypeName","src":"88503:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"},{"constant":false,"id":15762,"mutability":"mutable","name":"emitter","nameLocation":"88527:7:13","nodeType":"VariableDeclaration","scope":15765,"src":"88519:15:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15761,"name":"address","nodeType":"ElementaryTypeName","src":"88519:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"88448:87:13"},"returnParameters":{"id":15764,"nodeType":"ParameterList","parameters":[],"src":"88552:0:13"},"scope":15818,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15769,"nodeType":"FunctionDefinition","src":"88823:31:13","nodes":[],"documentation":{"id":15766,"nodeType":"StructuredDocumentation","src":"88559:259:13","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:13","parameters":{"id":15767,"nodeType":"ParameterList","parameters":[],"src":"88842:2:13"},"returnParameters":{"id":15768,"nodeType":"ParameterList","parameters":[],"src":"88853:0:13"},"scope":15818,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15775,"nodeType":"FunctionDefinition","src":"88957:46:13","nodes":[],"documentation":{"id":15770,"nodeType":"StructuredDocumentation","src":"88860:92:13","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:13","parameters":{"id":15773,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15772,"mutability":"mutable","name":"emitter","nameLocation":"88985:7:13","nodeType":"VariableDeclaration","scope":15775,"src":"88977:15:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":15771,"name":"address","nodeType":"ElementaryTypeName","src":"88977:7:13","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"88976:17:13"},"returnParameters":{"id":15774,"nodeType":"ParameterList","parameters":[],"src":"89002:0:13"},"scope":15818,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15779,"nodeType":"FunctionDefinition","src":"89069:33:13","nodes":[],"documentation":{"id":15776,"nodeType":"StructuredDocumentation","src":"89009:55:13","text":"Expects an error on next call with any revert data."},"functionSelector":"f4844814","implemented":false,"kind":"function","modifiers":[],"name":"expectRevert","nameLocation":"89078:12:13","parameters":{"id":15777,"nodeType":"ParameterList","parameters":[],"src":"89090:2:13"},"returnParameters":{"id":15778,"nodeType":"ParameterList","parameters":[],"src":"89101:0:13"},"scope":15818,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15785,"nodeType":"FunctionDefinition","src":"89180:50:13","nodes":[],"documentation":{"id":15780,"nodeType":"StructuredDocumentation","src":"89108:67:13","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:13","parameters":{"id":15783,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15782,"mutability":"mutable","name":"revertData","nameLocation":"89209:10:13","nodeType":"VariableDeclaration","scope":15785,"src":"89202:17:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":15781,"name":"bytes4","nodeType":"ElementaryTypeName","src":"89202:6:13","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"89201:19:13"},"returnParameters":{"id":15784,"nodeType":"ParameterList","parameters":[],"src":"89229:0:13"},"scope":15818,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15791,"nodeType":"FunctionDefinition","src":"89312:58:13","nodes":[],"documentation":{"id":15786,"nodeType":"StructuredDocumentation","src":"89236:71:13","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:13","parameters":{"id":15789,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15788,"mutability":"mutable","name":"revertData","nameLocation":"89349:10:13","nodeType":"VariableDeclaration","scope":15791,"src":"89334:25:13","stateVariable":false,"storageLocation":"calldata","typeDescriptions":{"typeIdentifier":"t_bytes_calldata_ptr","typeString":"bytes"},"typeName":{"id":15787,"name":"bytes","nodeType":"ElementaryTypeName","src":"89334:5:13","typeDescriptions":{"typeIdentifier":"t_bytes_storage_ptr","typeString":"bytes"}},"visibility":"internal"}],"src":"89333:27:13"},"returnParameters":{"id":15790,"nodeType":"ParameterList","parameters":[],"src":"89369:0:13"},"scope":15818,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15799,"nodeType":"FunctionDefinition","src":"89599:59:13","nodes":[],"documentation":{"id":15792,"nodeType":"StructuredDocumentation","src":"89376:218:13","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:13","parameters":{"id":15797,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15794,"mutability":"mutable","name":"min","nameLocation":"89632:3:13","nodeType":"VariableDeclaration","scope":15799,"src":"89625:10:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":15793,"name":"uint64","nodeType":"ElementaryTypeName","src":"89625:6:13","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":15796,"mutability":"mutable","name":"max","nameLocation":"89644:3:13","nodeType":"VariableDeclaration","scope":15799,"src":"89637:10:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":15795,"name":"uint64","nodeType":"ElementaryTypeName","src":"89637:6:13","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"89624:24:13"},"returnParameters":{"id":15798,"nodeType":"ParameterList","parameters":[],"src":"89657:0:13"},"scope":15818,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15807,"nodeType":"FunctionDefinition","src":"89900:63:13","nodes":[],"documentation":{"id":15800,"nodeType":"StructuredDocumentation","src":"89664:231:13","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:13","parameters":{"id":15805,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15802,"mutability":"mutable","name":"min","nameLocation":"89937:3:13","nodeType":"VariableDeclaration","scope":15807,"src":"89930:10:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":15801,"name":"uint64","nodeType":"ElementaryTypeName","src":"89930:6:13","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"},{"constant":false,"id":15804,"mutability":"mutable","name":"max","nameLocation":"89949:3:13","nodeType":"VariableDeclaration","scope":15807,"src":"89942:10:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"},"typeName":{"id":15803,"name":"uint64","nodeType":"ElementaryTypeName","src":"89942:6:13","typeDescriptions":{"typeIdentifier":"t_uint64","typeString":"uint64"}},"visibility":"internal"}],"src":"89929:24:13"},"returnParameters":{"id":15806,"nodeType":"ParameterList","parameters":[],"src":"89962:0:13"},"scope":15818,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15813,"nodeType":"FunctionDefinition","src":"90041:38:13","nodes":[],"documentation":{"id":15808,"nodeType":"StructuredDocumentation","src":"89969:67:13","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:13","parameters":{"id":15811,"nodeType":"ParameterList","parameters":[{"constant":false,"id":15810,"mutability":"mutable","name":"skipTest","nameLocation":"90060:8:13","nodeType":"VariableDeclaration","scope":15813,"src":"90055:13:13","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"typeName":{"id":15809,"name":"bool","nodeType":"ElementaryTypeName","src":"90055:4:13","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}},"visibility":"internal"}],"src":"90054:15:13"},"returnParameters":{"id":15812,"nodeType":"ParameterList","parameters":[],"src":"90078:0:13"},"scope":15818,"stateMutability":"nonpayable","virtual":false,"visibility":"external"},{"id":15817,"nodeType":"FunctionDefinition","src":"90154:41:13","nodes":[],"documentation":{"id":15814,"nodeType":"StructuredDocumentation","src":"90085:64:13","text":"Stops all safe memory expectation in the current subcontext."},"functionSelector":"0956441b","implemented":false,"kind":"function","modifiers":[],"name":"stopExpectSafeMemory","nameLocation":"90163:20:13","parameters":{"id":15815,"nodeType":"ParameterList","parameters":[],"src":"90183:2:13"},"returnParameters":{"id":15816,"nodeType":"ParameterList","parameters":[],"src":"90194:0:13"},"scope":15818,"stateMutability":"nonpayable","virtual":false,"visibility":"external"}],"abstract":false,"baseContracts":[{"baseName":{"id":15233,"name":"VmSafe","nameLocations":["76301:6:13"],"nodeType":"IdentifierPath","referencedDeclaration":15231,"src":"76301:6:13"},"id":15234,"nodeType":"InheritanceSpecifier","src":"76301:6:13"}],"canonicalName":"Vm","contractDependencies":[],"contractKind":"interface","documentation":{"id":15232,"nodeType":"StructuredDocumentation","src":"76114:171:13","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":[15818,15231],"name":"Vm","nameLocation":"76295:2:13","scope":15819,"usedErrors":[],"usedEvents":[]}],"license":"MIT OR Apache-2.0"},"id":13}