Skip to content
Open
Show file tree
Hide file tree
Changes from 51 commits
Commits
Show all changes
53 commits
Select commit Hold shift + click to select a range
bb59c61
add wasm test
open-junius Oct 27, 2025
35a8d12
initiate is ok
open-junius Oct 28, 2025
e7fa965
add stake is ok
open-junius Oct 30, 2025
6526146
add all messages
open-junius Oct 30, 2025
d2ba633
install cargo contract
open-junius Oct 30, 2025
75b5277
add ink via npm
open-junius Oct 30, 2025
f6abf46
update npm command
open-junius Oct 30, 2025
d9ccdf9
update yarn install
open-junius Oct 31, 2025
0807a59
try without ink papi
open-junius Oct 31, 2025
02904f8
try different case
open-junius Oct 31, 2025
d66686a
different case
open-junius Oct 31, 2025
7bc39ff
update yarn lock
open-junius Oct 31, 2025
b56d360
fix package issue
open-junius Oct 31, 2025
91b5551
try add stake
open-junius Oct 31, 2025
ee2a710
add wasm file
open-junius Oct 31, 2025
705a636
remove stake is ok
open-junius Oct 31, 2025
a084a8c
add one more successful test
open-junius Oct 31, 2025
e40c6ba
Merge branch 'devnet-ready' into wasm-contract-test
open-junius Oct 31, 2025
0aa31ff
more successful test case
open-junius Oct 31, 2025
f9f1acf
all extrinsic are ok
open-junius Nov 2, 2025
cd0f7e2
clean up code
open-junius Nov 3, 2025
c17991d
Merge branch 'devnet-ready' into wasm-contract-test
open-junius Nov 6, 2025
3da239f
add link for issue
open-junius Nov 6, 2025
65b7aad
Merge branch 'devnet-ready' into wasm-contract-test
open-junius Nov 12, 2025
8335d12
just run failed test case
open-junius Nov 13, 2025
c843114
Merge branch 'devnet-ready' into wasm-contract-test
open-junius Nov 13, 2025
fc9c508
check node run error
open-junius Nov 13, 2025
89aae68
more time to build
open-junius Nov 13, 2025
5231ad6
run it background
open-junius Nov 13, 2025
d976a21
one more test
open-junius Nov 13, 2025
7013f55
more tests
open-junius Nov 13, 2025
371fb59
add all tests
open-junius Nov 13, 2025
246d4cf
run all tests
open-junius Nov 13, 2025
bc8ca66
clean code
open-junius Nov 13, 2025
fab7102
fix wrong storage name
open-junius Nov 13, 2025
40d5e54
bump version
open-junius Nov 13, 2025
01c6932
revert local change
open-junius Nov 13, 2025
ba74cee
remove types definition
open-junius Nov 24, 2025
db8a81c
rebase pr
open-junius Nov 24, 2025
578b257
rename e2e tests
open-junius Nov 24, 2025
718bcfd
fix folder name
open-junius Nov 24, 2025
d99f205
update doc for Ink part
open-junius Nov 24, 2025
6107d82
bump version
open-junius Nov 26, 2025
dbc7fb5
Merge branch 'devnet-ready' into wasm-contract-test
open-junius Nov 26, 2025
47fc351
merge devnet-ready
open-junius Dec 3, 2025
1c8bf91
query from contract is ok
open-junius Dec 3, 2025
3992598
upgrade papi version
open-junius Dec 3, 2025
dda3890
fix missed import
open-junius Dec 3, 2025
6a0acfa
add second subnet
open-junius Dec 3, 2025
a25e62e
fix unit test and compile warning
open-junius Dec 3, 2025
8ed3ba6
bump version
open-junius Dec 4, 2025
10d5112
fix conflict
open-junius Dec 5, 2025
5b8537f
fix conflict
open-junius Dec 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
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: EVM E2E Tests
name: Contract E2E Tests

on:
pull_request:
Expand Down Expand Up @@ -52,10 +52,10 @@ jobs:
- name: Run tests
uses: nick-fields/retry@v3
with:
timeout_minutes: 60
timeout_minutes: 90
max_attempts: 3
retry_wait_seconds: 60
command: |
cd ${{ github.workspace }}
npm install --global yarn
./evm-tests/run-ci.sh
./contract-tests/run-ci.sh
File renamed without changes.
8 changes: 6 additions & 2 deletions evm-tests/README.md → contract-tests/README.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,16 @@
# type-test

The evm-tests folder includes all typescript code to test the basic EVM function
The contract-tests folder includes all typescript code to test the basic EVM function
like token transfer, and all precompile contracts in Subtensor. It is
implemented in typescript, use both ethers and viem lib to interact with
contracts. The polkadot API is used to call extrinsic, get storage in Subtensor
. The developers can use it to verify the code change in precompile contracts.

It is also included in the CI process, all test cases are executed for new
The Ink contract tests also are included in the contract-tests folder.
There is an Ink project in the bittensor folder, which include all functions defined
in the runtime extension. The test file for it is wasm.contract.test.ts.

The whole test process is also included in the CI, all test cases are executed for new
commit. CI flow can get catch any failed test cases. The polkadot API get the
latest metadata from the runtime, the case also can find out any incompatibility
between runtime and precompile contracts.
Expand Down
9 changes: 9 additions & 0 deletions contract-tests/bittensor/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Ignore build artifacts from the local tests sub-crate.
/target/

# Ignore backup files creates by cargo fmt.
**/*.rs.bk

# Remove Cargo.lock when creating an executable, leave it for libraries
# More information here http://doc.crates.io/guide.html#cargotoml-vs-cargolock
Cargo.lock
30 changes: 30 additions & 0 deletions contract-tests/bittensor/Cargo.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
[workspace]

[package]
name = "bittensor"
version = "0.1.0"
authors = ["[your_name] <[your_email]>"]
edition = "2021"

[dependencies]
ink = { version = "5.1.1", default-features = false }
parity-scale-codec = { version = "3.0.0", default-features = false }
serde = { version = "1.0.228", default-features = false }
subtensor-runtime-common = { path = "../../common", default-features = false }
[dev-dependencies]
ink_e2e = { version = "5.1.1" }

[lib]
path = "lib.rs"

[features]
default = ["std"]
std = [
"ink/std",
"parity-scale-codec/std",
"serde/std",
"subtensor-runtime-common/std",
]

ink-as-dependency = []
e2e-tests = []
Loading
Loading