Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
6 changes: 0 additions & 6 deletions .dockerignore
Original file line number Diff line number Diff line change
Expand Up @@ -9,15 +9,13 @@ tmp/

# Top-level files unrealted to the build.
CODEOWNERS
crytic-config.json
Dockerfile
*.adoc

# NPM stuff.
**/node_modules/*

# Solidity stuff.
solidity-v1/
solidity/

# Token Stakedrop stuff.
Expand All @@ -32,10 +30,6 @@ token-tracker/
!**/gen/gen.go
!**/gen/cmd/cmd.go

# Legacy V1 contracts bindings.
# We won't generate new bindings in the docker build process, but use the existing ones.
!pkg/chain/gen

# Contract addresses.
# We do not want to overwrite extracted contract addresses with empty content while
# coping local root directory to docker image context.
Expand Down
4 changes: 1 addition & 3 deletions .github/workflows/client.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,10 @@ on:
branches:
- main
paths-ignore:
- "docs-v1/**"
- "docs/**"
- "infrastructure/**"
- "scripts/**"
- "solidity/**"
- "solidity-v1/**"
pull_request:
workflow_dispatch:
inputs:
Expand Down Expand Up @@ -45,7 +43,7 @@ jobs:
with:
filters: |
path-filter:
- './!((docs-v1|docs|infrastructure|scripts|solidity|solidity-v1)/**)'
- './!((docs|infrastructure|scripts|solidity)/**)'

electrum-integration-detect-changes:
runs-on: ubuntu-latest
Expand Down
24 changes: 0 additions & 24 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -30,27 +30,3 @@ repos:
files: '\.(json|yaml)$'
language: script
description: "Checks JSON/YAML code according to the package's linter configuration"
- id: lint-js-v1
name: 'lint solidity-v1 js'
entry: /usr/bin/env bash -c "cd solidity-v1 && npm run lint:js"
files: 'solidity-v1\/.*\.js$'
language: script
description: "Checks JS code according to the package's linter configuration"
- id: lint-sol-v1
name: 'lint solidity-v1 sol'
entry: /usr/bin/env bash -c "cd solidity-v1 && npm run lint:sol"
files: 'solidity-v1\/.*\.sol$'
language: script
description: "Checks solidity code according to the package's linter configuration"
- id: format-dashboard
name: 'format dashboard'
entry: /usr/bin/env bash -c "cd solidity-v1/dashboard && npm run format"
files: 'solidity-v1/dashboard/'
language: script
description: "Checks dashboard code according to the package's formatting configuration"
- id: lint-faucet-js
name: 'lint faucet js'
entry: /usr/bin/env bash -c "cd infrastructure/gcp/keep-test/google-functions/keep-faucet && npm run lint:js"
files: 'infrastructure\/gcp\/keep-test\/google-functions\/keep-faucet\/.*\.js$'
language: script
description: "Checks JS code according to the package's linter configuration"
33 changes: 0 additions & 33 deletions CODEOWNERS
Original file line number Diff line number Diff line change
@@ -1,35 +1,2 @@
/solidity-v1/contracts/KeepToken.sol @Shadowfiend @pdyraga
/solidity-v1/contracts/TokenGrant.sol @Shadowfiend @pdyraga
/solidity-v1/contracts/TokenGrantStake.sol @Shadowfiend @pdyraga
/solidity-v1/contracts/TokenStaking.sol @Shadowfiend @pdyraga @nkuba
/solidity-v1/contracts/StakeDelegatable.sol @Shadowfiend @pdyraga @nkuba
/solidity-v1/contracts/ManagedGrant.sol @Shadowfiend @pdyraga
/solidity-v1/contracts/ManagedGrantFactory.sol @Shadowfiend @pdyraga
/solidity-v1/contracts/AdaptiveStakingPolicy.sol @Shadowfiend @pdyraga
/solidity-v1/contracts/MinimumStakingPolicy.sol @Shadowfiend @pdyraga
/solidity-v1/contracts/GuaranteedMinimumStakingPolicy.sol @Shadowfiend @pdyraga
/solidity-v1/contracts/PermissiveStakingPolicy.sol @Shadowfiend @pdyraga
/solidity-v1/contracts/KeepRegistry.sol @Shadowfiend @pdyraga
/solidity-v1/contracts/Escrow.sol @Shadowfiend @pdyraga
/solidity-v1/contracts/KeepRandomBeaconOperator.sol @Shadowfiend @pdyraga
/solidity-v1/contracts/KeepRandomBeaconService.sol @Shadowfiend @pdyraga
/solidity-v1/contracts/KeepRandomBeaconServiceImplV1.sol @Shadowfiend @pdyraga
/solidity-v1/contracts/statistics/KeepRandomBeaconOperatorStatistics.sol @Shadowfiend @pdyraga
/solidity-v1/contracts/libraries/grant/UnlockingSchedule.sol @Shadowfiend @pdyraga
/solidity-v1/contracts/libraries/operator/DelayFactor.sol @Shadowfiend @pdyraga
/solidity-v1/contracts/libraries/operator/DKGResultVerification.sol @Shadowfiend @pdyraga
/solidity-v1/contracts/libraries/operator/Groups.sol @Shadowfiend @pdyraga
/solidity-v1/contracts/libraries/operator/GroupSelection.sol @Shadowfiend @pdyraga
/solidity-v1/contracts/libraries/operator/Reimbursements.sol @Shadowfiend @pdyraga
/solidity-v1/contracts/libraries/staking/GrantStaking.sol @Shadowfiend @pdyraga @nkuba
/solidity-v1/contracts/libraries/staking/LockUtils.sol @Shadowfiend @pdyraga @nkuba
/solidity-v1/contracts/libraries/staking/Locks.sol @Shadowfiend @pdyraga @nkuba
/solidity-v1/contracts/libraries/staking/MinimumStakeSchedule.sol @Shadowfiend @pdyraga @nkuba
/solidity-v1/contracts/utils/AddressArrayUtils.sol @Shadowfiend @pdyraga
/solidity-v1/contracts/utils/BytesLib.sol @Shadowfiend @pdyraga
/solidity-v1/contracts/utils/OperatorParams.sol @Shadowfiend @pdyraga @nkuba
/solidity-v1/contracts/utils/PercentUtils.sol @Shadowfiend @pdyraga
/solidity-v1/contracts/utils/UIntArrayUtils.sol @Shadowfiend @pdyraga
/solidity-v1/package.json @Shadowfiend @pdyraga
/solidity/ecdsa/contracts/ @pdyraga @nkuba @lukasz-zimnoch @dimpar @tomaszslabon
/solidity/random-beacon/contracts/ @pdyraga @nkuba @lukasz-zimnoch @dimpar @tomaszslabon
44 changes: 21 additions & 23 deletions README.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -45,10 +45,11 @@ https://github.com/keep-network/keep-core/issues[is appreciated!]

=== Moving to a new random beacon

The legacy core contracts of the random beacon are moved to the
link:solidity-v1/[`solidity-v1/`] directory which can be referred as "v1". The
newest "v2" random beacon contracts can be found in
link:solidity/random-beacon/[`solidity/random-beacon`] directory. The full
The legacy "v1" random beacon contracts have been moved out of this repository
and now live in
https://github.com/threshold-network/keep-core-v1[`threshold-network/keep-core-v1`]
(under its `solidity/` directory). The current "v2" random beacon contracts can
be found in link:solidity/random-beacon/[`solidity/random-beacon`]. The full
specification of the "v2" random beacon is written in
link:/docs/rfc/rfc-19-random-beacon-v2.adoc[`rfc-19-random-beacon-v2.adoc`].
Retired KEEP-era packages and operational tooling are listed in
Expand All @@ -59,12 +60,11 @@ link:docs/retired-components.md[`docs/retired-components.md`].
dApp developers will be most interested in the smart contracts exposing Keep's
on-chain facilities.

The core contracts can be found in the link:solidity-v1/[`solidity-v1/`]
directory. They can be used to request
link:solidity-v1/contracts/IRandomBeacon.sol[miner-resistant random numbers], as
well as creating and managing keeps. To generate new ECDSA key material and
request signatures, the contracts can be found in
link:solidity/ecdsa/contracts/[`solidity/ecdsa/contracts/`].
The legacy v1 core contracts (miner-resistant random numbers, keep creation and
management) live in
https://github.com/threshold-network/keep-core-v1[`threshold-network/keep-core-v1`].
To generate new ECDSA key material and request signatures, the contracts can be
found in link:solidity/ecdsa/contracts/[`solidity/ecdsa/contracts/`].

=== Client Developers

Expand All @@ -85,35 +85,33 @@ keep-core/
solidity/ <1>
ecdsa/
random-beacon/
solidity-v1/ <2>
cmd/ <3>
pkg/ <4>
cmd/ <2>
pkg/ <3>
net/
net.go, *.go <5>
net.go, *.go <4>
libp2p/
chain/
chain.go, *.go <5>
chain.go, *.go <4>
ethereum/
gen/
gen.go <6>
gen.go <5>
relay/
relay.go, *.go
```
<1> Core contracts of the Keep contracts. Random beacon contracts are stored
under `/solidity/random-beacon` whereas ECDSA under `/solidity/ecdsa`.
<2> Legacy core contracts of the random beacon (v1). While the Keep network only
uses Solidity at the moment, the directory structure allows for other
contract languages.
<3> Keep client subcommands are implemented here, though they should be minimal
Legacy v1 contracts live in the separate
https://github.com/threshold-network/keep-core-v1[`keep-core-v1`] repo.
<2> Keep client subcommands are implemented here, though they should be minimal
and deal solely with user interaction. The meat of the commands should exist
in a package fit for the appropriate purpose.
<4> All additional packages live in `pkg/`.
<5> The high-level interfaces for a package `mypackage` live in `mypackage.go`.
<3> All additional packages live in `pkg/`.
<4> The high-level interfaces for a package `mypackage` live in `mypackage.go`.
`net` and `chain` are interface packages that expose a common interface to
network and blockchain layers. Their subpackages provide particular
implementations of these common interfaces. Only `cmd/` and the main package
should interact with the implementations directly.
<6> When a package requires generated code, it should have a subpackage named
<5> When a package requires generated code, it should have a subpackage named
`gen/`. This subpackage should contain a single file, `gen.go`, with a `//
go:generate` annotation to trigger appropriate code generation. All code
generation is done with a single invocation of `go generate` at build time.
3 changes: 0 additions & 3 deletions crytic-config.json

This file was deleted.

9 changes: 0 additions & 9 deletions docs-v1/.gitignore

This file was deleted.

27 changes: 0 additions & 27 deletions docs-v1/Makefile

This file was deleted.

7 changes: 0 additions & 7 deletions docs-v1/README.adoc

This file was deleted.

151 changes: 0 additions & 151 deletions docs-v1/development-process.adoc

This file was deleted.

Loading
Loading