Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 6 additions & 14 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,32 +28,24 @@ jobs:
- name: Install npm
uses: actions/setup-node@v2
with:
node-version: '16'
node-version: '18'

- name: Install dependencies
run: yarn

- name: Lint
run: npx solhint 'contracts/**/*.sol'

- name: Build
run: yarn build
- name: Compile
run: npx hardhat compile

- name: Static analysis
run: |
pip3 install slither-analyzer==0.8.3
slither --exclude solc-version,timestamp,boolean-equality,unimplemented-functions,locked-ether --filter-paths vendor/ .
pip3 install slither-analyzer==0.10.4
slither --exclude solc-version,timestamp,boolean-equality,unimplemented-functions,locked-ether,immutable-states --filter-paths vendor/ .
# Alternatively, one can use Docker:
# WORKDIR=/share docker run --rm -v $(pwd):$WORKDIR -w $WORKDIR --entrypoint slither trailofbits/eth-security-toolbox [insert slither parameters here]

- name: Test
run: yarn test
run: npx hardhat test

- name: Test coverage
run: npx truffle run coverage

- name: Upload coverage
uses: codecov/codecov-action@v1
with:
fail_ci_if_error: true # optional (default = false)
verbose: true # optional (default = false)
20 changes: 20 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Changelog
All notable changes to this project will be documented in this file.

## [1.0.0] Rubicon - 2025-04-01 [:boom:]
### Added

* Multi-ledger functionality to support multiple EVM chains [#29]

* Support for non-EVM cross-chain channels [#40]

* Optimization (change channelID array to singular channelID) [#41]

[#29]:(https://github.com/hyperledger-labs/perun-eth-contracts/pull/29)
[#40]:(https://github.com/hyperledger-labs/perun-eth-contracts/pull/40)
[#41]:(https://github.com/hyperledger-labs/perun-eth-contracts/pull/41)

## Legend
- <span id="breaking">:boom:</span> This is a breaking change, e.g., it changes the external API.

[:boom:]: #breaking
24 changes: 24 additions & 0 deletions MAINTAINERS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# Maintainers

## Active Maintainers
| Name | Github | [Discord][_chat_url] |
|-------------------|----------------------------------------------------|----------------|
| Hendrik Amler | [@tinnendo](https://github.com/tinnendo) | hendrik#5345 |
| Jan Bormet | [@janbormet](https://github.com/janbormet) | _.pants |
| Ilja von Hoessle | [@iljabvh](https://github.com/iljabvh) | iljabvh |
| Sophia Koehler | [@sophia1ch](https://github.com/sophia1ch) | sophia#3072 |
| Philipp-Florens Lehwalder | [@cryptphil](https://github.com/cryptphil) | cryptphil |
| Steffen Rattay | [@rmbrt](https://github.com/rmbrt) | rmbrt |
| Minh Huy Tran | [@NhoxxKienn](https://github.com/NhoxxKienn) | NhoxxKienn |
| Jens Winkle | [@DragonDev1906](https://github.com/DragonDev1906) | jens#4601 |

## Emeritus Maintainers

| Name | GitHub | [Discord][_chat_url] |
|-------------------|-----------|----------------------|
| Matthias Geihs | [@matthiasgeihs](https://github.com/matthiasgeihs) | mpn#9737 |
| Sebastian Stammler | [@sebastianst](https://github.com/sebastianst) | |
| Oliver Tale-Yazdi | [@ggwpez](https://github.com/ggwpez) | |


[_chat_url]: https://discord.com/channels/817445017680609340/834052993258225715
12 changes: 12 additions & 0 deletions NOTICE
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,20 @@
# Please keep the list in alphabetical order.

Chair of Applied Cryptography, Technische Universität Darmstadt, Germany
Jan Bormet <[email protected]>
Matthias Geihs <[email protected]>
Philipp-Florens Lehwalder <[email protected]>
Sebastian Stammler <[email protected]>
Oliver Tale-Yazdi <[email protected]>
Marius van der Wijden <[email protected]>

PolyCrypt GmbH
Jan Bormet <[email protected]>
Matthias Geihs <[email protected]>
Ilja von Hoessle <[email protected]>
Sophia Koehler <[email protected]>
Philipp-Florens Lehwalder <[email protected]>
Sebastian Stammler <[email protected]>
Oliver Tale-Yazdi <[email protected]>
Marius van der Wijden <[email protected]>
Jens Winkle <[email protected]>
5 changes: 3 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
</p>

This repository contains the Ethereum smart contracts for [go-perun](https://github.com/hyperledger-labs/go-perun)'s Ethereum backend.
Additionally, it allows cross-chain swaps with the Stellar blockchain. It supports our [Soroban Contract](https://github.com/perun-network/perun-soroban-contract), utilizing EVM-compatible cryptography and encoding. Channel participants can have multiple addresses in the channel.

## Security Disclaimer
The smart contracts presented in this directory are under active development and are not ready for production use.
Expand Down Expand Up @@ -49,7 +50,7 @@ It is assumed to revert if any app-specific check fails.

## Testing
The repository must be cloned recursively including [submodules](https://git-scm.com/book/en/v2/Git-Tools-Submodules).
[Yarn](https://yarnpkg.com) is expected to be installed globally.
[Yarn](https://yarnpkg.com) and [Hardhat](https://hardhat.org/hardhat-runner/docs/getting-started) are expected to be installed globally.
To run the tests, run
```sh
$ yarn
Expand All @@ -58,7 +59,7 @@ $ yarn test
```

## Copyright
Copyright 2021 - See [NOTICE](NOTICE) file for copyright holders.
Copyright 2025 - See [NOTICE](NOTICE) file for copyright holders.
Use of the source code is governed by the Apache 2.0 license that can be found in the [LICENSE file](LICENSE).

Contact us at [[email protected]](mailto:[email protected]).
Loading