gitextract_j2hgunrb/ ├── .gitattributes ├── .github/ │ ├── LICENSE │ ├── actions/ │ │ ├── bitcoin/ │ │ │ └── action.yml │ │ ├── build-dependencies/ │ │ │ └── action.yml │ │ ├── monero/ │ │ │ └── action.yml │ │ ├── monero-wallet-rpc/ │ │ │ └── action.yml │ │ └── test-dependencies/ │ │ └── action.yml │ ├── nightly-version │ └── workflows/ │ ├── common-tests.yml │ ├── coordinator-tests.yml │ ├── crypto-tests.yml │ ├── daily-deny.yml │ ├── full-stack-tests.yml │ ├── lint.yml │ ├── message-queue-tests.yml │ ├── mini-tests.yml │ ├── monthly-nightly-update.yml │ ├── networks-tests.yml │ ├── no-std.yml │ ├── pages.yml │ ├── processor-tests.yml │ ├── reproducible-runtime.yml │ └── tests.yml ├── .gitignore ├── .rustfmt.toml ├── AGPL-3.0 ├── CONTRIBUTING.md ├── Cargo.toml ├── LICENSE ├── README.md ├── audits/ │ ├── Cypher Stack crypto March 2023/ │ │ ├── LICENSE │ │ └── README.md │ └── Cypher Stack networks bitcoin August 2023/ │ ├── LICENSE │ └── README.md ├── common/ │ ├── db/ │ │ ├── Cargo.toml │ │ ├── LICENSE │ │ └── src/ │ │ ├── create_db.rs │ │ ├── lib.rs │ │ ├── mem.rs │ │ ├── parity_db.rs │ │ └── rocks.rs │ ├── env/ │ │ ├── Cargo.toml │ │ ├── LICENSE │ │ └── src/ │ │ └── lib.rs │ ├── patchable-async-sleep/ │ │ ├── Cargo.toml │ │ ├── LICENSE │ │ ├── README.md │ │ └── src/ │ │ └── lib.rs │ ├── request/ │ │ ├── Cargo.toml │ │ ├── LICENSE │ │ ├── README.md │ │ └── src/ │ │ ├── lib.rs │ │ ├── request.rs │ │ └── response.rs │ ├── std-shims/ │ │ ├── Cargo.toml │ │ ├── LICENSE │ │ ├── README.md │ │ └── src/ │ │ ├── collections.rs │ │ ├── io.rs │ │ ├── lib.rs │ │ └── sync.rs │ └── zalloc/ │ ├── Cargo.toml │ ├── LICENSE │ ├── build.rs │ └── src/ │ └── lib.rs ├── coordinator/ │ ├── Cargo.toml │ ├── LICENSE │ ├── README.md │ ├── src/ │ │ ├── cosign_evaluator.rs │ │ ├── db.rs │ │ ├── main.rs │ │ ├── p2p.rs │ │ ├── processors.rs │ │ ├── substrate/ │ │ │ ├── cosign.rs │ │ │ ├── db.rs │ │ │ └── mod.rs │ │ ├── tests/ │ │ │ ├── mod.rs │ │ │ └── tributary/ │ │ │ ├── chain.rs │ │ │ ├── dkg.rs │ │ │ ├── handle_p2p.rs │ │ │ ├── mod.rs │ │ │ ├── sync.rs │ │ │ └── tx.rs │ │ └── tributary/ │ │ ├── db.rs │ │ ├── handle.rs │ │ ├── mod.rs │ │ ├── scanner.rs │ │ ├── signing_protocol.rs │ │ ├── spec.rs │ │ └── transaction.rs │ └── tributary/ │ ├── Cargo.toml │ ├── LICENSE │ ├── README.md │ ├── src/ │ │ ├── block.rs │ │ ├── blockchain.rs │ │ ├── lib.rs │ │ ├── mempool.rs │ │ ├── merkle.rs │ │ ├── provided.rs │ │ ├── tendermint/ │ │ │ ├── mod.rs │ │ │ └── tx.rs │ │ ├── tests/ │ │ │ ├── block.rs │ │ │ ├── blockchain.rs │ │ │ ├── mempool.rs │ │ │ ├── merkle.rs │ │ │ ├── mod.rs │ │ │ ├── p2p.rs │ │ │ ├── tendermint.rs │ │ │ └── transaction/ │ │ │ ├── mod.rs │ │ │ ├── signed.rs │ │ │ └── tendermint.rs │ │ └── transaction.rs │ └── tendermint/ │ ├── Cargo.toml │ ├── LICENSE │ ├── README.md │ ├── src/ │ │ ├── block.rs │ │ ├── ext.rs │ │ ├── lib.rs │ │ ├── message_log.rs │ │ ├── round.rs │ │ └── time.rs │ └── tests/ │ └── ext.rs ├── crypto/ │ ├── ciphersuite/ │ │ ├── Cargo.toml │ │ ├── LICENSE │ │ ├── README.md │ │ ├── kp256/ │ │ │ ├── Cargo.toml │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ └── src/ │ │ │ └── lib.rs │ │ └── src/ │ │ ├── lib.md │ │ └── lib.rs │ ├── dalek-ff-group/ │ │ ├── Cargo.toml │ │ ├── LICENSE │ │ ├── README.md │ │ └── src/ │ │ ├── ciphersuite.rs │ │ ├── field.rs │ │ └── lib.rs │ ├── dkg/ │ │ ├── Cargo.toml │ │ ├── LICENSE │ │ ├── README.md │ │ ├── dealer/ │ │ │ ├── Cargo.toml │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ └── src/ │ │ │ └── lib.rs │ │ ├── musig/ │ │ │ ├── Cargo.toml │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ └── src/ │ │ │ ├── lib.rs │ │ │ └── tests.rs │ │ ├── pedpop/ │ │ │ ├── Cargo.toml │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ └── src/ │ │ │ ├── encryption.rs │ │ │ ├── lib.rs │ │ │ └── tests.rs │ │ ├── promote/ │ │ │ ├── Cargo.toml │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ └── src/ │ │ │ ├── lib.rs │ │ │ └── tests.rs │ │ ├── recovery/ │ │ │ ├── Cargo.toml │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ └── src/ │ │ │ └── lib.rs │ │ └── src/ │ │ └── lib.rs │ ├── dleq/ │ │ ├── Cargo.toml │ │ ├── LICENSE │ │ ├── README.md │ │ └── src/ │ │ ├── cross_group/ │ │ │ ├── aos.rs │ │ │ ├── bits.rs │ │ │ ├── mod.rs │ │ │ ├── scalar.rs │ │ │ └── schnorr.rs │ │ ├── lib.rs │ │ └── tests/ │ │ ├── cross_group/ │ │ │ ├── aos.rs │ │ │ ├── mod.rs │ │ │ ├── scalar.rs │ │ │ └── schnorr.rs │ │ └── mod.rs │ ├── ed448/ │ │ ├── Cargo.toml │ │ ├── LICENSE │ │ ├── README.md │ │ └── src/ │ │ ├── backend.rs │ │ ├── ciphersuite.rs │ │ ├── field.rs │ │ ├── lib.rs │ │ ├── point.rs │ │ └── scalar.rs │ ├── ff-group-tests/ │ │ ├── Cargo.toml │ │ ├── LICENSE │ │ ├── README.md │ │ └── src/ │ │ ├── field.rs │ │ ├── group.rs │ │ ├── lib.rs │ │ └── prime_field.rs │ ├── frost/ │ │ ├── Cargo.toml │ │ ├── LICENSE │ │ ├── README.md │ │ └── src/ │ │ ├── algorithm.rs │ │ ├── curve/ │ │ │ ├── dalek.rs │ │ │ ├── ed448.rs │ │ │ ├── kp256.rs │ │ │ └── mod.rs │ │ ├── lib.rs │ │ ├── nonce.rs │ │ ├── sign.rs │ │ └── tests/ │ │ ├── literal/ │ │ │ ├── dalek.rs │ │ │ ├── ed448.rs │ │ │ ├── kp256.rs │ │ │ ├── mod.rs │ │ │ └── vectors/ │ │ │ ├── frost-ed25519-sha512.json │ │ │ ├── frost-ed448-shake256.json │ │ │ ├── frost-p256-sha256.json │ │ │ ├── frost-ristretto255-sha512.json │ │ │ └── frost-secp256k1-sha256.json │ │ ├── mod.rs │ │ ├── nonces.rs │ │ └── vectors.rs │ ├── multiexp/ │ │ ├── Cargo.toml │ │ ├── LICENSE │ │ ├── README.md │ │ └── src/ │ │ ├── batch.rs │ │ ├── lib.rs │ │ ├── pippenger.rs │ │ ├── straus.rs │ │ └── tests/ │ │ ├── batch.rs │ │ └── mod.rs │ ├── schnorr/ │ │ ├── Cargo.toml │ │ ├── LICENSE │ │ ├── README.md │ │ └── src/ │ │ ├── aggregate.rs │ │ ├── lib.rs │ │ └── tests/ │ │ ├── mod.rs │ │ └── rfc8032.rs │ ├── schnorrkel/ │ │ ├── Cargo.toml │ │ ├── LICENSE │ │ ├── README.md │ │ └── src/ │ │ ├── lib.rs │ │ └── tests.rs │ └── transcript/ │ ├── Cargo.toml │ ├── LICENSE │ ├── README.md │ └── src/ │ ├── lib.rs │ ├── merlin.rs │ └── tests.rs ├── deny.toml ├── docs/ │ ├── .gitignore │ ├── .ruby-version │ ├── Gemfile │ ├── _config.yml │ ├── amm/ │ │ └── index.md │ ├── cross_chain/ │ │ └── index.md │ ├── economics/ │ │ ├── genesis.md │ │ ├── index.md │ │ ├── post.md │ │ └── pre.md │ ├── index.md │ ├── infrastructure/ │ │ ├── coordinator.md │ │ ├── index.md │ │ ├── message_queue.md │ │ ├── processor.md │ │ └── serai.md │ ├── integrating/ │ │ └── index.md │ ├── protocol_changes/ │ │ └── index.md │ └── validator/ │ └── index.md ├── message-queue/ │ ├── Cargo.toml │ ├── LICENSE │ ├── README.md │ └── src/ │ ├── client.rs │ ├── lib.rs │ ├── main.rs │ ├── messages.rs │ └── queue.rs ├── mini/ │ ├── Cargo.toml │ ├── LICENSE │ ├── README.md │ └── src/ │ ├── lib.rs │ └── tests/ │ ├── activation_race/ │ │ └── mod.rs │ └── mod.rs ├── networks/ │ ├── bitcoin/ │ │ ├── Cargo.toml │ │ ├── LICENSE │ │ ├── README.md │ │ ├── src/ │ │ │ ├── crypto.rs │ │ │ ├── lib.rs │ │ │ ├── rpc.rs │ │ │ ├── tests/ │ │ │ │ ├── crypto.rs │ │ │ │ └── mod.rs │ │ │ └── wallet/ │ │ │ ├── mod.rs │ │ │ └── send.rs │ │ └── tests/ │ │ ├── rpc.rs │ │ ├── runner.rs │ │ └── wallet.rs │ └── ethereum/ │ ├── .gitignore │ ├── Cargo.toml │ ├── LICENSE │ ├── README.md │ ├── alloy-simple-request-transport/ │ │ ├── Cargo.toml │ │ ├── LICENSE │ │ ├── README.md │ │ └── src/ │ │ └── lib.rs │ ├── build.rs │ ├── contracts/ │ │ ├── Deployer.sol │ │ ├── IERC20.sol │ │ ├── Router.sol │ │ ├── Sandbox.sol │ │ └── Schnorr.sol │ ├── relayer/ │ │ ├── Cargo.toml │ │ ├── LICENSE │ │ ├── README.md │ │ └── src/ │ │ └── main.rs │ └── src/ │ ├── abi/ │ │ └── mod.rs │ ├── crypto.rs │ ├── deployer.rs │ ├── erc20.rs │ ├── lib.rs │ ├── machine.rs │ ├── router.rs │ └── tests/ │ ├── abi/ │ │ └── mod.rs │ ├── contracts/ │ │ ├── ERC20.sol │ │ └── Schnorr.sol │ ├── crypto.rs │ ├── mod.rs │ ├── router.rs │ └── schnorr.rs ├── orchestration/ │ ├── Cargo.toml │ ├── README.md │ ├── dev/ │ │ ├── coordinator/ │ │ │ └── .folder │ │ ├── message-queue/ │ │ │ └── .folder │ │ ├── networks/ │ │ │ ├── bitcoin/ │ │ │ │ └── run.sh │ │ │ ├── ethereum/ │ │ │ │ └── run.sh │ │ │ ├── ethereum-relayer/ │ │ │ │ └── .folder │ │ │ ├── monero/ │ │ │ │ ├── hashes-v0.18.3.4.txt │ │ │ │ └── run.sh │ │ │ └── monero-wallet-rpc/ │ │ │ └── run.sh │ │ ├── processor/ │ │ │ ├── bitcoin/ │ │ │ │ └── .folder │ │ │ ├── ethereum/ │ │ │ │ └── .folder │ │ │ └── monero/ │ │ │ └── .folder │ │ └── serai/ │ │ └── run.sh │ ├── runtime/ │ │ └── Dockerfile │ ├── src/ │ │ ├── coordinator.rs │ │ ├── docker.rs │ │ ├── ethereum_relayer.rs │ │ ├── main.rs │ │ ├── message_queue.rs │ │ ├── mimalloc.rs │ │ ├── networks/ │ │ │ ├── bitcoin.rs │ │ │ ├── ethereum/ │ │ │ │ ├── consensus/ │ │ │ │ │ ├── lighthouse.rs │ │ │ │ │ ├── mod.rs │ │ │ │ │ └── nimbus.rs │ │ │ │ ├── execution/ │ │ │ │ │ ├── anvil.rs │ │ │ │ │ ├── mod.rs │ │ │ │ │ └── reth.rs │ │ │ │ └── mod.rs │ │ │ ├── mod.rs │ │ │ └── monero.rs │ │ ├── processor.rs │ │ └── serai.rs │ └── testnet/ │ ├── coordinator/ │ │ └── .folder │ ├── message-queue/ │ │ └── .folder │ ├── networks/ │ │ ├── bitcoin/ │ │ │ └── run.sh │ │ ├── ethereum/ │ │ │ ├── consensus/ │ │ │ │ ├── lighthouse/ │ │ │ │ │ └── run.sh │ │ │ │ └── nimbus/ │ │ │ │ └── run.sh │ │ │ ├── execution/ │ │ │ │ ├── geth/ │ │ │ │ │ └── run.sh │ │ │ │ └── reth/ │ │ │ │ └── run.sh │ │ │ └── run.sh │ │ ├── ethereum-relayer/ │ │ │ └── .folder │ │ └── monero/ │ │ ├── hashes-v0.18.3.4.txt │ │ └── run.sh │ ├── processor/ │ │ ├── bitcoin/ │ │ │ └── .folder │ │ ├── ethereum/ │ │ │ └── .folder │ │ └── monero/ │ │ └── .folder │ └── serai/ │ └── run.sh ├── patches/ │ ├── directories-next/ │ │ ├── Cargo.toml │ │ └── src/ │ │ └── lib.rs │ ├── home/ │ │ ├── Cargo.toml │ │ └── src/ │ │ └── lib.rs │ ├── matches/ │ │ ├── Cargo.toml │ │ └── src/ │ │ └── lib.rs │ └── option-ext/ │ ├── Cargo.toml │ └── src/ │ └── lib.rs ├── processor/ │ ├── Cargo.toml │ ├── LICENSE │ ├── README.md │ ├── messages/ │ │ ├── Cargo.toml │ │ ├── LICENSE │ │ └── src/ │ │ └── lib.rs │ └── src/ │ ├── additional_key.rs │ ├── batch_signer.rs │ ├── coordinator.rs │ ├── cosigner.rs │ ├── db.rs │ ├── key_gen.rs │ ├── lib.rs │ ├── main.rs │ ├── multisigs/ │ │ ├── db.rs │ │ ├── mod.rs │ │ ├── scanner.rs │ │ └── scheduler/ │ │ ├── mod.rs │ │ ├── smart_contract.rs │ │ └── utxo.rs │ ├── networks/ │ │ ├── bitcoin.rs │ │ ├── ethereum.rs │ │ ├── mod.rs │ │ └── monero.rs │ ├── plan.rs │ ├── signer.rs │ ├── slash_report_signer.rs │ └── tests/ │ ├── addresses.rs │ ├── batch_signer.rs │ ├── cosigner.rs │ ├── key_gen.rs │ ├── literal/ │ │ └── mod.rs │ ├── mod.rs │ ├── scanner.rs │ ├── signer.rs │ └── wallet.rs ├── rust-toolchain.toml ├── spec/ │ ├── DKG Exclusions.md │ ├── Getting Started.md │ ├── Serai.md │ ├── coordinator/ │ │ ├── Coordinator.md │ │ └── Tributary.md │ ├── cryptography/ │ │ ├── Distributed Key Generation.md │ │ └── FROST.md │ ├── integrations/ │ │ ├── Bitcoin.md │ │ ├── Ethereum.md │ │ ├── Instructions.md │ │ └── Monero.md │ ├── policy/ │ │ └── Canonical Chain.md │ ├── processor/ │ │ ├── Multisig Rotation.md │ │ ├── Processor.md │ │ ├── Scanning.md │ │ └── UTXO Management.md │ └── protocol/ │ ├── Constants.md │ ├── In Instructions.md │ └── Validator Sets.md ├── substrate/ │ ├── abi/ │ │ ├── Cargo.toml │ │ ├── LICENSE │ │ └── src/ │ │ ├── babe.rs │ │ ├── coins.rs │ │ ├── dex.rs │ │ ├── economic_security.rs │ │ ├── emissions.rs │ │ ├── genesis_liquidity.rs │ │ ├── grandpa.rs │ │ ├── in_instructions.rs │ │ ├── lib.rs │ │ ├── liquidity_tokens.rs │ │ ├── signals.rs │ │ ├── system.rs │ │ ├── timestamp.rs │ │ ├── tx.rs │ │ └── validator_sets.rs │ ├── client/ │ │ ├── Cargo.toml │ │ ├── LICENSE │ │ ├── src/ │ │ │ ├── lib.rs │ │ │ ├── networks/ │ │ │ │ ├── bitcoin.rs │ │ │ │ ├── mod.rs │ │ │ │ └── monero.rs │ │ │ ├── serai/ │ │ │ │ ├── coins.rs │ │ │ │ ├── dex.rs │ │ │ │ ├── genesis_liquidity.rs │ │ │ │ ├── in_instructions.rs │ │ │ │ ├── liquidity_tokens.rs │ │ │ │ ├── mod.rs │ │ │ │ └── validator_sets.rs │ │ │ └── tests/ │ │ │ ├── mod.rs │ │ │ └── networks/ │ │ │ ├── bitcoin.rs │ │ │ ├── mod.rs │ │ │ └── monero.rs │ │ └── tests/ │ │ ├── batch.rs │ │ ├── burn.rs │ │ ├── common/ │ │ │ ├── dex.rs │ │ │ ├── genesis_liquidity.rs │ │ │ ├── in_instructions.rs │ │ │ ├── mod.rs │ │ │ ├── tx.rs │ │ │ └── validator_sets.rs │ │ ├── dex.rs │ │ ├── dht.rs │ │ ├── emissions.rs │ │ ├── genesis_liquidity.rs │ │ ├── time.rs │ │ └── validator_sets.rs │ ├── coins/ │ │ ├── pallet/ │ │ │ ├── Cargo.toml │ │ │ ├── LICENSE │ │ │ └── src/ │ │ │ ├── lib.rs │ │ │ ├── mock.rs │ │ │ └── tests.rs │ │ └── primitives/ │ │ ├── Cargo.toml │ │ ├── LICENSE │ │ └── src/ │ │ └── lib.rs │ ├── dex/ │ │ └── pallet/ │ │ ├── Cargo.toml │ │ ├── LICENSE-AGPL3 │ │ ├── LICENSE-APACHE2 │ │ └── src/ │ │ ├── benchmarking.rs │ │ ├── lib.rs │ │ ├── mock.rs │ │ ├── tests.rs │ │ ├── types.rs │ │ └── weights.rs │ ├── economic-security/ │ │ └── pallet/ │ │ ├── Cargo.toml │ │ ├── LICENSE │ │ └── src/ │ │ └── lib.rs │ ├── emissions/ │ │ ├── pallet/ │ │ │ ├── Cargo.toml │ │ │ ├── LICENSE │ │ │ └── src/ │ │ │ └── lib.rs │ │ └── primitives/ │ │ ├── Cargo.toml │ │ ├── LICENSE │ │ └── src/ │ │ └── lib.rs │ ├── genesis-liquidity/ │ │ ├── pallet/ │ │ │ ├── Cargo.toml │ │ │ ├── LICENSE │ │ │ └── src/ │ │ │ └── lib.rs │ │ └── primitives/ │ │ ├── Cargo.toml │ │ ├── LICENSE │ │ └── src/ │ │ └── lib.rs │ ├── in-instructions/ │ │ ├── pallet/ │ │ │ ├── Cargo.toml │ │ │ ├── LICENSE │ │ │ └── src/ │ │ │ └── lib.rs │ │ └── primitives/ │ │ ├── Cargo.toml │ │ ├── LICENSE │ │ └── src/ │ │ ├── lib.rs │ │ └── shorthand.rs │ ├── node/ │ │ ├── Cargo.toml │ │ ├── LICENSE │ │ ├── build.rs │ │ └── src/ │ │ ├── chain_spec.rs │ │ ├── cli.rs │ │ ├── command.rs │ │ ├── keystore.rs │ │ ├── main.rs │ │ ├── rpc.rs │ │ └── service.rs │ ├── primitives/ │ │ ├── Cargo.toml │ │ ├── LICENSE │ │ └── src/ │ │ ├── account.rs │ │ ├── amount.rs │ │ ├── balance.rs │ │ ├── block.rs │ │ ├── constants.rs │ │ ├── lib.rs │ │ └── networks.rs │ ├── runtime/ │ │ ├── Cargo.toml │ │ ├── LICENSE │ │ ├── build.rs │ │ └── src/ │ │ ├── abi.rs │ │ └── lib.rs │ ├── signals/ │ │ ├── pallet/ │ │ │ ├── Cargo.toml │ │ │ ├── LICENSE │ │ │ └── src/ │ │ │ └── lib.rs │ │ └── primitives/ │ │ ├── Cargo.toml │ │ ├── LICENSE │ │ └── src/ │ │ └── lib.rs │ └── validator-sets/ │ ├── pallet/ │ │ ├── Cargo.toml │ │ ├── LICENSE │ │ └── src/ │ │ └── lib.rs │ └── primitives/ │ ├── Cargo.toml │ ├── LICENSE │ └── src/ │ └── lib.rs └── tests/ ├── coordinator/ │ ├── Cargo.toml │ ├── LICENSE │ └── src/ │ ├── lib.rs │ └── tests/ │ ├── batch.rs │ ├── key_gen.rs │ ├── mod.rs │ ├── rotation.rs │ └── sign.rs ├── docker/ │ ├── Cargo.toml │ ├── LICENSE │ ├── README.md │ └── src/ │ └── lib.rs ├── full-stack/ │ ├── Cargo.toml │ ├── LICENSE │ └── src/ │ ├── lib.rs │ └── tests/ │ ├── mint_and_burn.rs │ └── mod.rs ├── message-queue/ │ ├── Cargo.toml │ ├── LICENSE │ └── src/ │ └── lib.rs ├── no-std/ │ ├── Cargo.toml │ ├── LICENSE │ ├── README.md │ └── src/ │ └── lib.rs ├── processor/ │ ├── Cargo.toml │ ├── LICENSE │ └── src/ │ ├── lib.rs │ ├── networks.rs │ └── tests/ │ ├── batch.rs │ ├── key_gen.rs │ ├── mod.rs │ └── send.rs └── reproducible-runtime/ ├── Cargo.toml ├── LICENSE └── src/ └── lib.rs