├── README.md ├── gas-costly-patterns ├── comparison-with-unilateral-outcome-in-a-loop.md ├── constant-outcome-of-a-loop.md ├── dead-code.md ├── expensive-operations-in-a-loop.md ├── loop-fusion.md ├── opaque-predicate.md ├── repeated-computations-in-a-loop.md ├── storage-variable-as-loop-length.md └── unnecessary-libraries.md ├── gas-golfing ├── function-ordering.md ├── optimal-comparison-operator.md ├── optimal-increment-and-decrement-operators.md ├── payable-functions.md ├── short-revert-strings.md ├── unchecked-arithmetic.md └── using-mulmod-over-mul&div.md └── gas-saving-patterns ├── constants-and-immutables.md ├── explicit-function-visibility.md ├── proper-data-types.md ├── short-circuiting.md └── struct-bit-packing.md /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kadenzipfel/gas-optimizations/HEAD/README.md -------------------------------------------------------------------------------- /gas-costly-patterns/comparison-with-unilateral-outcome-in-a-loop.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kadenzipfel/gas-optimizations/HEAD/gas-costly-patterns/comparison-with-unilateral-outcome-in-a-loop.md -------------------------------------------------------------------------------- /gas-costly-patterns/constant-outcome-of-a-loop.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kadenzipfel/gas-optimizations/HEAD/gas-costly-patterns/constant-outcome-of-a-loop.md -------------------------------------------------------------------------------- /gas-costly-patterns/dead-code.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kadenzipfel/gas-optimizations/HEAD/gas-costly-patterns/dead-code.md -------------------------------------------------------------------------------- /gas-costly-patterns/expensive-operations-in-a-loop.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kadenzipfel/gas-optimizations/HEAD/gas-costly-patterns/expensive-operations-in-a-loop.md -------------------------------------------------------------------------------- /gas-costly-patterns/loop-fusion.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kadenzipfel/gas-optimizations/HEAD/gas-costly-patterns/loop-fusion.md -------------------------------------------------------------------------------- /gas-costly-patterns/opaque-predicate.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kadenzipfel/gas-optimizations/HEAD/gas-costly-patterns/opaque-predicate.md -------------------------------------------------------------------------------- /gas-costly-patterns/repeated-computations-in-a-loop.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kadenzipfel/gas-optimizations/HEAD/gas-costly-patterns/repeated-computations-in-a-loop.md -------------------------------------------------------------------------------- /gas-costly-patterns/storage-variable-as-loop-length.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kadenzipfel/gas-optimizations/HEAD/gas-costly-patterns/storage-variable-as-loop-length.md -------------------------------------------------------------------------------- /gas-costly-patterns/unnecessary-libraries.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kadenzipfel/gas-optimizations/HEAD/gas-costly-patterns/unnecessary-libraries.md -------------------------------------------------------------------------------- /gas-golfing/function-ordering.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kadenzipfel/gas-optimizations/HEAD/gas-golfing/function-ordering.md -------------------------------------------------------------------------------- /gas-golfing/optimal-comparison-operator.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kadenzipfel/gas-optimizations/HEAD/gas-golfing/optimal-comparison-operator.md -------------------------------------------------------------------------------- /gas-golfing/optimal-increment-and-decrement-operators.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kadenzipfel/gas-optimizations/HEAD/gas-golfing/optimal-increment-and-decrement-operators.md -------------------------------------------------------------------------------- /gas-golfing/payable-functions.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kadenzipfel/gas-optimizations/HEAD/gas-golfing/payable-functions.md -------------------------------------------------------------------------------- /gas-golfing/short-revert-strings.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kadenzipfel/gas-optimizations/HEAD/gas-golfing/short-revert-strings.md -------------------------------------------------------------------------------- /gas-golfing/unchecked-arithmetic.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kadenzipfel/gas-optimizations/HEAD/gas-golfing/unchecked-arithmetic.md -------------------------------------------------------------------------------- /gas-golfing/using-mulmod-over-mul&div.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kadenzipfel/gas-optimizations/HEAD/gas-golfing/using-mulmod-over-mul&div.md -------------------------------------------------------------------------------- /gas-saving-patterns/constants-and-immutables.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kadenzipfel/gas-optimizations/HEAD/gas-saving-patterns/constants-and-immutables.md -------------------------------------------------------------------------------- /gas-saving-patterns/explicit-function-visibility.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kadenzipfel/gas-optimizations/HEAD/gas-saving-patterns/explicit-function-visibility.md -------------------------------------------------------------------------------- /gas-saving-patterns/proper-data-types.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kadenzipfel/gas-optimizations/HEAD/gas-saving-patterns/proper-data-types.md -------------------------------------------------------------------------------- /gas-saving-patterns/short-circuiting.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kadenzipfel/gas-optimizations/HEAD/gas-saving-patterns/short-circuiting.md -------------------------------------------------------------------------------- /gas-saving-patterns/struct-bit-packing.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kadenzipfel/gas-optimizations/HEAD/gas-saving-patterns/struct-bit-packing.md --------------------------------------------------------------------------------