* calculate MainPod id in a dynamic-friendly way The MainPod id is now calculated with front padding and a fixed size independent of max_public_statements so that introduction gadgets can be verified by a MainPod while paying only for the number of statements they use. This is because with front padding of none-statements we can precompute the poseidon state corresponding to absorbing all the padding statements and only pay constraints for the non-padding statements. The id is calculated as follows: `id = hash(serialize(reverse(statements || none-statements)))` * add time feature and disable timing by default * apply suggestions from @arnaucube * link issues in todos
27 lines
600 B
YAML
27 lines
600 B
YAML
name: Rust Build with features
|
|
|
|
on:
|
|
pull_request:
|
|
branches: [ main ]
|
|
types: [ready_for_review, opened, synchronize, reopened]
|
|
push:
|
|
branches: [ main ]
|
|
|
|
jobs:
|
|
test:
|
|
if: github.event.pull_request.draft == false
|
|
name: Rust tests
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- name: Set up Rust
|
|
uses: actions-rs/toolchain@v1
|
|
with:
|
|
toolchain: stable
|
|
- name: Build default
|
|
run: cargo build
|
|
- name: Build metrics
|
|
run: cargo build --features metrics
|
|
- name: Build time
|
|
run: cargo build --features time
|
|
|