├── .github └── workflows │ ├── build.yaml │ └── deploy_watcher_prover.yaml ├── .gitignore ├── LICENSE-APACHE ├── LICENSE-MIT ├── Makefile ├── README.md ├── docker-compose.yml ├── generate-inventory.py ├── infrastructure ├── .gitignore ├── Makefile ├── README.md ├── ansible │ ├── sequencer │ │ ├── generate-inventory.py │ │ └── playbooks │ │ │ ├── files │ │ │ └── parameters.json │ │ │ ├── from_ami_sequencer_node.yaml │ │ │ ├── sequencer_node.yaml │ │ │ └── templates │ │ │ └── sequencer.service.j2 │ └── watcher_prover │ │ ├── inventory.yaml │ │ └── playbooks │ │ ├── deployment.yaml │ │ ├── server_setup.yaml │ │ └── templates │ │ ├── .env.j2 │ │ └── watcher_prover.service.j2 └── terraform │ ├── example_sequencer_nodes │ ├── main.tf │ └── providers.tf │ ├── modules │ └── aws_ec2_cluster │ │ ├── ec2.tf │ │ ├── iam.tf │ │ ├── security_group.tf │ │ ├── variables.tf │ │ └── vpc.tf │ └── watcher_prover │ ├── main.tf │ └── providers.tf ├── kraken.jpeg ├── sequencer ├── .dockerignore ├── .gitignore ├── Cargo.toml ├── Dockerfile ├── Makefile ├── README.md ├── benchmark │ ├── .gitignore │ ├── benchmark │ │ ├── __init__ │ │ ├── aggregate.py │ │ ├── commands.py │ │ ├── config.py │ │ ├── instance.py │ │ ├── local.py │ │ ├── logs.py │ │ ├── plot.py │ │ ├── remote.py │ │ ├── settings.py │ │ └── utils.py │ ├── fabfile.py │ └── requirements.txt ├── cairo_programs │ ├── erc20.cairo │ ├── erc20.sierra │ ├── fact_contract.cairo │ ├── fact_contract.casm │ ├── fib_contract.cairo │ └── fib_contract.casm ├── config │ ├── parameters.json │ └── scripts │ │ ├── config.py │ │ └── generate_committee.py ├── consensus │ ├── Cargo.toml │ └── src │ │ ├── aggregator.rs │ │ ├── config.rs │ │ ├── consensus.rs │ │ ├── core.rs │ │ ├── error.rs │ │ ├── helper.rs │ │ ├── leader.rs │ │ ├── lib.rs │ │ ├── mempool.rs │ │ ├── messages.rs │ │ ├── proposer.rs │ │ ├── synchronizer.rs │ │ ├── tests │ │ ├── aggregator_tests.rs │ │ ├── common.rs │ │ ├── consensus_tests.rs │ │ ├── core_tests.rs │ │ ├── helper_tests.rs │ │ ├── messages_tests.rs │ │ ├── synchronizer_tests.rs │ │ └── timer_tests.rs │ │ └── timer.rs ├── crypto │ ├── Cargo.toml │ └── src │ │ ├── lib.rs │ │ └── tests │ │ └── crypto_tests.rs ├── execution_engine │ ├── Cargo.toml │ └── src │ │ ├── cairo_native_engine.rs │ │ ├── cairo_native_engine │ │ └── syscall_handler.rs │ │ ├── cairovm_engine.rs │ │ └── lib.rs ├── mempool │ ├── Cargo.toml │ └── src │ │ ├── batch_maker.rs │ │ ├── config.rs │ │ ├── helper.rs │ │ ├── lib.rs │ │ ├── mempool.rs │ │ ├── processor.rs │ │ ├── quorum_waiter.rs │ │ ├── synchronizer.rs │ │ └── tests │ │ ├── batch_maker_tests.rs │ │ ├── common.rs │ │ ├── helper_tests.rs │ │ ├── mempool_tests.rs │ │ ├── processor_tests.rs │ │ ├── quorum_waiter_tests.rs │ │ └── synchronizer_tests.rs ├── network │ ├── Cargo.toml │ └── src │ │ ├── error.rs │ │ ├── lib.rs │ │ ├── receiver.rs │ │ ├── reliable_sender.rs │ │ ├── simple_sender.rs │ │ └── tests │ │ ├── common.rs │ │ ├── receiver_tests.rs │ │ ├── reliable_sender_tests.rs │ │ └── simple_sender_tests.rs ├── node │ ├── Cargo.toml │ └── src │ │ ├── client.rs │ │ ├── config.rs │ │ ├── main.rs │ │ └── node.rs ├── rpc_endpoint │ ├── Cargo.toml │ └── src │ │ ├── lib.rs │ │ ├── rpc │ │ └── mod.rs │ │ └── starknet_backend.rs ├── sequencer │ ├── Cargo.toml │ └── src │ │ ├── lib.rs │ │ └── store │ │ ├── in_memory.rs │ │ ├── mod.rs │ │ ├── rocksdb.rs │ │ └── sled.rs ├── store │ ├── Cargo.toml │ └── src │ │ ├── lib.rs │ │ └── tests │ │ └── store_tests.rs └── types │ ├── Cargo.toml │ └── src │ ├── codegen.rs │ ├── lib.rs │ └── serializable_types.rs └── watcher_prover ├── .dockerignore ├── .formatter.exs ├── .gitignore ├── Dockerfile ├── Makefile ├── README.md ├── assets ├── css │ └── app.css ├── js │ └── app.js ├── tailwind.config.js └── vendor │ ├── heroicons │ ├── LICENSE.md │ ├── UPGRADE.md │ └── optimized │ │ ├── 20 │ │ └── solid │ │ │ ├── academic-cap.svg │ │ │ ├── adjustments-horizontal.svg │ │ │ ├── adjustments-vertical.svg │ │ │ ├── archive-box-arrow-down.svg │ │ │ ├── archive-box-x-mark.svg │ │ │ ├── archive-box.svg │ │ │ ├── arrow-down-circle.svg │ │ │ ├── arrow-down-left.svg │ │ │ ├── arrow-down-on-square-stack.svg │ │ │ ├── arrow-down-on-square.svg │ │ │ ├── arrow-down-right.svg │ │ │ ├── arrow-down-tray.svg │ │ │ ├── arrow-down.svg │ │ │ ├── arrow-left-circle.svg │ │ │ ├── arrow-left-on-rectangle.svg │ │ │ ├── arrow-left.svg │ │ │ ├── arrow-long-down.svg │ │ │ ├── arrow-long-left.svg │ │ │ ├── arrow-long-right.svg │ │ │ ├── arrow-long-up.svg │ │ │ ├── arrow-path-rounded-square.svg │ │ │ ├── arrow-path.svg │ │ │ ├── arrow-right-circle.svg │ │ │ ├── arrow-right-on-rectangle.svg │ │ │ ├── arrow-right.svg │ │ │ ├── arrow-small-down.svg │ │ │ ├── arrow-small-left.svg │ │ │ ├── arrow-small-right.svg │ │ │ ├── arrow-small-up.svg │ │ │ ├── arrow-top-right-on-square.svg │ │ │ ├── arrow-trending-down.svg │ │ │ ├── arrow-trending-up.svg │ │ │ ├── arrow-up-circle.svg │ │ │ ├── arrow-up-left.svg │ │ │ ├── arrow-up-on-square-stack.svg │ │ │ ├── arrow-up-on-square.svg │ │ │ ├── arrow-up-right.svg │ │ │ ├── arrow-up-tray.svg │ │ │ ├── arrow-up.svg │ │ │ ├── arrow-uturn-down.svg │ │ │ ├── arrow-uturn-left.svg │ │ │ ├── arrow-uturn-right.svg │ │ │ ├── arrow-uturn-up.svg │ │ │ ├── arrows-pointing-in.svg │ │ │ ├── arrows-pointing-out.svg │ │ │ ├── arrows-right-left.svg │ │ │ ├── arrows-up-down.svg │ │ │ ├── at-symbol.svg │ │ │ ├── backspace.svg │ │ │ ├── backward.svg │ │ │ ├── banknotes.svg │ │ │ ├── bars-2.svg │ │ │ ├── bars-3-bottom-left.svg │ │ │ ├── bars-3-bottom-right.svg │ │ │ ├── bars-3-center-left.svg │ │ │ ├── bars-3.svg │ │ │ ├── bars-4.svg │ │ │ ├── bars-arrow-down.svg │ │ │ ├── bars-arrow-up.svg │ │ │ ├── battery-0.svg │ │ │ ├── battery-100.svg │ │ │ ├── battery-50.svg │ │ │ ├── beaker.svg │ │ │ ├── bell-alert.svg │ │ │ ├── bell-slash.svg │ │ │ ├── bell-snooze.svg │ │ │ ├── bell.svg │ │ │ ├── bolt-slash.svg │ │ │ ├── bolt.svg │ │ │ ├── book-open.svg │ │ │ ├── bookmark-slash.svg │ │ │ ├── bookmark-square.svg │ │ │ ├── bookmark.svg │ │ │ ├── briefcase.svg │ │ │ ├── bug-ant.svg │ │ │ ├── building-library.svg │ │ │ ├── building-office-2.svg │ │ │ ├── building-office.svg │ │ │ ├── building-storefront.svg │ │ │ ├── cake.svg │ │ │ ├── calculator.svg │ │ │ ├── calendar-days.svg │ │ │ ├── calendar.svg │ │ │ ├── camera.svg │ │ │ ├── chart-bar-square.svg │ │ │ ├── chart-bar.svg │ │ │ ├── chart-pie.svg │ │ │ ├── chat-bubble-bottom-center-text.svg │ │ │ ├── chat-bubble-bottom-center.svg │ │ │ ├── chat-bubble-left-ellipsis.svg │ │ │ ├── chat-bubble-left-right.svg │ │ │ ├── chat-bubble-left.svg │ │ │ ├── chat-bubble-oval-left-ellipsis.svg │ │ │ ├── chat-bubble-oval-left.svg │ │ │ ├── check-badge.svg │ │ │ ├── check-circle.svg │ │ │ ├── check.svg │ │ │ ├── chevron-double-down.svg │ │ │ ├── chevron-double-left.svg │ │ │ ├── chevron-double-right.svg │ │ │ ├── chevron-double-up.svg │ │ │ ├── chevron-down.svg │ │ │ ├── chevron-left.svg │ │ │ ├── chevron-right.svg │ │ │ ├── chevron-up-down.svg │ │ │ ├── chevron-up.svg │ │ │ ├── circle-stack.svg │ │ │ ├── clipboard-document-check.svg │ │ │ ├── clipboard-document-list.svg │ │ │ ├── clipboard-document.svg │ │ │ ├── clipboard.svg │ │ │ ├── clock.svg │ │ │ ├── cloud-arrow-down.svg │ │ │ ├── cloud-arrow-up.svg │ │ │ ├── cloud.svg │ │ │ ├── code-bracket-square.svg │ │ │ ├── code-bracket.svg │ │ │ ├── cog-6-tooth.svg │ │ │ ├── cog-8-tooth.svg │ │ │ ├── cog.svg │ │ │ ├── command-line.svg │ │ │ ├── computer-desktop.svg │ │ │ ├── cpu-chip.svg │ │ │ ├── credit-card.svg │ │ │ ├── cube-transparent.svg │ │ │ ├── cube.svg │ │ │ ├── currency-bangladeshi.svg │ │ │ ├── currency-dollar.svg │ │ │ ├── currency-euro.svg │ │ │ ├── currency-pound.svg │ │ │ ├── currency-rupee.svg │ │ │ ├── currency-yen.svg │ │ │ ├── cursor-arrow-rays.svg │ │ │ ├── cursor-arrow-ripple.svg │ │ │ ├── device-phone-mobile.svg │ │ │ ├── device-tablet.svg │ │ │ ├── document-arrow-down.svg │ │ │ ├── document-arrow-up.svg │ │ │ ├── document-chart-bar.svg │ │ │ ├── document-check.svg │ │ │ ├── document-duplicate.svg │ │ │ ├── document-magnifying-glass.svg │ │ │ ├── document-minus.svg │ │ │ ├── document-plus.svg │ │ │ ├── document-text.svg │ │ │ ├── document.svg │ │ │ ├── ellipsis-horizontal-circle.svg │ │ │ ├── ellipsis-horizontal.svg │ │ │ ├── ellipsis-vertical.svg │ │ │ ├── envelope-open.svg │ │ │ ├── envelope.svg │ │ │ ├── exclamation-circle.svg │ │ │ ├── exclamation-triangle.svg │ │ │ ├── eye-dropper.svg │ │ │ ├── eye-slash.svg │ │ │ ├── eye.svg │ │ │ ├── face-frown.svg │ │ │ ├── face-smile.svg │ │ │ ├── film.svg │ │ │ ├── finger-print.svg │ │ │ ├── fire.svg │ │ │ ├── flag.svg │ │ │ ├── folder-arrow-down.svg │ │ │ ├── folder-minus.svg │ │ │ ├── folder-open.svg │ │ │ ├── folder-plus.svg │ │ │ ├── folder.svg │ │ │ ├── forward.svg │ │ │ ├── funnel.svg │ │ │ ├── gif.svg │ │ │ ├── gift-top.svg │ │ │ ├── gift.svg │ │ │ ├── globe-alt.svg │ │ │ ├── globe-americas.svg │ │ │ ├── globe-asia-australia.svg │ │ │ ├── globe-europe-africa.svg │ │ │ ├── hand-raised.svg │ │ │ ├── hand-thumb-down.svg │ │ │ ├── hand-thumb-up.svg │ │ │ ├── hashtag.svg │ │ │ ├── heart.svg │ │ │ ├── home-modern.svg │ │ │ ├── home.svg │ │ │ ├── identification.svg │ │ │ ├── inbox-arrow-down.svg │ │ │ ├── inbox-stack.svg │ │ │ ├── inbox.svg │ │ │ ├── information-circle.svg │ │ │ ├── key.svg │ │ │ ├── language.svg │ │ │ ├── lifebuoy.svg │ │ │ ├── light-bulb.svg │ │ │ ├── link.svg │ │ │ ├── list-bullet.svg │ │ │ ├── lock-closed.svg │ │ │ ├── lock-open.svg │ │ │ ├── magnifying-glass-circle.svg │ │ │ ├── magnifying-glass-minus.svg │ │ │ ├── magnifying-glass-plus.svg │ │ │ ├── magnifying-glass.svg │ │ │ ├── map-pin.svg │ │ │ ├── map.svg │ │ │ ├── megaphone.svg │ │ │ ├── microphone.svg │ │ │ ├── minus-circle.svg │ │ │ ├── minus-small.svg │ │ │ ├── minus.svg │ │ │ ├── moon.svg │ │ │ ├── musical-note.svg │ │ │ ├── newspaper.svg │ │ │ ├── no-symbol.svg │ │ │ ├── paint-brush.svg │ │ │ ├── paper-airplane.svg │ │ │ ├── paper-clip.svg │ │ │ ├── pause-circle.svg │ │ │ ├── pause.svg │ │ │ ├── pencil-square.svg │ │ │ ├── pencil.svg │ │ │ ├── phone-arrow-down-left.svg │ │ │ ├── phone-arrow-up-right.svg │ │ │ ├── phone-x-mark.svg │ │ │ ├── phone.svg │ │ │ ├── photo.svg │ │ │ ├── play-circle.svg │ │ │ ├── play-pause.svg │ │ │ ├── play.svg │ │ │ ├── plus-circle.svg │ │ │ ├── plus-small.svg │ │ │ ├── plus.svg │ │ │ ├── power.svg │ │ │ ├── presentation-chart-bar.svg │ │ │ ├── presentation-chart-line.svg │ │ │ ├── printer.svg │ │ │ ├── puzzle-piece.svg │ │ │ ├── qr-code.svg │ │ │ ├── question-mark-circle.svg │ │ │ ├── queue-list.svg │ │ │ ├── radio.svg │ │ │ ├── receipt-percent.svg │ │ │ ├── receipt-refund.svg │ │ │ ├── rectangle-group.svg │ │ │ ├── rectangle-stack.svg │ │ │ ├── rocket-launch.svg │ │ │ ├── rss.svg │ │ │ ├── scale.svg │ │ │ ├── scissors.svg │ │ │ ├── server-stack.svg │ │ │ ├── server.svg │ │ │ ├── share.svg │ │ │ ├── shield-check.svg │ │ │ ├── shield-exclamation.svg │ │ │ ├── shopping-bag.svg │ │ │ ├── shopping-cart.svg │ │ │ ├── signal-slash.svg │ │ │ ├── signal.svg │ │ │ ├── sparkles.svg │ │ │ ├── speaker-wave.svg │ │ │ ├── speaker-x-mark.svg │ │ │ ├── square-2-stack.svg │ │ │ ├── square-3-stack-3d.svg │ │ │ ├── squares-2x2.svg │ │ │ ├── squares-plus.svg │ │ │ ├── star.svg │ │ │ ├── stop-circle.svg │ │ │ ├── stop.svg │ │ │ ├── sun.svg │ │ │ ├── swatch.svg │ │ │ ├── table-cells.svg │ │ │ ├── tag.svg │ │ │ ├── ticket.svg │ │ │ ├── trash.svg │ │ │ ├── trophy.svg │ │ │ ├── truck.svg │ │ │ ├── tv.svg │ │ │ ├── user-circle.svg │ │ │ ├── user-group.svg │ │ │ ├── user-minus.svg │ │ │ ├── user-plus.svg │ │ │ ├── user.svg │ │ │ ├── users.svg │ │ │ ├── variable.svg │ │ │ ├── video-camera-slash.svg │ │ │ ├── video-camera.svg │ │ │ ├── view-columns.svg │ │ │ ├── viewfinder-circle.svg │ │ │ ├── wallet.svg │ │ │ ├── wifi.svg │ │ │ ├── window.svg │ │ │ ├── wrench-screwdriver.svg │ │ │ ├── wrench.svg │ │ │ ├── x-circle.svg │ │ │ └── x-mark.svg │ │ └── 24 │ │ ├── outline │ │ ├── academic-cap.svg │ │ ├── adjustments-horizontal.svg │ │ ├── adjustments-vertical.svg │ │ ├── archive-box-arrow-down.svg │ │ ├── archive-box-x-mark.svg │ │ ├── archive-box.svg │ │ ├── arrow-down-circle.svg │ │ ├── arrow-down-left.svg │ │ ├── arrow-down-on-square-stack.svg │ │ ├── arrow-down-on-square.svg │ │ ├── arrow-down-right.svg │ │ ├── arrow-down-tray.svg │ │ ├── arrow-down.svg │ │ ├── arrow-left-circle.svg │ │ ├── arrow-left-on-rectangle.svg │ │ ├── arrow-left.svg │ │ ├── arrow-long-down.svg │ │ ├── arrow-long-left.svg │ │ ├── arrow-long-right.svg │ │ ├── arrow-long-up.svg │ │ ├── arrow-path-rounded-square.svg │ │ ├── arrow-path.svg │ │ ├── arrow-right-circle.svg │ │ ├── arrow-right-on-rectangle.svg │ │ ├── arrow-right.svg │ │ ├── arrow-small-down.svg │ │ ├── arrow-small-left.svg │ │ ├── arrow-small-right.svg │ │ ├── arrow-small-up.svg │ │ ├── arrow-top-right-on-square.svg │ │ ├── arrow-trending-down.svg │ │ ├── arrow-trending-up.svg │ │ ├── arrow-up-circle.svg │ │ ├── arrow-up-left.svg │ │ ├── arrow-up-on-square-stack.svg │ │ ├── arrow-up-on-square.svg │ │ ├── arrow-up-right.svg │ │ ├── arrow-up-tray.svg │ │ ├── arrow-up.svg │ │ ├── arrow-uturn-down.svg │ │ ├── arrow-uturn-left.svg │ │ ├── arrow-uturn-right.svg │ │ ├── arrow-uturn-up.svg │ │ ├── arrows-pointing-in.svg │ │ ├── arrows-pointing-out.svg │ │ ├── arrows-right-left.svg │ │ ├── arrows-up-down.svg │ │ ├── at-symbol.svg │ │ ├── backspace.svg │ │ ├── backward.svg │ │ ├── banknotes.svg │ │ ├── bars-2.svg │ │ ├── bars-3-bottom-left.svg │ │ ├── bars-3-bottom-right.svg │ │ ├── bars-3-center-left.svg │ │ ├── bars-3.svg │ │ ├── bars-4.svg │ │ ├── bars-arrow-down.svg │ │ ├── bars-arrow-up.svg │ │ ├── battery-0.svg │ │ ├── battery-100.svg │ │ ├── battery-50.svg │ │ ├── beaker.svg │ │ ├── bell-alert.svg │ │ ├── bell-slash.svg │ │ ├── bell-snooze.svg │ │ ├── bell.svg │ │ ├── bolt-slash.svg │ │ ├── bolt.svg │ │ ├── book-open.svg │ │ ├── bookmark-slash.svg │ │ ├── bookmark-square.svg │ │ ├── bookmark.svg │ │ ├── briefcase.svg │ │ ├── bug-ant.svg │ │ ├── building-library.svg │ │ ├── building-office-2.svg │ │ ├── building-office.svg │ │ ├── building-storefront.svg │ │ ├── cake.svg │ │ ├── calculator.svg │ │ ├── calendar-days.svg │ │ ├── calendar.svg │ │ ├── camera.svg │ │ ├── chart-bar-square.svg │ │ ├── chart-bar.svg │ │ ├── chart-pie.svg │ │ ├── chat-bubble-bottom-center-text.svg │ │ ├── chat-bubble-bottom-center.svg │ │ ├── chat-bubble-left-ellipsis.svg │ │ ├── chat-bubble-left-right.svg │ │ ├── chat-bubble-left.svg │ │ ├── chat-bubble-oval-left-ellipsis.svg │ │ ├── chat-bubble-oval-left.svg │ │ ├── check-badge.svg │ │ ├── check-circle.svg │ │ ├── check.svg │ │ ├── chevron-double-down.svg │ │ ├── chevron-double-left.svg │ │ ├── chevron-double-right.svg │ │ ├── chevron-double-up.svg │ │ ├── chevron-down.svg │ │ ├── chevron-left.svg │ │ ├── chevron-right.svg │ │ ├── chevron-up-down.svg │ │ ├── chevron-up.svg │ │ ├── circle-stack.svg │ │ ├── clipboard-document-check.svg │ │ ├── clipboard-document-list.svg │ │ ├── clipboard-document.svg │ │ ├── clipboard.svg │ │ ├── clock.svg │ │ ├── cloud-arrow-down.svg │ │ ├── cloud-arrow-up.svg │ │ ├── cloud.svg │ │ ├── code-bracket-square.svg │ │ ├── code-bracket.svg │ │ ├── cog-6-tooth.svg │ │ ├── cog-8-tooth.svg │ │ ├── cog.svg │ │ ├── command-line.svg │ │ ├── computer-desktop.svg │ │ ├── cpu-chip.svg │ │ ├── credit-card.svg │ │ ├── cube-transparent.svg │ │ ├── cube.svg │ │ ├── currency-bangladeshi.svg │ │ ├── currency-dollar.svg │ │ ├── currency-euro.svg │ │ ├── currency-pound.svg │ │ ├── currency-rupee.svg │ │ ├── currency-yen.svg │ │ ├── cursor-arrow-rays.svg │ │ ├── cursor-arrow-ripple.svg │ │ ├── device-phone-mobile.svg │ │ ├── device-tablet.svg │ │ ├── document-arrow-down.svg │ │ ├── document-arrow-up.svg │ │ ├── document-chart-bar.svg │ │ ├── document-check.svg │ │ ├── document-duplicate.svg │ │ ├── document-magnifying-glass.svg │ │ ├── document-minus.svg │ │ ├── document-plus.svg │ │ ├── document-text.svg │ │ ├── document.svg │ │ ├── ellipsis-horizontal-circle.svg │ │ ├── ellipsis-horizontal.svg │ │ ├── ellipsis-vertical.svg │ │ ├── envelope-open.svg │ │ ├── envelope.svg │ │ ├── exclamation-circle.svg │ │ ├── exclamation-triangle.svg │ │ ├── eye-dropper.svg │ │ ├── eye-slash.svg │ │ ├── eye.svg │ │ ├── face-frown.svg │ │ ├── face-smile.svg │ │ ├── film.svg │ │ ├── finger-print.svg │ │ ├── fire.svg │ │ ├── flag.svg │ │ ├── folder-arrow-down.svg │ │ ├── folder-minus.svg │ │ ├── folder-open.svg │ │ ├── folder-plus.svg │ │ ├── folder.svg │ │ ├── forward.svg │ │ ├── funnel.svg │ │ ├── gif.svg │ │ ├── gift-top.svg │ │ ├── gift.svg │ │ ├── globe-alt.svg │ │ ├── globe-americas.svg │ │ ├── globe-asia-australia.svg │ │ ├── globe-europe-africa.svg │ │ ├── hand-raised.svg │ │ ├── hand-thumb-down.svg │ │ ├── hand-thumb-up.svg │ │ ├── hashtag.svg │ │ ├── heart.svg │ │ ├── home-modern.svg │ │ ├── home.svg │ │ ├── identification.svg │ │ ├── inbox-arrow-down.svg │ │ ├── inbox-stack.svg │ │ ├── inbox.svg │ │ ├── information-circle.svg │ │ ├── key.svg │ │ ├── language.svg │ │ ├── lifebuoy.svg │ │ ├── light-bulb.svg │ │ ├── link.svg │ │ ├── list-bullet.svg │ │ ├── lock-closed.svg │ │ ├── lock-open.svg │ │ ├── magnifying-glass-circle.svg │ │ ├── magnifying-glass-minus.svg │ │ ├── magnifying-glass-plus.svg │ │ ├── magnifying-glass.svg │ │ ├── map-pin.svg │ │ ├── map.svg │ │ ├── megaphone.svg │ │ ├── microphone.svg │ │ ├── minus-circle.svg │ │ ├── minus-small.svg │ │ ├── minus.svg │ │ ├── moon.svg │ │ ├── musical-note.svg │ │ ├── newspaper.svg │ │ ├── no-symbol.svg │ │ ├── paint-brush.svg │ │ ├── paper-airplane.svg │ │ ├── paper-clip.svg │ │ ├── pause-circle.svg │ │ ├── pause.svg │ │ ├── pencil-square.svg │ │ ├── pencil.svg │ │ ├── phone-arrow-down-left.svg │ │ ├── phone-arrow-up-right.svg │ │ ├── phone-x-mark.svg │ │ ├── phone.svg │ │ ├── photo.svg │ │ ├── play-circle.svg │ │ ├── play-pause.svg │ │ ├── play.svg │ │ ├── plus-circle.svg │ │ ├── plus-small.svg │ │ ├── plus.svg │ │ ├── power.svg │ │ ├── presentation-chart-bar.svg │ │ ├── presentation-chart-line.svg │ │ ├── printer.svg │ │ ├── puzzle-piece.svg │ │ ├── qr-code.svg │ │ ├── question-mark-circle.svg │ │ ├── queue-list.svg │ │ ├── radio.svg │ │ ├── receipt-percent.svg │ │ ├── receipt-refund.svg │ │ ├── rectangle-group.svg │ │ ├── rectangle-stack.svg │ │ ├── rocket-launch.svg │ │ ├── rss.svg │ │ ├── scale.svg │ │ ├── scissors.svg │ │ ├── server-stack.svg │ │ ├── server.svg │ │ ├── share.svg │ │ ├── shield-check.svg │ │ ├── shield-exclamation.svg │ │ ├── shopping-bag.svg │ │ ├── shopping-cart.svg │ │ ├── signal-slash.svg │ │ ├── signal.svg │ │ ├── sparkles.svg │ │ ├── speaker-wave.svg │ │ ├── speaker-x-mark.svg │ │ ├── square-2-stack.svg │ │ ├── square-3-stack-3d.svg │ │ ├── squares-2x2.svg │ │ ├── squares-plus.svg │ │ ├── star.svg │ │ ├── stop-circle.svg │ │ ├── stop.svg │ │ ├── sun.svg │ │ ├── swatch.svg │ │ ├── table-cells.svg │ │ ├── tag.svg │ │ ├── ticket.svg │ │ ├── trash.svg │ │ ├── trophy.svg │ │ ├── truck.svg │ │ ├── tv.svg │ │ ├── user-circle.svg │ │ ├── user-group.svg │ │ ├── user-minus.svg │ │ ├── user-plus.svg │ │ ├── user.svg │ │ ├── users.svg │ │ ├── variable.svg │ │ ├── video-camera-slash.svg │ │ ├── video-camera.svg │ │ ├── view-columns.svg │ │ ├── viewfinder-circle.svg │ │ ├── wallet.svg │ │ ├── wifi.svg │ │ ├── window.svg │ │ ├── wrench-screwdriver.svg │ │ ├── wrench.svg │ │ ├── x-circle.svg │ │ └── x-mark.svg │ │ └── solid │ │ ├── academic-cap.svg │ │ ├── adjustments-horizontal.svg │ │ ├── adjustments-vertical.svg │ │ ├── archive-box-arrow-down.svg │ │ ├── archive-box-x-mark.svg │ │ ├── archive-box.svg │ │ ├── arrow-down-circle.svg │ │ ├── arrow-down-left.svg │ │ ├── arrow-down-on-square-stack.svg │ │ ├── arrow-down-on-square.svg │ │ ├── arrow-down-right.svg │ │ ├── arrow-down-tray.svg │ │ ├── arrow-down.svg │ │ ├── arrow-left-circle.svg │ │ ├── arrow-left-on-rectangle.svg │ │ ├── arrow-left.svg │ │ ├── arrow-long-down.svg │ │ ├── arrow-long-left.svg │ │ ├── arrow-long-right.svg │ │ ├── arrow-long-up.svg │ │ ├── arrow-path-rounded-square.svg │ │ ├── arrow-path.svg │ │ ├── arrow-right-circle.svg │ │ ├── arrow-right-on-rectangle.svg │ │ ├── arrow-right.svg │ │ ├── arrow-small-down.svg │ │ ├── arrow-small-left.svg │ │ ├── arrow-small-right.svg │ │ ├── arrow-small-up.svg │ │ ├── arrow-top-right-on-square.svg │ │ ├── arrow-trending-down.svg │ │ ├── arrow-trending-up.svg │ │ ├── arrow-up-circle.svg │ │ ├── arrow-up-left.svg │ │ ├── arrow-up-on-square-stack.svg │ │ ├── arrow-up-on-square.svg │ │ ├── arrow-up-right.svg │ │ ├── arrow-up-tray.svg │ │ ├── arrow-up.svg │ │ ├── arrow-uturn-down.svg │ │ ├── arrow-uturn-left.svg │ │ ├── arrow-uturn-right.svg │ │ ├── arrow-uturn-up.svg │ │ ├── arrows-pointing-in.svg │ │ ├── arrows-pointing-out.svg │ │ ├── arrows-right-left.svg │ │ ├── arrows-up-down.svg │ │ ├── at-symbol.svg │ │ ├── backspace.svg │ │ ├── backward.svg │ │ ├── banknotes.svg │ │ ├── bars-2.svg │ │ ├── bars-3-bottom-left.svg │ │ ├── bars-3-bottom-right.svg │ │ ├── bars-3-center-left.svg │ │ ├── bars-3.svg │ │ ├── bars-4.svg │ │ ├── bars-arrow-down.svg │ │ ├── bars-arrow-up.svg │ │ ├── battery-0.svg │ │ ├── battery-100.svg │ │ ├── battery-50.svg │ │ ├── beaker.svg │ │ ├── bell-alert.svg │ │ ├── bell-slash.svg │ │ ├── bell-snooze.svg │ │ ├── bell.svg │ │ ├── bolt-slash.svg │ │ ├── bolt.svg │ │ ├── book-open.svg │ │ ├── bookmark-slash.svg │ │ ├── bookmark-square.svg │ │ ├── bookmark.svg │ │ ├── briefcase.svg │ │ ├── bug-ant.svg │ │ ├── building-library.svg │ │ ├── building-office-2.svg │ │ ├── building-office.svg │ │ ├── building-storefront.svg │ │ ├── cake.svg │ │ ├── calculator.svg │ │ ├── calendar-days.svg │ │ ├── calendar.svg │ │ ├── camera.svg │ │ ├── chart-bar-square.svg │ │ ├── chart-bar.svg │ │ ├── chart-pie.svg │ │ ├── chat-bubble-bottom-center-text.svg │ │ ├── chat-bubble-bottom-center.svg │ │ ├── chat-bubble-left-ellipsis.svg │ │ ├── chat-bubble-left-right.svg │ │ ├── chat-bubble-left.svg │ │ ├── chat-bubble-oval-left-ellipsis.svg │ │ ├── chat-bubble-oval-left.svg │ │ ├── check-badge.svg │ │ ├── check-circle.svg │ │ ├── check.svg │ │ ├── chevron-double-down.svg │ │ ├── chevron-double-left.svg │ │ ├── chevron-double-right.svg │ │ ├── chevron-double-up.svg │ │ ├── chevron-down.svg │ │ ├── chevron-left.svg │ │ ├── chevron-right.svg │ │ ├── chevron-up-down.svg │ │ ├── chevron-up.svg │ │ ├── circle-stack.svg │ │ ├── clipboard-document-check.svg │ │ ├── clipboard-document-list.svg │ │ ├── clipboard-document.svg │ │ ├── clipboard.svg │ │ ├── clock.svg │ │ ├── cloud-arrow-down.svg │ │ ├── cloud-arrow-up.svg │ │ ├── cloud.svg │ │ ├── code-bracket-square.svg │ │ ├── code-bracket.svg │ │ ├── cog-6-tooth.svg │ │ ├── cog-8-tooth.svg │ │ ├── cog.svg │ │ ├── command-line.svg │ │ ├── computer-desktop.svg │ │ ├── cpu-chip.svg │ │ ├── credit-card.svg │ │ ├── cube-transparent.svg │ │ ├── cube.svg │ │ ├── currency-bangladeshi.svg │ │ ├── currency-dollar.svg │ │ ├── currency-euro.svg │ │ ├── currency-pound.svg │ │ ├── currency-rupee.svg │ │ ├── currency-yen.svg │ │ ├── cursor-arrow-rays.svg │ │ ├── cursor-arrow-ripple.svg │ │ ├── device-phone-mobile.svg │ │ ├── device-tablet.svg │ │ ├── document-arrow-down.svg │ │ ├── document-arrow-up.svg │ │ ├── document-chart-bar.svg │ │ ├── document-check.svg │ │ ├── document-duplicate.svg │ │ ├── document-magnifying-glass.svg │ │ ├── document-minus.svg │ │ ├── document-plus.svg │ │ ├── document-text.svg │ │ ├── document.svg │ │ ├── ellipsis-horizontal-circle.svg │ │ ├── ellipsis-horizontal.svg │ │ ├── ellipsis-vertical.svg │ │ ├── envelope-open.svg │ │ ├── envelope.svg │ │ ├── exclamation-circle.svg │ │ ├── exclamation-triangle.svg │ │ ├── eye-dropper.svg │ │ ├── eye-slash.svg │ │ ├── eye.svg │ │ ├── face-frown.svg │ │ ├── face-smile.svg │ │ ├── film.svg │ │ ├── finger-print.svg │ │ ├── fire.svg │ │ ├── flag.svg │ │ ├── folder-arrow-down.svg │ │ ├── folder-minus.svg │ │ ├── folder-open.svg │ │ ├── folder-plus.svg │ │ ├── folder.svg │ │ ├── forward.svg │ │ ├── funnel.svg │ │ ├── gif.svg │ │ ├── gift-top.svg │ │ ├── gift.svg │ │ ├── globe-alt.svg │ │ ├── globe-americas.svg │ │ ├── globe-asia-australia.svg │ │ ├── globe-europe-africa.svg │ │ ├── hand-raised.svg │ │ ├── hand-thumb-down.svg │ │ ├── hand-thumb-up.svg │ │ ├── hashtag.svg │ │ ├── heart.svg │ │ ├── home-modern.svg │ │ ├── home.svg │ │ ├── identification.svg │ │ ├── inbox-arrow-down.svg │ │ ├── inbox-stack.svg │ │ ├── inbox.svg │ │ ├── information-circle.svg │ │ ├── key.svg │ │ ├── language.svg │ │ ├── lifebuoy.svg │ │ ├── light-bulb.svg │ │ ├── link.svg │ │ ├── list-bullet.svg │ │ ├── lock-closed.svg │ │ ├── lock-open.svg │ │ ├── magnifying-glass-circle.svg │ │ ├── magnifying-glass-minus.svg │ │ ├── magnifying-glass-plus.svg │ │ ├── magnifying-glass.svg │ │ ├── map-pin.svg │ │ ├── map.svg │ │ ├── megaphone.svg │ │ ├── microphone.svg │ │ ├── minus-circle.svg │ │ ├── minus-small.svg │ │ ├── minus.svg │ │ ├── moon.svg │ │ ├── musical-note.svg │ │ ├── newspaper.svg │ │ ├── no-symbol.svg │ │ ├── paint-brush.svg │ │ ├── paper-airplane.svg │ │ ├── paper-clip.svg │ │ ├── pause-circle.svg │ │ ├── pause.svg │ │ ├── pencil-square.svg │ │ ├── pencil.svg │ │ ├── phone-arrow-down-left.svg │ │ ├── phone-arrow-up-right.svg │ │ ├── phone-x-mark.svg │ │ ├── phone.svg │ │ ├── photo.svg │ │ ├── play-circle.svg │ │ ├── play-pause.svg │ │ ├── play.svg │ │ ├── plus-circle.svg │ │ ├── plus-small.svg │ │ ├── plus.svg │ │ ├── power.svg │ │ ├── presentation-chart-bar.svg │ │ ├── presentation-chart-line.svg │ │ ├── printer.svg │ │ ├── puzzle-piece.svg │ │ ├── qr-code.svg │ │ ├── question-mark-circle.svg │ │ ├── queue-list.svg │ │ ├── radio.svg │ │ ├── receipt-percent.svg │ │ ├── receipt-refund.svg │ │ ├── rectangle-group.svg │ │ ├── rectangle-stack.svg │ │ ├── rocket-launch.svg │ │ ├── rss.svg │ │ ├── scale.svg │ │ ├── scissors.svg │ │ ├── server-stack.svg │ │ ├── server.svg │ │ ├── share.svg │ │ ├── shield-check.svg │ │ ├── shield-exclamation.svg │ │ ├── shopping-bag.svg │ │ ├── shopping-cart.svg │ │ ├── signal-slash.svg │ │ ├── signal.svg │ │ ├── sparkles.svg │ │ ├── speaker-wave.svg │ │ ├── speaker-x-mark.svg │ │ ├── square-2-stack.svg │ │ ├── square-3-stack-3d.svg │ │ ├── squares-2x2.svg │ │ ├── squares-plus.svg │ │ ├── star.svg │ │ ├── stop-circle.svg │ │ ├── stop.svg │ │ ├── sun.svg │ │ ├── swatch.svg │ │ ├── table-cells.svg │ │ ├── tag.svg │ │ ├── ticket.svg │ │ ├── trash.svg │ │ ├── trophy.svg │ │ ├── truck.svg │ │ ├── tv.svg │ │ ├── user-circle.svg │ │ ├── user-group.svg │ │ ├── user-minus.svg │ │ ├── user-plus.svg │ │ ├── user.svg │ │ ├── users.svg │ │ ├── variable.svg │ │ ├── video-camera-slash.svg │ │ ├── video-camera.svg │ │ ├── view-columns.svg │ │ ├── viewfinder-circle.svg │ │ ├── wallet.svg │ │ ├── wifi.svg │ │ ├── window.svg │ │ ├── wrench-screwdriver.svg │ │ ├── wrench.svg │ │ ├── x-circle.svg │ │ └── x-mark.svg │ └── topbar.js ├── config ├── config.exs ├── dev.exs ├── prod.exs ├── runtime.exs └── test.exs ├── entrypoint.sh ├── lib ├── rpc.ex ├── s3.ex ├── watcher_prover.ex ├── watcher_prover │ ├── application.ex │ ├── mailer.ex │ └── repo.ex ├── watcher_prover_nif.ex ├── watcher_prover_poller.ex ├── watcher_prover_web.ex └── watcher_prover_web │ ├── components │ ├── core_components.ex │ ├── layouts.ex │ └── layouts │ │ ├── app.html.heex │ │ └── root.html.heex │ ├── controllers │ ├── error_html.ex │ ├── error_json.ex │ ├── page_controller.ex │ ├── page_html.ex │ └── page_html │ │ └── home.html.heex │ ├── endpoint.ex │ ├── gettext.ex │ ├── router.ex │ └── telemetry.ex ├── mix.exs ├── mix.lock ├── native └── watcher_prover │ ├── .cargo │ └── config.toml │ ├── .gitignore │ ├── Cargo.lock │ ├── Cargo.toml │ ├── README.md │ └── src │ ├── cairo.rs │ └── lib.rs ├── priv ├── gettext │ ├── en │ │ └── LC_MESSAGES │ │ │ └── errors.po │ └── errors.pot ├── native │ └── .gitignore ├── repo │ ├── migrations │ │ └── .formatter.exs │ └── seeds.exs └── static │ ├── favicon.ico │ ├── images │ └── logo.svg │ └── robots.txt ├── programs └── fibonacci_cairo1.casm └── test ├── support ├── conn_case.ex └── data_case.ex ├── test_helper.exs └── tests └── nif_test.exs /infrastructure/ansible/sequencer/playbooks/files/parameters.json: -------------------------------------------------------------------------------- 1 | { 2 | "consensus": { 3 | "sync_retry_delay": 10000, 4 | "timeout_delay": 1000 5 | }, 6 | "mempool": { 7 | "batch_size": 4096, 8 | "gc_depth": 50, 9 | "max_batch_delay": 10, 10 | "sync_retry_delay": 5000, 11 | "sync_retry_nodes": 3 12 | }, 13 | "execution": "cairo_native" 14 | } 15 | -------------------------------------------------------------------------------- /infrastructure/ansible/watcher_prover/inventory.yaml: -------------------------------------------------------------------------------- 1 | watcher_prover: 2 | hosts: 3 | watcher_prover_0: 4 | ansible_host: "{{ lookup('env','WATCHER_PROVER_HOST') }}" 5 | ansible_user: admin 6 | ansible_python_interpreter: /usr/bin/python3 7 | ansible_ssh_private_key_file: "{{ lookup('env','ANSIBLE_SSH_PKEY') }}" 8 | ansible_ssh_extra_args: '-o StrictHostKeyChecking=no' 9 | -------------------------------------------------------------------------------- /infrastructure/ansible/watcher_prover/playbooks/templates/.env.j2: -------------------------------------------------------------------------------- 1 | SECRET_KEY_BASE={{ secret_key_base }} 2 | DATABASE_URL={{ database_url }} 3 | RPC_HOST={{ rpc_host }} 4 | RPC_PORT={{ rpc_port }} 5 | PROVER_STORAGE={{ prover_storage }} 6 | PHX_HOST={{ phx_host }} 7 | PHX_SERVER={{ phx_server }} 8 | AWS_ACCESS_KEY_ID={{ aws_access_key_id }} 9 | AWS_SECRET_ACCESS_KEY={{ aws_secret_access_key }} 10 | AWS_REGION={{ aws_region }} 11 | S3_BUCKET_NAME={{ s3_bucket_name }} 12 | -------------------------------------------------------------------------------- /infrastructure/ansible/watcher_prover/playbooks/templates/watcher_prover.service.j2: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=Watcher Prover 3 | 4 | [Service] 5 | WorkingDirectory=/home/admin/starknet_stack/watcher_prover/ 6 | Restart=on-failure 7 | ExecStart=/home/admin/starknet_stack/watcher_prover/entrypoint.sh 8 | ExecReload=/bin/kill -HUP 9 | KillSignal=SIGTERM 10 | EnvironmentFile=/home/admin/.env 11 | 12 | [Install] 13 | WantedBy=multi-user.target 14 | -------------------------------------------------------------------------------- /infrastructure/terraform/example_sequencer_nodes/providers.tf: -------------------------------------------------------------------------------- 1 | terraform { 2 | backend "s3" { 3 | } 4 | required_version = ">= 1.2.0" 5 | } 6 | -------------------------------------------------------------------------------- /infrastructure/terraform/watcher_prover/providers.tf: -------------------------------------------------------------------------------- 1 | terraform { 2 | backend "s3" { 3 | bucket = "terraform-lambdaclass" 4 | key = "watcher_prover/terraform.tfstate" 5 | region = "us-west-2" 6 | } 7 | 8 | required_version = ">= 1.2.0" 9 | } 10 | -------------------------------------------------------------------------------- /kraken.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lambdaclass/starknet_stack/41ddf09fa046d2cc47912bf4df8f841a75811214/kraken.jpeg -------------------------------------------------------------------------------- /sequencer/Cargo.toml: -------------------------------------------------------------------------------- 1 | [workspace] 2 | members = [ 3 | "rpc_endpoint", 4 | "store", 5 | "crypto", 6 | "network", 7 | "mempool", 8 | "consensus", 9 | "node", 10 | "sequencer", 11 | "types", 12 | ] 13 | resolver = "2" 14 | -------------------------------------------------------------------------------- /sequencer/benchmark/benchmark/__init__: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lambdaclass/starknet_stack/41ddf09fa046d2cc47912bf4df8f841a75811214/sequencer/benchmark/benchmark/__init__ -------------------------------------------------------------------------------- /sequencer/benchmark/requirements.txt: -------------------------------------------------------------------------------- 1 | boto3==1.27.1 2 | fabric==3.1.0 3 | matplotlib==3.7.1 -------------------------------------------------------------------------------- /sequencer/cairo_programs/fact_contract.cairo: -------------------------------------------------------------------------------- 1 | #[starknet::contract] 2 | mod Factorial{ 3 | 4 | #[external] 5 | fn fact(n: felt252) -> felt252 { 6 | match n { 7 | 0 => 1, 8 | _ => n * fact(n - 1) 9 | } 10 | } 11 | } -------------------------------------------------------------------------------- /sequencer/cairo_programs/fib_contract.cairo: -------------------------------------------------------------------------------- 1 | #[starknet::contract] 2 | mod Fibonacci { 3 | 4 | #[external] 5 | fn fib(a: felt252, b: felt252, n: felt252) -> felt252 { 6 | match n { 7 | 0 => a, 8 | _ => fib(b, a + b, n - 1), 9 | } 10 | } 11 | } -------------------------------------------------------------------------------- /sequencer/config/parameters.json: -------------------------------------------------------------------------------- 1 | { 2 | "consensus": { 3 | "sync_retry_delay": 10000, 4 | "timeout_delay": 1000 5 | }, 6 | "mempool": { 7 | "batch_size": 4096, 8 | "gc_depth": 50, 9 | "max_batch_delay": 10, 10 | "sync_retry_delay": 5000, 11 | "sync_retry_nodes": 3 12 | }, 13 | "execution": "cairo_native" 14 | } 15 | -------------------------------------------------------------------------------- /sequencer/consensus/src/lib.rs: -------------------------------------------------------------------------------- 1 | #[macro_use] 2 | mod error; 3 | mod aggregator; 4 | mod config; 5 | mod consensus; 6 | mod core; 7 | mod helper; 8 | mod leader; 9 | mod mempool; 10 | mod messages; 11 | mod proposer; 12 | mod synchronizer; 13 | mod timer; 14 | 15 | #[cfg(test)] 16 | #[path = "tests/common.rs"] 17 | mod common; 18 | 19 | pub use crate::config::{Committee, Parameters}; 20 | pub use crate::consensus::Consensus; 21 | pub use crate::messages::{Block, QC, TC}; 22 | -------------------------------------------------------------------------------- /sequencer/consensus/src/tests/timer_tests.rs: -------------------------------------------------------------------------------- 1 | use super::*; 2 | 3 | #[tokio::test] 4 | async fn schedule() { 5 | let timer = Timer::new(100); 6 | let now = Instant::now(); 7 | timer.await; 8 | assert!(now.elapsed().as_millis() > 95); 9 | } 10 | -------------------------------------------------------------------------------- /sequencer/crypto/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "crypto" 3 | version = "0.1.0" 4 | authors = ["Alberto Sonnino "] 5 | edition = "2018" 6 | publish = false 7 | 8 | [dependencies] 9 | tokio = { version = "1.5.0", features = ["sync", "rt", "macros"] } 10 | ed25519-dalek = { version = "1.0.1", features = ["batch"] } 11 | serde = { version = "1.0", features = ["derive"] } 12 | rand = "0.7.3" 13 | base64 = "0.13.0" -------------------------------------------------------------------------------- /sequencer/execution_engine/src/lib.rs: -------------------------------------------------------------------------------- 1 | #![feature(strict_provenance)] 2 | #![feature(iter_intersperse)] 3 | pub mod cairo_native_engine; 4 | pub mod cairovm_engine; 5 | -------------------------------------------------------------------------------- /sequencer/mempool/src/lib.rs: -------------------------------------------------------------------------------- 1 | mod batch_maker; 2 | mod config; 3 | mod helper; 4 | mod mempool; 5 | mod processor; 6 | mod quorum_waiter; 7 | mod synchronizer; 8 | 9 | #[cfg(test)] 10 | #[path = "tests/common.rs"] 11 | mod common; 12 | 13 | pub use crate::config::{Committee, Parameters}; 14 | pub use crate::mempool::{ConsensusMempoolMessage, Mempool}; 15 | 16 | pub use crate::mempool::MempoolMessage; 17 | -------------------------------------------------------------------------------- /sequencer/network/src/lib.rs: -------------------------------------------------------------------------------- 1 | // Copyright(C) Facebook, Inc. and its affiliates. 2 | mod error; 3 | mod receiver; 4 | mod reliable_sender; 5 | mod simple_sender; 6 | 7 | #[cfg(test)] 8 | #[path = "tests/common.rs"] 9 | pub mod common; 10 | 11 | pub use crate::receiver::{MessageHandler, Receiver, Writer}; 12 | pub use crate::reliable_sender::{CancelHandler, ReliableSender}; 13 | pub use crate::simple_sender::SimpleSender; 14 | -------------------------------------------------------------------------------- /sequencer/sequencer/src/lib.rs: -------------------------------------------------------------------------------- 1 | pub mod store; 2 | -------------------------------------------------------------------------------- /sequencer/store/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "store" 3 | version = "0.1.0" 4 | authors = ["Alberto Sonnino "] 5 | edition = "2018" 6 | publish = false 7 | 8 | [dependencies] 9 | rocksdb = "0.19.0" 10 | tokio = { version = "1.3.0", features = ["sync", "macros", "rt"] } -------------------------------------------------------------------------------- /sequencer/types/Cargo.toml: -------------------------------------------------------------------------------- 1 | [package] 2 | name = "types" 3 | authors = ["LambdaClass "] 4 | version = "0.1.0" 5 | edition = "2021" 6 | 7 | # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html 8 | 9 | [dependencies] 10 | serde_json = { version = "1.0.96", default-features = false } 11 | serde = "1.0.164" 12 | cairo-felt = "0.6.1" 13 | serde_with = "3.0.0" 14 | thiserror = "1.0.46" 15 | base64 = "0.21.2" 16 | rand = "0.7.3" 17 | -------------------------------------------------------------------------------- /watcher_prover/.formatter.exs: -------------------------------------------------------------------------------- 1 | [ 2 | import_deps: [:ecto, :ecto_sql, :phoenix], 3 | subdirectories: ["priv/*/migrations"], 4 | plugins: [Phoenix.LiveView.HTMLFormatter], 5 | inputs: ["*.{heex,ex,exs}", "{config,lib,test}/**/*.{heex,ex,exs}", "priv/*/seeds.exs"] 6 | ] 7 | -------------------------------------------------------------------------------- /watcher_prover/Makefile: -------------------------------------------------------------------------------- 1 | run: 2 | mix deps.get 3 | mix assets.build 4 | iex -S mix phx.server 5 | rust: 6 | cd ./native/watcher_prover && cargo check 7 | format: 8 | mix format && cd ./native/watcher_prover && cargo fmt 9 | -------------------------------------------------------------------------------- /watcher_prover/assets/css/app.css: -------------------------------------------------------------------------------- 1 | @import "tailwindcss/base"; 2 | @import "tailwindcss/components"; 3 | @import "tailwindcss/utilities"; 4 | 5 | /* This file is for your main application CSS */ 6 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/UPGRADE.md: -------------------------------------------------------------------------------- 1 | You are running heroicons v2.0.16. To upgrade in place, you can run the following command, 2 | where your `HERO_VSN` export is your desired version: 3 | 4 | export HERO_VSN="2.0.16" ; \ 5 | curl -L "https://github.com/tailwindlabs/heroicons/archive/refs/tags/v${HERO_VSN}.tar.gz" | \ 6 | tar -xvz --strip-components=1 heroicons-${HERO_VSN}/optimized 7 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/archive-box.svg: -------------------------------------------------------------------------------- 1 | 5 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/arrow-down-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/arrow-down-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/arrow-down-on-square.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/arrow-down-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/arrow-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/arrow-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/arrow-long-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/arrow-long-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/arrow-long-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/arrow-long-up.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/arrow-right-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/arrow-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/arrow-small-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/arrow-small-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/arrow-small-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/arrow-small-up.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/arrow-up-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/arrow-up-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/arrow-up-on-square.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/arrow-up-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/arrow-up.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/arrow-uturn-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/arrow-uturn-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/arrow-uturn-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/arrow-uturn-up.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/at-symbol.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/backward.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/bars-2.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/bars-3-bottom-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/bars-3-bottom-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/bars-3-center-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/bars-3.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/battery-0.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/bell.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/bolt.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/bookmark-slash.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/bookmark-square.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/bookmark.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/camera.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/chart-bar.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/chart-pie.svg: -------------------------------------------------------------------------------- 1 | 5 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/chat-bubble-oval-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/check-badge.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/check-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/check.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/chevron-double-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/chevron-double-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/chevron-double-up.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/chevron-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/chevron-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/chevron-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/chevron-up-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/chevron-up.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/clock.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/cloud-arrow-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/cloud-arrow-up.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/cloud.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/credit-card.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/cube.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/currency-yen.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/device-tablet.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/document-check.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/document-minus.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/document-plus.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/document-text.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/document.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/ellipsis-horizontal-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/ellipsis-horizontal.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/ellipsis-vertical.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/envelope-open.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/envelope.svg: -------------------------------------------------------------------------------- 1 | 5 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/exclamation-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/exclamation-triangle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/eye.svg: -------------------------------------------------------------------------------- 1 | 5 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/face-frown.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/face-smile.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/flag.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/folder-minus.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/folder-open.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/folder.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/forward.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/hand-raised.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/heart.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/home.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/information-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/key.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/light-bulb.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/lock-closed.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/lock-open.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/magnifying-glass-circle.svg: -------------------------------------------------------------------------------- 1 | 5 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/magnifying-glass-minus.svg: -------------------------------------------------------------------------------- 1 | 5 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/magnifying-glass.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/microphone.svg: -------------------------------------------------------------------------------- 1 | 5 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/minus-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/minus-small.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/minus.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/moon.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/no-symbol.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/paint-brush.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/paper-airplane.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/pause-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/pause.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/pencil.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/play-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/play.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/plus-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/plus-small.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/plus.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/power.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/question-mark-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/queue-list.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/share.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/square-2-stack.svg: -------------------------------------------------------------------------------- 1 | 5 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/stop-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/stop.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/swatch.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/tag.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/tv.svg: -------------------------------------------------------------------------------- 1 | 5 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/user-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/user-minus.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/user-plus.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/user.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/video-camera-slash.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/video-camera.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/view-columns.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/x-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/20/solid/x-mark.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/adjustments-horizontal.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/adjustments-vertical.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/arrow-down-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/arrow-down-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/arrow-down-on-square.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/arrow-down-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/arrow-down-tray.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/arrow-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/arrow-left-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/arrow-left-on-rectangle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/arrow-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/arrow-long-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/arrow-long-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/arrow-long-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/arrow-long-up.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/arrow-path.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/arrow-right-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/arrow-right-on-rectangle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/arrow-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/arrow-small-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/arrow-small-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/arrow-small-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/arrow-small-up.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/arrow-top-right-on-square.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/arrow-trending-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/arrow-trending-up.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/arrow-up-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/arrow-up-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/arrow-up-on-square.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/arrow-up-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/arrow-up-tray.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/arrow-up.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/arrow-uturn-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/arrow-uturn-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/arrow-uturn-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/arrow-uturn-up.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/arrows-pointing-in.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/arrows-pointing-out.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/arrows-right-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/arrows-up-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/at-symbol.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/bars-2.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/bars-3-bottom-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/bars-3-bottom-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/bars-3-center-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/bars-3.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/bars-4.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/bars-arrow-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/bars-arrow-up.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/battery-0.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/battery-100.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/battery-50.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/bell.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/bolt-slash.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/bolt.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/bookmark-slash.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/bookmark-square.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/bookmark.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/building-library.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/building-office.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/calendar.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/chart-bar-square.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/chart-pie.svg: -------------------------------------------------------------------------------- 1 | 5 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/check-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/check.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/chevron-double-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/chevron-double-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/chevron-double-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/chevron-double-up.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/chevron-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/chevron-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/chevron-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/chevron-up-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/chevron-up.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/clock.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/cloud-arrow-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/cloud-arrow-up.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/cloud.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/code-bracket-square.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/code-bracket.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/command-line.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/credit-card.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/cube.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/currency-bangladeshi.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/currency-euro.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/currency-pound.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/currency-rupee.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/currency-yen.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/cursor-arrow-rays.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/cursor-arrow-ripple.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/device-phone-mobile.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/device-tablet.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/ellipsis-horizontal-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/ellipsis-horizontal.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/ellipsis-vertical.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/exclamation-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/exclamation-triangle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/flag.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/folder-arrow-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/folder-minus.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/folder-plus.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/hashtag.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/heart.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/home.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/information-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/key.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/link.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/lock-closed.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/lock-open.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/magnifying-glass-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/magnifying-glass-minus.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/magnifying-glass-plus.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/magnifying-glass.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/map-pin.svg: -------------------------------------------------------------------------------- 1 | 5 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/microphone.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/minus-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/minus-small.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/minus.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/moon.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/no-symbol.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/paper-airplane.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/paper-clip.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/pause-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/pause.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/pencil.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/play-circle.svg: -------------------------------------------------------------------------------- 1 | 5 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/play-pause.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/play.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/plus-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/plus-small.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/plus.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/power.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/presentation-chart-bar.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/question-mark-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/queue-list.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/receipt-refund.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/rss.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/shield-check.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/shield-exclamation.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/square-2-stack.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/square-3-stack-3d.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/stop-circle.svg: -------------------------------------------------------------------------------- 1 | 5 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/stop.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/sun.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/tv.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/user-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/user-minus.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/user-plus.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/user.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/video-camera.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/view-columns.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/viewfinder-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/wifi.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/window.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/x-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/outline/x-mark.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/solid/arrow-down-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/solid/arrow-down-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/solid/arrow-down-on-square.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/solid/arrow-down-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/solid/arrow-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/solid/arrow-left-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/solid/arrow-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/solid/arrow-long-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/solid/arrow-long-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/solid/arrow-long-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/solid/arrow-long-up.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/solid/arrow-right-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/solid/arrow-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/solid/arrow-small-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/solid/arrow-small-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/solid/arrow-small-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/solid/arrow-small-up.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/solid/arrow-up-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/solid/arrow-up-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/solid/arrow-up-on-square.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/solid/arrow-up-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/solid/arrow-up.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/solid/arrow-uturn-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/solid/arrow-uturn-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/solid/arrow-uturn-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/solid/arrow-uturn-up.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/solid/backward.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/solid/bars-2.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/solid/bars-3-bottom-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/solid/bars-3-bottom-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/solid/bars-3-center-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/solid/bars-3.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/solid/battery-0.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/solid/bell.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/solid/bolt-slash.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/solid/bolt.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/solid/bookmark-slash.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/solid/bookmark-square.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/solid/bookmark.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/solid/calendar.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/solid/chart-pie.svg: -------------------------------------------------------------------------------- 1 | 5 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/solid/check-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/solid/check.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/solid/chevron-double-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/solid/chevron-double-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/solid/chevron-double-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/solid/chevron-double-up.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/solid/chevron-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/solid/chevron-left.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/solid/chevron-right.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/solid/chevron-up-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/solid/chevron-up.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/solid/clipboard.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/solid/clock.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/solid/cloud-arrow-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/solid/cloud-arrow-up.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/solid/cloud.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/solid/command-line.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/solid/credit-card.svg: -------------------------------------------------------------------------------- 1 | 5 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/solid/cube.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/solid/ellipsis-horizontal.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/solid/ellipsis-vertical.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/solid/envelope.svg: -------------------------------------------------------------------------------- 1 | 5 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/solid/exclamation-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/solid/exclamation-triangle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/solid/folder-arrow-down.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/solid/folder-minus.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/solid/folder-open.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/solid/folder-plus.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/solid/folder.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/solid/forward.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/solid/lock-closed.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/solid/lock-open.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/solid/magnifying-glass-minus.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/solid/magnifying-glass.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/solid/microphone.svg: -------------------------------------------------------------------------------- 1 | 5 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/solid/minus-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/solid/minus-small.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/solid/minus.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/solid/moon.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/solid/no-symbol.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/solid/paper-airplane.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/solid/pause.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/solid/pencil.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/solid/play-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/solid/play.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/solid/plus-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/solid/plus-small.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/solid/plus.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/solid/power.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/solid/queue-list.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/solid/rectangle-stack.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/solid/share.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/solid/square-2-stack.svg: -------------------------------------------------------------------------------- 1 | 5 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/solid/stop-circle.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/solid/stop.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/solid/tag.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/solid/user-minus.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/solid/user.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/solid/video-camera.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/solid/view-columns.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/assets/vendor/heroicons/optimized/24/solid/x-mark.svg: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /watcher_prover/entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | set -ex 3 | 4 | /home/admin/starknet_stack/watcher_prover/_build/prod/rel/watcher_prover/bin/watcher_prover start 5 | -------------------------------------------------------------------------------- /watcher_prover/lib/watcher_prover.ex: -------------------------------------------------------------------------------- 1 | defmodule WatcherProver do 2 | @moduledoc """ 3 | WatcherProver keeps the contexts that define your domain 4 | and business logic. 5 | 6 | Contexts are also responsible for managing your data, regardless 7 | if it comes from the database, an external API or others. 8 | """ 9 | end 10 | -------------------------------------------------------------------------------- /watcher_prover/lib/watcher_prover/mailer.ex: -------------------------------------------------------------------------------- 1 | defmodule WatcherProver.Mailer do 2 | use Swoosh.Mailer, otp_app: :watcher_prover 3 | end 4 | -------------------------------------------------------------------------------- /watcher_prover/lib/watcher_prover/repo.ex: -------------------------------------------------------------------------------- 1 | defmodule WatcherProver.Repo do 2 | use Ecto.Repo, 3 | otp_app: :watcher_prover, 4 | adapter: Ecto.Adapters.Postgres 5 | end 6 | -------------------------------------------------------------------------------- /watcher_prover/lib/watcher_prover_nif.ex: -------------------------------------------------------------------------------- 1 | defmodule WatcherProver.NIF do 2 | use Rustler, otp_app: :watcher_prover, crate: "watcher_prover" 3 | def add(_a, _b), do: :erlang.nif_error(:nif_not_loaded) 4 | def run_program_and_get_proof(_file_name), do: :erlang.nif_error(:nif_not_loaded) 5 | end 6 | -------------------------------------------------------------------------------- /watcher_prover/lib/watcher_prover_web/components/layouts.ex: -------------------------------------------------------------------------------- 1 | defmodule WatcherProverWeb.Layouts do 2 | use WatcherProverWeb, :html 3 | 4 | embed_templates("layouts/*") 5 | end 6 | -------------------------------------------------------------------------------- /watcher_prover/lib/watcher_prover_web/controllers/page_controller.ex: -------------------------------------------------------------------------------- 1 | defmodule WatcherProverWeb.PageController do 2 | use WatcherProverWeb, :controller 3 | 4 | def home(conn, _params) do 5 | # The home page is often custom made, 6 | # so skip the default app layout. 7 | render(conn, :home, layout: false) 8 | end 9 | end 10 | -------------------------------------------------------------------------------- /watcher_prover/lib/watcher_prover_web/controllers/page_html.ex: -------------------------------------------------------------------------------- 1 | defmodule WatcherProverWeb.PageHTML do 2 | use WatcherProverWeb, :html 3 | 4 | embed_templates("page_html/*") 5 | end 6 | -------------------------------------------------------------------------------- /watcher_prover/native/watcher_prover/.cargo/config.toml: -------------------------------------------------------------------------------- 1 | [target.'cfg(target_os = "macos")'] 2 | rustflags = [ 3 | "-C", "link-arg=-undefined", 4 | "-C", "link-arg=dynamic_lookup", 5 | ] 6 | -------------------------------------------------------------------------------- /watcher_prover/native/watcher_prover/.gitignore: -------------------------------------------------------------------------------- 1 | /target 2 | -------------------------------------------------------------------------------- /watcher_prover/native/watcher_prover/src/lib.rs: -------------------------------------------------------------------------------- 1 | pub mod cairo; 2 | 3 | pub use cairo::run_program_and_get_proof; 4 | 5 | #[rustler::nif] 6 | fn add(a: i64, b: i64) -> i64 { 7 | println!("Hello from Rust!"); 8 | a + b 9 | } 10 | 11 | rustler::init!("Elixir.WatcherProver.NIF", [add, run_program_and_get_proof]); 12 | -------------------------------------------------------------------------------- /watcher_prover/priv/native/.gitignore: -------------------------------------------------------------------------------- 1 | *.so 2 | -------------------------------------------------------------------------------- /watcher_prover/priv/repo/migrations/.formatter.exs: -------------------------------------------------------------------------------- 1 | [ 2 | import_deps: [:ecto_sql], 3 | inputs: ["*.exs"] 4 | ] 5 | -------------------------------------------------------------------------------- /watcher_prover/priv/repo/seeds.exs: -------------------------------------------------------------------------------- 1 | # Script for populating the database. You can run it as: 2 | # 3 | # mix run priv/repo/seeds.exs 4 | # 5 | # Inside the script, you can read and write to any of your 6 | # repositories directly: 7 | # 8 | # WatcherProver.Repo.insert!(%WatcherProver.SomeSchema{}) 9 | # 10 | # We recommend using the bang functions (`insert!`, `update!` 11 | # and so on) as they will fail if something goes wrong. 12 | -------------------------------------------------------------------------------- /watcher_prover/priv/static/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lambdaclass/starknet_stack/41ddf09fa046d2cc47912bf4df8f841a75811214/watcher_prover/priv/static/favicon.ico -------------------------------------------------------------------------------- /watcher_prover/priv/static/robots.txt: -------------------------------------------------------------------------------- 1 | # See https://www.robotstxt.org/robotstxt.html for documentation on how to use the robots.txt file 2 | # 3 | # To ban all spiders from the entire site uncomment the next two lines: 4 | # User-agent: * 5 | # Disallow: / 6 | -------------------------------------------------------------------------------- /watcher_prover/test/test_helper.exs: -------------------------------------------------------------------------------- 1 | ExUnit.start() 2 | # Ecto.Adapters.SQL.Sandbox.mode(WatcherProver.Repo, :manual) 3 | -------------------------------------------------------------------------------- /watcher_prover/test/tests/nif_test.exs: -------------------------------------------------------------------------------- 1 | defmodule WatcherProver.NIFTest do 2 | use ExUnit.Case, async: true 3 | 4 | test "Test nif opening file" do 5 | file_content = File.read!("./programs/fibonacci_cairo1.casm") 6 | {proof, public_inputs} = WatcherProver.NIF.run_program_and_get_proof(file_content) 7 | assert proof != nil 8 | assert public_inputs != nil 9 | end 10 | end 11 | --------------------------------------------------------------------------------