Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
85ef265
docs(docs): update release quick start doc
zoowii Apr 27, 2025
2a19796
Merge pull request #12 from zoowii/main
zoowii Apr 27, 2025
0cf50ed
feat: add variable redefinition validation
cmgCr Apr 28, 2025
3efb063
Merge pull request #13 from cmgCr/main
zoowii Apr 28, 2025
3ece5dd
ci: enable test in pr
zoowii Apr 29, 2025
c173842
Merge pull request #14 from zoowii/main
zoowii Apr 29, 2025
55d680e
ci: update release workflow
zoowii Apr 29, 2025
acb23f6
build: update tokio and related dependencies
cmgCr Apr 29, 2025
f5179c0
Merge pull request #15 from zoowii/main
zoowii Apr 29, 2025
d62586a
Merge branch 'DTVMStack:main' into main
cmgCr Apr 29, 2025
cfd13c6
Merge pull request #16 from cmgCr/main
zoowii Apr 29, 2025
97492bb
update install guide for mac
zoowii Apr 29, 2025
b558016
Merge pull request #17 from zoowii/main
zoowii Apr 29, 2025
8434c41
ci: add github codespace devcontainer
zoowii Apr 30, 2025
d1751d9
Merge pull request #19 from zoowii/main
zoowii Apr 30, 2025
5f3548b
ci: use image as devcontainer
zoowii Apr 30, 2025
cdd99d7
Merge pull request #20 from zoowii/main
zoowii Apr 30, 2025
baa2dcb
perf: Consolidate single-line revert(0,0) functions into a unified fu…
cmgCr Apr 30, 2025
29728e1
Merge pull request #21 from cmgCr/main
zoowii Apr 30, 2025
8f18e95
test(test): add instruction test cases
cmgCr May 8, 2025
ede4df6
Merge pull request #22 from cmgCr/main
zoowii May 9, 2025
9d1d3d2
test: add solidity unit test
zoowii May 11, 2025
b08aaf3
Merge pull request #23 from zoowii/main
zoowii May 11, 2025
65a015d
test: add test of openzepplin strings lib
zoowii May 12, 2025
b4cc733
Merge pull request #24 from zoowii/main
zoowii May 12, 2025
25c56a7
test: add cargo coverage test
zoowii May 15, 2025
9bd7cfd
Merge pull request #25 from zoowii/main
zoowii May 15, 2025
f5d6f1c
test(examples): support forge test for example foundry_erc20
cmgCr May 16, 2025
c5ba420
Merge pull request #26 from cmgCr/main
zoowii May 16, 2025
042bd4a
fix: update deps verion for test
zoowii Jul 22, 2025
11d27a3
feat: update docker image
zoowii Jul 22, 2025
8355022
Merge pull request #27 from zoowii/fix_security
zoowii Jul 22, 2025
87f4b9d
ci: update deps
zoowii Jul 29, 2025
e762f92
Merge pull request #28 from zoowii/fix_security
zoowii Jul 29, 2025
f64f955
fix: fix prevrandao bug
cmgCr Sep 5, 2025
535e349
Merge pull request #29 from cmgCr/main
zoowii Sep 5, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
49 changes: 49 additions & 0 deletions .devcontainer/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
ARG VARIANT="16"
FROM mcr.microsoft.com/devcontainers/javascript-node:1-${VARIANT}

RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \
&& apt-get -y install --no-install-recommends build-essential ca-certificates clang-format-15 clang-tidy-15 cmake curl git libzstd-dev ninja-build python3 python3-pip ssh sudo wabt wget zlib1g-dev wget git-lfs zlib1g-dev wget libffi-dev libncurses5-dev libncursesw5-dev libxml2-dev binaryen unzip

# RUN pip3 install cmake-format lit --no-cache-dir
# RUN cd /usr/bin/ && ln -s python3 python && ln -s clang-format-15 clang-format && ln -s clang-tidy-15 clang-tidy && ln -s run-clang-tidy-15 run-clang-tidy

RUN mkdir -p /opt
WORKDIR /opt

COPY install_llvm16.sh /opt/install_llvm16.sh
RUN chmod +x /opt/install_llvm16.sh

RUN wget https://github.com/llvm/llvm-project/releases/download/llvmorg-16.0.4/clang+llvm-16.0.4-x86_64-linux-gnu-ubuntu-22.04.tar.xz && /opt/install_llvm16.sh

RUN git clone https://github.com/emscripten-core/emsdk.git
WORKDIR /opt/emsdk
RUN ./emsdk install 3.1.69
RUN ./emsdk activate 3.1.69

RUN curl -sSf https://mirrors.ustc.edu.cn/misc/rustup-install.sh | sh -s -- -y
RUN bash -c ". /root/.cargo/env"
RUN bash -c ". ~/.cargo/env && rustup install 1.84.0 && rustup default 1.84.0"
WORKDIR /home/admin

WORKDIR /opt

RUN echo "export PATH=/opt/llvm16/bin:/opt:\$PATH" >> $HOME/.profile
RUN echo "export LLVM_SYS_160_PREFIX=/opt/llvm16" >> $HOME/.profile
ENV PATH=/opt/llvm16/bin:/opt:$PATH
ENV LLVM_SYS_160_PREFIX=/opt/llvm16

ENV RUSTUP_DIST_SERVER=https://mirrors.ustc.edu.cn/rust-static
ENV RUSTUP_UPDATE_ROOT=https://mirrors.ustc.edu.cn/rust-static/rustup
COPY install_rust.sh /opt/install_rust.sh
RUN chmod +x /opt/install_rust.sh
RUN /opt/install_rust.sh

RUN mkdir -p /root/.cargo && touch /root/.cargo/env
RUN echo "source \"$HOME/.cargo/env\"" >> $HOME/.profile

# install foundry
RUN curl -L https://foundry.paradigm.xyz | bash
ENV PATH=~/.foundry/bin:$PATH
RUN bash -c "source ~/.bashrc && foundryup"

WORKDIR /opt
7 changes: 7 additions & 0 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
// ...
// "build": { "dockerfile": "Dockerfile" },
"image": "dtvmdev1/dtvm-sol-dev-x64:main"
// ...
}

7 changes: 7 additions & 0 deletions .devcontainer/install_llvm16.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
#!/bin/bash
set -e
cd /opt
ls
tar -xvf clang+llvm-16.0.4-x86_64-linux-gnu-ubuntu-22.04.tar.xz
rm -rf clang+llvm-16.0.4-x86_64-linux-gnu-ubuntu-22.04.tar.xz
mv clang+llvm-16.0.4-x86_64-linux-gnu-ubuntu-22.04 llvm16
6 changes: 6 additions & 0 deletions .devcontainer/install_rust.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
#!/bin/bash
set -e
curl -sSf https://mirrors.ustc.edu.cn/misc/rustup-install.sh | sh -s -- -y
. "$HOME/.cargo/env"
rustup install 1.84.0
rustup default 1.84.0
1 change: 1 addition & 0 deletions .github/workflows/dtvm_sol_dev_docker_release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ jobs:
uses: docker/metadata-action@v4
with:
images: dtvmdev1/dtvm-sol-dev-x64
tags: 1.84.0
- name: Build and push Docker image
uses: docker/build-push-action@v3
with:
Expand Down
26 changes: 14 additions & 12 deletions .github/workflows/dtvm_sol_test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,15 @@ name: DTVM_SolSDK test CI

on:
push:
paths:
- 'examples/**'
- 'stdlib/**'
- 'src/**'
- 'Cargo.toml'
- '.gitmodules'
- '.gitattributes'
- '.ci/**'
- '.github/workflow/dtvm_sol_test.yml'
paths-ignore:
- 'docs/**'
- "*.md"
- ".gitignore"
pull_request:
paths-ignore:
- 'docs/**'
- "*.md"
- ".gitignore"
permissions:
contents: read

Expand All @@ -19,7 +19,7 @@ jobs:
name: Build and test DTVM_SolSDK on x86
runs-on: ubuntu-latest
container:
image: dtvmdev1/dtvm-sol-dev-x64:main
image: dtvmdev1/dtvm-sol-dev-x64:1.84.0
steps:
- name: Check out code
uses: actions/checkout@v3
Expand All @@ -44,12 +44,12 @@ jobs:

. "$HOME/.cargo/env"
export PATH=$HOME/.cargo/bin:$PATH

cd $CUR_PATH
export LLVM_SYS_160_PREFIX=/opt/llvm16
export LLVM_DIR=$LLVM_SYS_160_PREFIX/lib/cmake/llvm
export PATH=$LLVM_SYS_160_PREFIX/bin:$PATH

./download_deps.sh
make -f dev.makefile debug
cd examples/scripts
Expand Down Expand Up @@ -80,6 +80,8 @@ jobs:
./build.sh debug
./test_my_token.sh
./test_token_factory.sh
./build_forge_test.sh debug
./test_forge_test.sh

echo "testing examples/perf_example"
cd $CUR_PATH/examples/perf_example
Expand Down
21 changes: 12 additions & 9 deletions .github/workflows/nightly_release.yml
Original file line number Diff line number Diff line change
@@ -1,23 +1,26 @@
name: nightly-release
name: DTVM_SolSDK Nightly Release

on:
workflow_dispatch:
paths:
- '**'
permissions:
contents: write

jobs:
Artifact: # Pack and publish to Github Artifact
build_and_package: # Renamed job for clarity
name: Build and Package DTVM_SolSDK Nightly # Updated name
runs-on: ubuntu-latest
container:
image: dtvmdev1/dtvm-sol-dev-x64:main
image: dtvmdev1/dtvm-sol-dev-x64:1.84.0
steps:
- name: Check out code
uses: actions/checkout@v3
uses: actions/checkout@v4 # Use v4
with:
lfs: true
submodules: "true"
- name: Build the Release
working-directory: .
working-directory: .
run: |
export CUR_PATH=$(pwd)
# install rust
Expand All @@ -32,10 +35,10 @@ jobs:

./download_deps.sh
.ci/package.sh
# there should be a DTVM_SolSDK-*.tar.gz file under the target/release directory
# Assuming package.sh creates DTVM_SolSDK-*-nightly.tar.gz in target/release
ls target/release
- name: Upload Artifact to Github Releases
- name: Upload Nightly Artifact # Renamed step
uses: actions/upload-artifact@v4
with:
name: DTVM_SolSDK-Linux-nightly.tar.gz.zip
path: target/release/DTVM_SolSDK-*.tar.gz
name: DTVM_SolSDK-nightly-latest # Updated artifact name
path: target/release/DTVM_SolSDK-*-nightly.tar.gz # Updated path assuming this name
41 changes: 31 additions & 10 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -1,18 +1,22 @@
name: Release
name: DTVM_SolSDK Release

on:
push:
tags:
- "v*"
- 'v*.*.*'

permissions:
contents: write

jobs:
Artifact: # Pack and publish to Github Artifact
build_release_and_upload:
name: Build, Create Release, and Upload Artifact
runs-on: ubuntu-latest
container:
image: dtvmdev1/dtvm-sol-dev-x64:main
image: dtvmdev1/dtvm-sol-dev-x64:1.84.0
steps:
- name: Check out code
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
lfs: true
submodules: "true"
Expand All @@ -32,10 +36,27 @@ jobs:

./download_deps.sh
.ci/package.sh
# there should be a DTVM_SolSDK-*.tar.gz file under the target/release directory
# Assuming package.sh creates DTVM_SolSDK-*-nightly.tar.gz in target/release
ls target/release
- name: Upload Artifact to Github Releases
uses: actions/upload-artifact@v4
- name: Prepare Release Artifact
id: prepare_artifact
working-directory: target/release
run: |
RELEASE_VERSION=${{ github.ref_name }}
ARTIFACT_NAME="DTVM_SolSDK-${RELEASE_VERSION}-ubuntu22.04.tar.gz"
# Assuming the script generates a file like DTVM_SolSDK.nightly.latest.tar.gz or similar
# If the script generates a versioned file directly, adjust this mv command
GENERATED_ARTIFACT=$(ls DTVM_SolSDK-*-nightly.tar.gz | head -n 1)
echo "Found artifact: $GENERATED_ARTIFACT"
mv "${GENERATED_ARTIFACT}" "${ARTIFACT_NAME}"
echo "artifact_path=$(pwd)/${ARTIFACT_NAME}" >> $GITHUB_OUTPUT
echo "artifact_name=${ARTIFACT_NAME}" >> $GITHUB_OUTPUT

- name: Create GitHub Release
uses: softprops/action-gh-release@v2
with:
name: DTVM_SolSDK-linux-amd64.tar.gz.zip
path: target/release/DTVM_SolSDK-*.tar.gz
files: ${{ steps.prepare_artifact.outputs.artifact_path }}
tag_name: ${{ github.ref_name }}
name: Release ${{ github.ref_name }}
body: "Release for DTVM_SolSDK version ${{ github.ref_name }}"
prerelease: true
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -27,3 +27,6 @@
/lib
/venv
/node_modules

# coverage
*.profraw
Loading
Loading