# Lists some code owners.
#
# A codeowner just oversees some part of the codebase. If an owned file is changed then the
# corresponding codeowner receives a review request. An approval of the codeowner is
# not required for merging a PR though.
#
# **This is pretty much an experiment at the moment**. Feel free to remove yourself at any time if
# you do not want to receive review requests any longer.
#
# For details about syntax, see:
# https://help.github.com/en/articles/about-code-owners
# But here are some important notes:
#
# - Glob syntax is git-like, e.g. `/core` means the core directory in the root, unlike `core` which
#   can be everywhere.
# - Multiple owners are supported.
# - Either handle (e.g, @pepyakin) or email can be used. Keep in mind, that handles might work better because they
#   are more recognizable on GitHub, you can use them for mentioning unlike an email.
# - The latest matching rule, if multiple, takes precedence.

# Wasm execution and the wasm side of Substrate Runtime Interface
/client/executor/ @pepyakin
/primitives/io/ @pepyakin @NikVolf

# Crypto, execution extensions, etc.
/primitives/core/ @NikVolf

# Block production
/primitives/authorship/ @NikVolf
/client/basic-authorship/ @NikVolf

# Sandboxing capability of Substrate Runtime
/primitives/sr-sandbox/ @pepyakin
/primitives/core/src/sandbox.rs @pepyakin

# Transaction pool
/client/transaction-pool/ @NikVolf
/primitives/transaction-pool/ @NikVolf

# Offchain
/client/offchain/ @tomusdrw
/primitives/offchain/ @tomusdrw

# Everything that has RPC in it
/bin/node/rpc/ @tomusdrw
/bin/node/rpc-client/ @tomusdrw
/client/rpc/ @tomusdrw
/primitives/rpc/ @tomusdrw

# GRANDPA, BABE, consensus stuff
/frame/babe/ @andresilva @DemiMarie-parity
/frame/grandpa/ @andresilva
/client/finality-grandpa/ @andresilva
/client/consensus/babe/ @andresilva @DemiMarie-parity
/client/consensus/slots/ @andresilva @DemiMarie-parity
/client/consensus/pow/ @sorpaas
/primitives/consensus/pow/ @sorpaas

# Contracts
/frame/contracts/ @pepyakin
/frame/contracts/src/wasm/runtime.rs @Robbepop

# EVM
/frame/evm/ @sorpaas

# NPoS and Governance and Phragmén
/frame/staking/ @kianenigma
/frame/elections/ @kianenigma
/frame/elections-phragmen/ @kianenigma
/primitives/phragmen/ @kianenigma

# Fixed point arithmetic
/primitives/sp-arithmetic/ @kianenigma

# End to end testing of substrate node
/bin/node/executor/ @kianenigma

# Transaction weight stuff
/frame/support/src/weights.rs @kianenigma

# Support crates
/frame/support/ @kianenigma

# Authority discovery
/client/authority-discovery/ @mxinden
/frame/authority-discovery/ @mxinden

# Prometheus endpoint
/utils/prometheus/ @mxinden

# CLI API
/client/cli @cecton
/client/cli-derive @cecton
