Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
162 commits
Select commit Hold shift + click to select a range
1faa072
chore: update to stable2506
evilrobot-01 Jun 17, 2025
3723ed5
refactor(pallets): remove deprecated runtimeevent config item
evilrobot-01 Jun 17, 2025
a1c4546
refactor(runtime/common): add missing weights after sdk uplift
evilrobot-01 Jun 17, 2025
5e205af
refactor(runtime/common): remove unused import
evilrobot-01 Jun 17, 2025
2a3e70c
refactor(devnet): update revive api implementation
evilrobot-01 Jun 17, 2025
d248514
refactor(devnet): add relayparentoffset config item
evilrobot-01 Jun 17, 2025
de81d3c
refactor(devnet): update assets config
evilrobot-01 Jun 17, 2025
86a9b8c
refactor(devnet): update revive config
evilrobot-01 Jun 17, 2025
284e037
refactor(devnet): update api config
evilrobot-01 Jun 17, 2025
f2d770b
refactor(devnet): remove unused imports
evilrobot-01 Jun 17, 2025
45505bc
refactor(testnet): add relayparentoffset config item
evilrobot-01 Jun 17, 2025
84f95d6
refactor(testnet): update api config
evilrobot-01 Jun 17, 2025
b3daf81
refactor(testnet): update revive config
evilrobot-01 Jun 17, 2025
66f5446
refactor(testnet): update governance config
evilrobot-01 Jun 17, 2025
7c1459e
refactor(testnet): update revive api implementation
evilrobot-01 Jun 17, 2025
c3b5173
refactor(mainnet): update revive api implementation
evilrobot-01 Jun 17, 2025
a395e6e
refactor(mainnet): update governance config
evilrobot-01 Jun 17, 2025
8b13161
refactor(mainnet): update revive config
evilrobot-01 Jun 17, 2025
2ebd03a
refactor(mainnet): add relayparentoffset config item
evilrobot-01 Jun 17, 2025
89ce03d
refactor(mainnet): replace fee_asset with worst_case_for_trader
evilrobot-01 Jun 17, 2025
56b0d85
refactor(node): add shared trie cache parameter to storage benchmarki…
evilrobot-01 Jun 17, 2025
10d6d11
refactor(node): silence clippy warning
evilrobot-01 Jun 17, 2025
7d33e20
refactor(node): address service breaking changes
evilrobot-01 Jun 17, 2025
85980e6
chore: update cargo.lock
evilrobot-01 Jun 17, 2025
01c58c7
chore(api): update cargo.lock
evilrobot-01 Jun 17, 2025
500ca56
refactor(pallets): remove deprecated runtimeevent config item
evilrobot-01 Jun 17, 2025
942bdcf
test(fungibles): disambiguate allowance
evilrobot-01 Jun 17, 2025
ac0790a
test(mainnet): update revive integrity tests
evilrobot-01 Jun 17, 2025
9168f9b
build(deps): bump frame-metadata to resolve dependency clash
evilrobot-01 Jun 17, 2025
4ff7f3c
ci: restore runtime-benchmarks checks
evilrobot-01 Jun 17, 2025
0eda353
test(mainnet): update metadata integrity test after
evilrobot-01 Jun 17, 2025
9dba349
refactor(runtimes): use max_pov_size constant
evilrobot-01 Jun 17, 2025
e1ed808
test(integration-tests): updated expected ref_time for xcm attempted …
evilrobot-01 Jun 17, 2025
488bdd5
test(testnet): update metadata integrity test after
evilrobot-01 Jun 17, 2025
034d733
build(deps): update stable2506 revision
evilrobot-01 Jun 25, 2025
88d4fee
chore: update cargo.lock
evilrobot-01 Jun 25, 2025
5f97631
refactor(runtime): update revive config after revision change
evilrobot-01 Jun 25, 2025
3b8b49b
build(deps): disable default-features for serde
May 8, 2025
ad6f707
feat(api-vnext): new 'pallet' to provide fungible api(s) via precompiles
May 28, 2025
458b2fb
feat(devnet): add fungibles precompiles
May 28, 2025
bd5d0ef
build(deps): propagate runtime-benchmarks feature
May 28, 2025
922f766
build: disable doctest based on incompatible comments in .sol files
May 28, 2025
7b205e8
fix(precompiles/interfaces): use calldata specifiers for string
Jun 4, 2025
65b4f3f
style(precompiles/interfaces): formatting
Jun 4, 2025
8603816
refactor: use upcoming assetidextractor from pallet-assets
Jun 4, 2025
9337963
refactor(api-vnext): resolve clippy warnings
Jun 4, 2025
4917aae
style: formatting
Jun 4, 2025
af8d53d
feat(pop-api): add initial fungibles api and example
Jun 6, 2025
8de1e93
chore: rename example directory
Jun 9, 2025
0f15ad9
docs: remove trailing slash in comment
Jun 13, 2025
d9961dd
refactor(pop-api): improvements to implementation
Jun 13, 2025
16d1a27
test(devnet): improvements to fungibles precompile contract test
Jun 13, 2025
7cdd5b5
refactor(pop-api): remove redundant code for manual precompile calls
Jun 13, 2025
5e5be28
refactor(fungibles): ensure feature parity with prior implementation
Jun 14, 2025
436df67
refactor(pop-api): use explicit sol encoding for precompile contract
Jun 16, 2025
961eac2
docs(examples): update parameter description based on review comment
Jun 16, 2025
0a2db35
docs(api): add public function doc
Jun 16, 2025
dca987c
docs(example): update constructor parameter doc style to match messages
Jun 16, 2025
4f86e78
docs(example): use account instead of address in doc comments
Jun 16, 2025
1f91c93
docs(example): add todo prefix to comment
Jun 16, 2025
b9a4153
docs(api): add public function doc
Jun 16, 2025
7c887eb
test(api): remove additional check deemed unnecessary
Jun 16, 2025
8729836
docs(api): add fungibles doc comments
evilrobot-01 Jun 17, 2025
748f708
refactor(precompiles): add license and version requirement
evilrobot-01 Jun 18, 2025
cdf91f2
refactor(precompiles): update return types after rebase
evilrobot-01 Jun 18, 2025
0da29f2
test(api): resolve breaking changes after rebase
evilrobot-01 Jun 18, 2025
84ffd30
test(api): improve fungibles precompile tests after rebase
evilrobot-01 Jun 18, 2025
f522024
test(api): improve erc20 precompile tests after rebase
evilrobot-01 Jun 18, 2025
3ab1745
test(api): define precompile constants within mock runtime
evilrobot-01 Jun 18, 2025
1f6cf52
refactor(api): use asset id extractors from pallet-assets
evilrobot-01 Jun 18, 2025
0f2ed8a
test(devnet): resolve breaking changes after rebase
evilrobot-01 Jun 18, 2025
ac05cb7
refactor(api): import soltype
evilrobot-01 Jun 18, 2025
752d677
refactor(api): correct fungibles trait parameter names
evilrobot-01 Jun 18, 2025
50041b3
refactor(devnet): simplify selector implementations
evilrobot-01 Jun 18, 2025
b3e2c9d
test(api): add initial integration tests
evilrobot-01 Jun 19, 2025
73967d9
ci: add job for pop-api-vnext integration tests
evilrobot-01 Jun 19, 2025
c526787
test(api): minimal implementation of transfer test
evilrobot-01 Jun 19, 2025
134a907
chore: update cargo.lock
evilrobot-01 Jun 19, 2025
5994adc
ci: set rustflags for pop-api-vnext integration tests
evilrobot-01 Jun 19, 2025
19bf3fb
test(runtime): disable precompiles with contract test
evilrobot-01 Jun 19, 2025
80f5d84
test(api): add transfer_from test
evilrobot-01 Jun 19, 2025
928f5ff
ci: exclude pop-api-integration-tests from test and coverage jobs
evilrobot-01 Jun 19, 2025
30f9250
test(api): add approve test
evilrobot-01 Jun 19, 2025
1f9fdb2
test(api): add contract.account_id() helper
evilrobot-01 Jun 19, 2025
6184341
test(api): add increase/decrease allowance tests
evilrobot-01 Jun 19, 2025
c270b77
refactor(api): separate out fungibles errors module
evilrobot-01 Jun 19, 2025
a4b4da0
feat(api): add fungibles events
evilrobot-01 Jun 19, 2025
0456b84
test(api): add create test
evilrobot-01 Jun 19, 2025
01d596d
test(api): add start_destroy test
evilrobot-01 Jun 19, 2025
429bb1a
test(api): make contract instantiation origin explicit to simplify api
evilrobot-01 Jun 19, 2025
e7f20db
test(api): add set_metadata test
evilrobot-01 Jun 19, 2025
ce2fcf9
test(api): update expectation message to .polkavm
evilrobot-01 Jun 20, 2025
3477935
test(api): add clear_metadata test
evilrobot-01 Jun 20, 2025
7790ccb
test(api): reuse sol types to ease encoding
evilrobot-01 Jun 20, 2025
b58b67b
test(api): add mint test
evilrobot-01 Jun 20, 2025
235aadc
test(api): add burn test
evilrobot-01 Jun 20, 2025
76dd4f9
test(api): add create with instantiation test
evilrobot-01 Jun 20, 2025
dae9917
feat(api): initial precompile benchmarking
evilrobot-01 Jun 24, 2025
f00b70f
refactor(api): charge weight for increase/decrease allowance calls
evilrobot-01 Jun 24, 2025
7c9722a
refactor(api): improve decrease allowance implementation
evilrobot-01 Jun 24, 2025
519e3cd
feat(api): add clear_metadata benchmark
evilrobot-01 Jun 24, 2025
6e34cfb
chore: update cargo.lock
evilrobot-01 Jun 24, 2025
f10723d
feat(api): add set_metadata benchmark
evilrobot-01 Jun 24, 2025
6db9046
feat(api): add start_destroy benchmark
evilrobot-01 Jun 24, 2025
26cb860
feat(api): add create benchmark
evilrobot-01 Jun 25, 2025
6a75708
refactor(api): move benchmark assertion into block
evilrobot-01 Jun 25, 2025
5b9f2d8
refactor(api): use call_precompile helper
evilrobot-01 Jun 25, 2025
4887070
feat(api): add mint benchmark
evilrobot-01 Jun 25, 2025
4c2b33e
feat(api): add burn benchmark
evilrobot-01 Jun 25, 2025
f6be7e5
feat(api): add transfer benchmark
evilrobot-01 Jun 25, 2025
f0dfab2
feat(api): add transfer_from benchmark
evilrobot-01 Jun 25, 2025
56974d2
refactor(api/fungibles/benchmarking): add copy trait bound to asset id
evilrobot-01 Jun 25, 2025
63dd8b8
refactor(api/fungibles): refund appropriate burn weight on failure
evilrobot-01 Jun 25, 2025
187d2f4
style(api/fungibles): formatting
evilrobot-01 Jun 25, 2025
a54a161
refactor(api/fungibles/erc20): charge benchmarked weight
evilrobot-01 Jun 25, 2025
9d6e22f
chore(api): add cargo.lock
evilrobot-01 Jun 26, 2025
fcb9a99
style: formatting after rebase
evilrobot-01 Jun 26, 2025
2a85f12
test(devnet): set gas limit now that precompiles charge weight
evilrobot-01 Jun 26, 2025
55bc37a
test(devnet): remove contract and selector integration tests as avail…
evilrobot-01 Jun 26, 2025
6f0f374
test(api): add selectors test
evilrobot-01 Jun 26, 2025
58daa4e
chore: update cargo.lock
evilrobot-01 Jun 26, 2025
95c36a6
test(api): add initial tests
evilrobot-01 Jun 26, 2025
91f1861
test(api): remove unnecessary helper
evilrobot-01 Jun 26, 2025
cbba69b
test(api): add increase/decrease tests
evilrobot-01 Jun 26, 2025
78ab2ab
test(api): add create test
evilrobot-01 Jun 26, 2025
5ab8e72
test(api): add start_destroy test
evilrobot-01 Jun 26, 2025
964e78c
test(api): add set_metadata test
evilrobot-01 Jun 26, 2025
6c57aa6
test(api): add clear_metadata test
evilrobot-01 Jun 26, 2025
a3a4bfe
test(api): add mint test
evilrobot-01 Jun 26, 2025
5a03f67
test(api): add burn test
evilrobot-01 Jun 26, 2025
68e977f
test(api): add exists test
evilrobot-01 Jun 26, 2025
1551f5b
refactor(api): share total_supply implementation
evilrobot-01 Jun 26, 2025
ed72517
refactor(api): share balance implementation
evilrobot-01 Jun 26, 2025
a856e3c
refactor(api): share allowance implementation
evilrobot-01 Jun 26, 2025
024a597
refactor(api): share metadata implementation
evilrobot-01 Jun 26, 2025
4110d6e
test(api): explicitly endow when more than ed required
evilrobot-01 Jun 26, 2025
0576f76
refactor(api): reorganize for versioning
evilrobot-01 Jun 26, 2025
c939eff
style: formatting
evilrobot-01 Jun 26, 2025
a5a7599
build(deps): update ink after sol-abi improvements merged
evilrobot-01 Jun 26, 2025
8edb679
ci: explicitly cache pallet-revive-fixtures output
evilrobot-01 Jun 26, 2025
a6fd144
test(api/integration-tests): fix imports after refactor
evilrobot-01 Jun 27, 2025
543c9d4
ci: remove cached pallet-revive fixtures
evilrobot-01 Jun 27, 2025
cc40684
ci: only list if directory exists
evilrobot-01 Jun 27, 2025
f0e62ef
ci(init): make crate caching configurable
evilrobot-01 Jun 27, 2025
5adb011
ci(init): bump rust-cache version
evilrobot-01 Jun 27, 2025
ccc2878
refactor(pallets/api): address clippy warning
evilrobot-01 Jun 27, 2025
a3a81d0
docs(api): add missing precompile index comment
evilrobot-01 Jun 27, 2025
d4c546d
refactor(pallets/api): ensure weight charge updated on both approve s…
evilrobot-01 Jun 27, 2025
4f6fe4b
refactor(pallets-api): update event handling based on reference
evilrobot-01 Jun 27, 2025
ef7a1b9
docs: remove todo comment
evilrobot-01 Jun 27, 2025
d8e4a31
test(api/integration-tests): constructor encoding
evilrobot-01 Jun 30, 2025
78ba23e
docs(api): fix transfer comment
evilrobot-01 Jul 1, 2025
49992fb
docs(api): port readmes
evilrobot-01 Jul 1, 2025
03f2ffa
feat: nonfungibles precompiles init code
chungquantin Jul 2, 2025
3994fd0
feat: update erc721 precompile implementation
tin-thebc Jul 9, 2025
79c49b1
feat: implement v0
tin-thebc Jul 10, 2025
322373b
chore: add tests for shared methods
chungquantin Jul 10, 2025
03d16b3
chore: add tests for pallet methods
chungquantin Jul 11, 2025
aba7a84
chore: add tests for v0::{approve_0,approve_1}
chungquantin Jul 11, 2025
39f0edd
feat: update tests for nonfungibles/precompiles/v0.rs
tin-thebc Jul 16, 2025
02021db
feat: benchmarking partially
tin-thebc Jul 16, 2025
c588340
feat: benchmarking partially
tin-thebc Jul 16, 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
19 changes: 14 additions & 5 deletions .github/actions/init/action.yml
Original file line number Diff line number Diff line change
@@ -1,8 +1,16 @@
name: Initialize
description: This action initializes a runner for use in other actions.
inputs:
cache-all-crates:
description: Whether all crates should be cached, or only dependent crates. Defaults to true.
default: "true"
cache-directories:
description: Additional non-workspace directories to be cached, separated by newlines.
cache-on-failure:
description: Cache even if the build fails. Defaults to false.
default: "true"
cache-key:
description: "The key to be used for the cache"
description: An additional optional key to be added. Useful for jobs utilizing a matrix.

runs:
using: "composite"
Expand All @@ -25,8 +33,9 @@ runs:
sudo rm -rf "$AGENT_TOOLSDIRECTORY"

- name: Rust Cache
uses: Swatinem/rust-cache@v2.7.8
uses: Swatinem/rust-cache@v2.8.0
with:
cache-on-failure: true
cache-all-crates: true
key: ${{ inputs.cache-key }}
cache-all-crates: ${{ inputs.cache-all-crates }}
cache-directories: ${{ inputs.cache-directories }}
cache-on-failure: ${{ inputs.cache-on-failure }}
key: ${{ inputs.cache-key }}
44 changes: 30 additions & 14 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@ name: ci

on:
push:
branches: [ main ]
branches: [main]
pull_request:
types: [ opened, synchronize, reopened, ready_for_review ]
types: [opened, synchronize, reopened, ready_for_review]

concurrency:
# Cancel any in-progress jobs for the same pull request
Expand Down Expand Up @@ -51,22 +51,26 @@ jobs:
- uses: actions/checkout@v4

- uses: "./.github/actions/init"
with:
# TODO: remove once pallet-revive-fixtures build cache issue resolved
cache-all-crates: false

- name: Check Build
# TODO: restore runtime-benchmarks once revive benchmarks resolved
run: |
cargo check --release --locked --workspace --exclude integration-tests --features=try-runtime
cargo check --release --locked --workspace --exclude integration-tests --features=runtime-benchmarks,try-runtime

check-ismp:
needs: lint
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: "./.github/actions/init"
with:
# TODO: remove once pallet-revive-fixtures build cache issue resolved
cache-all-crates: false
- name: Check Build with ISMP
# TODO: restore runtime-benchmarks once revive benchmarks resolved
run: |
cargo check --release --locked --workspace --exclude integration-tests --features=ismp,try-runtime
cargo check --release --locked --workspace --exclude integration-tests --features=ismp,runtime-benchmarks,try-runtime

clippy:
needs: lint
Expand All @@ -85,8 +89,7 @@ jobs:
uses: actions-rs/clippy-check@v1
with:
token: ${{ secrets.GITHUB_TOKEN }}
# TODO: restore runtime-benchmarks once revive benchmarks resolved
args: --release --locked --workspace --exclude integration-tests
args: --release --locked --workspace --exclude integration-tests --features=runtime-benchmarks

clippy-ismp:
needs: lint
Expand All @@ -105,8 +108,7 @@ jobs:
uses: actions-rs/clippy-check@v1
with:
token: ${{ secrets.GITHUB_TOKEN }}
# TODO: restore runtime-benchmarks once revive benchmarks resolved
args: --release --locked --workspace --exclude integration-tests --features=ismp
args: --release --locked --workspace --exclude integration-tests --features=runtime-benchmarks,ismp

test:
needs: lint
Expand All @@ -117,8 +119,7 @@ jobs:
- uses: "./.github/actions/init"

- name: Run tests
# TODO: restore runtime-benchmarks once revive benchmarks resolved
run: cargo test --release --locked --workspace --exclude integration-tests --exclude pop-api-integration-tests
run: cargo test --release --locked --workspace --exclude integration-tests --exclude pop-api-integration-tests --exclude pop-api-vnext-integration-tests --features=runtime-benchmarks

integration-tests:
needs: lint
Expand Down Expand Up @@ -155,6 +156,19 @@ jobs:
- name: Run API integration tests
run: cargo test -p pop-api-integration-tests --release --locked --features "${{ matrix.features }}"

api-vnext-integration-tests:
needs: lint
runs-on: ubuntu-latest
env:
RUSTFLAGS: '--cfg ink_abi="all"'
steps:
- uses: actions/checkout@v4

- uses: "./.github/actions/init"

- name: Run API integration tests
run: cargo test -p pop-api-vnext-integration-tests --release --locked

api-tests:
runs-on: ubuntu-latest
steps:
Expand Down Expand Up @@ -194,13 +208,15 @@ jobs:
- uses: actions/checkout@v4

- uses: "./.github/actions/init"
with:
# TODO: remove once pallet-revive-fixtures build cache issue resolved
cache-all-crates: false

- name: Install cargo-llvm-cov
uses: taiki-e/install-action@cargo-llvm-cov

- name: Generate code coverage
# TODO: restore runtime-benchmarks once revive benchmarks resolved
run: cargo llvm-cov --features=try-runtime,ismp --workspace --exclude integration-tests --exclude pop-api-integration-tests --lib --bins --codecov --output-path codecov.json
run: cargo llvm-cov --features=runtime-benchmarks,try-runtime,ismp --workspace --exclude integration-tests --exclude pop-api-integration-tests --exclude pop-api-vnext-integration-tests --lib --bins --codecov --output-path codecov.json

- name: Upload to codecov.io
uses: codecov/codecov-action@v4
Expand Down
Loading