├── .github └── workflows │ └── test.yml ├── .gitmodules ├── LICENSE ├── Makefile ├── README.md ├── examples ├── add_two.huff ├── add_two_consts.huff ├── const_ref.huff ├── deep_arg.huff ├── events.huff ├── free_storage_pointer.huff ├── functions.huff ├── included │ ├── first.huff │ └── rel.huff ├── including.huff ├── jump.huff ├── long_jump.huff ├── macro_args.huff ├── padded.huff ├── runtime_code_built_in.huff ├── simple_adjust.huff ├── simple_labels.huff ├── single_macro.huff ├── single_main.huff └── small_constructor.huff ├── foundry.toml ├── info.rkt ├── install.rkt ├── main.rkt ├── profile.rkt ├── puff ├── analysis.rkt ├── assembler.rkt ├── codegen.rkt ├── huff-ops.rkt ├── huffparser.rkt ├── keccak.rkt ├── lexer.rkt ├── phases │ ├── abi-base.rkt │ ├── constants.rkt │ ├── errors.rkt │ ├── events.rkt │ ├── fsp.rkt │ ├── funcsigs.rkt │ ├── hexvals.rkt │ ├── labels.rkt │ ├── macros.rkt │ ├── opcodes.rkt │ └── phases.rkt ├── puff.rkt └── utils.rkt ├── rust_src └── keccaklib │ ├── Cargo.toml │ └── src │ └── lib.rs ├── script └── Counter.s.sol ├── src ├── Counter.sol ├── CreateX.sol └── Deployers.sol └── test ├── Counter.t.sol └── LongJumps.t.sol /.github/workflows/test.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/z80dev/puff/HEAD/.github/workflows/test.yml -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/z80dev/puff/HEAD/.gitmodules -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/z80dev/puff/HEAD/LICENSE -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/z80dev/puff/HEAD/Makefile -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/z80dev/puff/HEAD/README.md -------------------------------------------------------------------------------- /examples/add_two.huff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/z80dev/puff/HEAD/examples/add_two.huff -------------------------------------------------------------------------------- /examples/add_two_consts.huff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/z80dev/puff/HEAD/examples/add_two_consts.huff -------------------------------------------------------------------------------- /examples/const_ref.huff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/z80dev/puff/HEAD/examples/const_ref.huff -------------------------------------------------------------------------------- /examples/deep_arg.huff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/z80dev/puff/HEAD/examples/deep_arg.huff -------------------------------------------------------------------------------- /examples/events.huff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/z80dev/puff/HEAD/examples/events.huff -------------------------------------------------------------------------------- /examples/free_storage_pointer.huff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/z80dev/puff/HEAD/examples/free_storage_pointer.huff -------------------------------------------------------------------------------- /examples/functions.huff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/z80dev/puff/HEAD/examples/functions.huff -------------------------------------------------------------------------------- /examples/included/first.huff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/z80dev/puff/HEAD/examples/included/first.huff -------------------------------------------------------------------------------- /examples/included/rel.huff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/z80dev/puff/HEAD/examples/included/rel.huff -------------------------------------------------------------------------------- /examples/including.huff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/z80dev/puff/HEAD/examples/including.huff -------------------------------------------------------------------------------- /examples/jump.huff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/z80dev/puff/HEAD/examples/jump.huff -------------------------------------------------------------------------------- /examples/long_jump.huff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/z80dev/puff/HEAD/examples/long_jump.huff -------------------------------------------------------------------------------- /examples/macro_args.huff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/z80dev/puff/HEAD/examples/macro_args.huff -------------------------------------------------------------------------------- /examples/padded.huff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/z80dev/puff/HEAD/examples/padded.huff -------------------------------------------------------------------------------- /examples/runtime_code_built_in.huff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/z80dev/puff/HEAD/examples/runtime_code_built_in.huff -------------------------------------------------------------------------------- /examples/simple_adjust.huff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/z80dev/puff/HEAD/examples/simple_adjust.huff -------------------------------------------------------------------------------- /examples/simple_labels.huff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/z80dev/puff/HEAD/examples/simple_labels.huff -------------------------------------------------------------------------------- /examples/single_macro.huff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/z80dev/puff/HEAD/examples/single_macro.huff -------------------------------------------------------------------------------- /examples/single_main.huff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/z80dev/puff/HEAD/examples/single_main.huff -------------------------------------------------------------------------------- /examples/small_constructor.huff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/z80dev/puff/HEAD/examples/small_constructor.huff -------------------------------------------------------------------------------- /foundry.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/z80dev/puff/HEAD/foundry.toml -------------------------------------------------------------------------------- /info.rkt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/z80dev/puff/HEAD/info.rkt -------------------------------------------------------------------------------- /install.rkt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/z80dev/puff/HEAD/install.rkt -------------------------------------------------------------------------------- /main.rkt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/z80dev/puff/HEAD/main.rkt -------------------------------------------------------------------------------- /profile.rkt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/z80dev/puff/HEAD/profile.rkt -------------------------------------------------------------------------------- /puff/analysis.rkt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/z80dev/puff/HEAD/puff/analysis.rkt -------------------------------------------------------------------------------- /puff/assembler.rkt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/z80dev/puff/HEAD/puff/assembler.rkt -------------------------------------------------------------------------------- /puff/codegen.rkt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/z80dev/puff/HEAD/puff/codegen.rkt -------------------------------------------------------------------------------- /puff/huff-ops.rkt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/z80dev/puff/HEAD/puff/huff-ops.rkt -------------------------------------------------------------------------------- /puff/huffparser.rkt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/z80dev/puff/HEAD/puff/huffparser.rkt -------------------------------------------------------------------------------- /puff/keccak.rkt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/z80dev/puff/HEAD/puff/keccak.rkt -------------------------------------------------------------------------------- /puff/lexer.rkt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/z80dev/puff/HEAD/puff/lexer.rkt -------------------------------------------------------------------------------- /puff/phases/abi-base.rkt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/z80dev/puff/HEAD/puff/phases/abi-base.rkt -------------------------------------------------------------------------------- /puff/phases/constants.rkt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/z80dev/puff/HEAD/puff/phases/constants.rkt -------------------------------------------------------------------------------- /puff/phases/errors.rkt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/z80dev/puff/HEAD/puff/phases/errors.rkt -------------------------------------------------------------------------------- /puff/phases/events.rkt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/z80dev/puff/HEAD/puff/phases/events.rkt -------------------------------------------------------------------------------- /puff/phases/fsp.rkt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/z80dev/puff/HEAD/puff/phases/fsp.rkt -------------------------------------------------------------------------------- /puff/phases/funcsigs.rkt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/z80dev/puff/HEAD/puff/phases/funcsigs.rkt -------------------------------------------------------------------------------- /puff/phases/hexvals.rkt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/z80dev/puff/HEAD/puff/phases/hexvals.rkt -------------------------------------------------------------------------------- /puff/phases/labels.rkt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/z80dev/puff/HEAD/puff/phases/labels.rkt -------------------------------------------------------------------------------- /puff/phases/macros.rkt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/z80dev/puff/HEAD/puff/phases/macros.rkt -------------------------------------------------------------------------------- /puff/phases/opcodes.rkt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/z80dev/puff/HEAD/puff/phases/opcodes.rkt -------------------------------------------------------------------------------- /puff/phases/phases.rkt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/z80dev/puff/HEAD/puff/phases/phases.rkt -------------------------------------------------------------------------------- /puff/puff.rkt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/z80dev/puff/HEAD/puff/puff.rkt -------------------------------------------------------------------------------- /puff/utils.rkt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/z80dev/puff/HEAD/puff/utils.rkt -------------------------------------------------------------------------------- /rust_src/keccaklib/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/z80dev/puff/HEAD/rust_src/keccaklib/Cargo.toml -------------------------------------------------------------------------------- /rust_src/keccaklib/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/z80dev/puff/HEAD/rust_src/keccaklib/src/lib.rs -------------------------------------------------------------------------------- /script/Counter.s.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/z80dev/puff/HEAD/script/Counter.s.sol -------------------------------------------------------------------------------- /src/Counter.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/z80dev/puff/HEAD/src/Counter.sol -------------------------------------------------------------------------------- /src/CreateX.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/z80dev/puff/HEAD/src/CreateX.sol -------------------------------------------------------------------------------- /src/Deployers.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/z80dev/puff/HEAD/src/Deployers.sol -------------------------------------------------------------------------------- /test/Counter.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/z80dev/puff/HEAD/test/Counter.t.sol -------------------------------------------------------------------------------- /test/LongJumps.t.sol: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/z80dev/puff/HEAD/test/LongJumps.t.sol --------------------------------------------------------------------------------