commit b241866df645be118579c6a21a6b7d38c224eab7 Author: Anton Livaja Date: Thu Jun 5 09:39:46 2025 -0700 initial commit diff --git a/Containerfile b/Containerfile new file mode 100644 index 0000000..709204d --- /dev/null +++ b/Containerfile @@ -0,0 +1,62 @@ +FROM scratch AS base +COPY --from=stagex/core-bash . / +COPY --from=stagex/user-jq . / +COPY --from=stagex/core-busybox . / +COPY --from=stagex/core-ca-certificates . / +COPY --from=stagex/core-curl . / +COPY --from=stagex/core-gcc . / +COPY --from=stagex/core-git . / +COPY --from=stagex/core-musl . / +COPY --from=stagex/core-openssl . / +COPY --from=stagex/core-zlib . / +COPY --from=stagex/core-solidity:0.8.30 . / + + +#RUN git clone https://github.com/mitche50/keeta-locker.git +#WORKDIR ./keeta-locker +#RUN git checkout 8fb2b54b167dc7d8a91151eae06ec265afa48b06 + +COPY keeta-locker ./ + +RUN /usr/bin/solc --via-ir --optimize --combined-json abi,bin ./blockchain/src/LPLocker.sol > storage.js + +RUN curl -L https://github.com/foundry-rs/foundry/releases/download/v1.2.2/foundry_v1.2.2_alpine_amd64.tar.gz > foundry_v1.2.2_linux_amd64.tar.gz + +RUN tar -xvf foundry_v1.2.2_linux_amd64.tar.gz +RUN chmod +x forge +RUN ./forge build --contracts blockchain/src/LPLocker.sol --force --use /usr/bin/solc + +RUN jq '.contracts["blockchain/src/LPLocker.sol:LPLocker"].abi' storage.js > abi_from_solc.json +RUN jq -r '.contracts["blockchain/src/LPLocker.sol:LPLocker"].bin' storage.js > init_from_solc.hex +RUN jq '.abi' ./out/LPLocker.sol/LPLocker.json > abi_from_forge.json +RUN jq -r '.bytecode.object' out/LPLocker.sol/LPLocker.json > init_from_forge.hex +#RUN diff abi_from_solc.json abi_from_forge.json +#RUN diff init_from_solc.hex init_from_forge.hex +#RUN diff ./out/LPLocker.sol/LPLocker.json storage.js +RUN cat init_from_solc.hex + +RUN cat init_from_forge.hex + +RUN /usr/bin/solc \ + --bin \ + --abi \ + --asm \ + --allow-paths . \ + --optimize --optimize-runs=200 \ + -o build \ + ./blockchain/src/LPLocker.sol \ + ./blockchain/src/openzeppelin-contracts/contracts/token/ERC20/utils/SafeERC20.sol \ + ./blockchain/src/openzeppelin-contracts/contracts/access/Ownable2Step.sol \ + ./blockchain/src/openzeppelin-contracts/contracts/access/Ownable2Step.sol \ + ./blockchain/src/interfaces/IAerodromePool.sol \ + ./blockchain/src/interfaces/ILPLocker.sol + +#RUN /usr/bin/solc --asm --bin-runtime ./blockchain/src/LPLocker.sol -o build/ +#RUN /usr/bin/solc --asm --bin-runtime --opcodes ./blockchain/src/LPLocker.sol -o build/ + +#RUN diff ./pre-built.abi build/LPLocker.abi +#RUN diff ./pre-built.bin build/LPLocker.bin +#RUN diff ./pre-built.bin-runtime build/LPLocker.bin-runtime + +#RUN tr -s '[:space:]' '\n' < build/LPLocker.opcode +#RUN diff -wb ./pre-built.opcode build/LPLocker.opcode diff --git a/README.md b/README.md new file mode 100644 index 0000000..090f2c1 --- /dev/null +++ b/README.md @@ -0,0 +1,11 @@ +# Build + +```sh +docker build -f Containerfile . --progress=plain +``` + +# Load StageX Solidity +```sh +docker load -i stagex-solc-0.8.30.tar +``` + diff --git a/keeta-locker b/keeta-locker new file mode 160000 index 0000000..8fb2b54 --- /dev/null +++ b/keeta-locker @@ -0,0 +1 @@ +Subproject commit 8fb2b54b167dc7d8a91151eae06ec265afa48b06 diff --git a/stagex-solc-0.8.30.tar b/stagex-solc-0.8.30.tar new file mode 100644 index 0000000..e9a342a Binary files /dev/null and b/stagex-solc-0.8.30.tar differ