go-perun
go-perun copied to clipboard
🌔 Perun's Blockchain-Agnostic State Channels Framework in Go.
Currently, the go-perun client exposes two APIs for updating a channel: [Update](https://github.com/hyperledger-labs/go-perun/blob/749b197450cf4e82e302e5ff2552a3ee744e265e/client/update.go#L140) and [`UpdateBy'](https://github.com/hyperledger-labs/go-perun/blob/749b197450cf4e82e302e5ff2552a3ee744e265e/client/update.go#L236). ```go func (c *Channel) Update(ctx context.Context, next *channel.State) (err error) {...} func (c *Channel) UpdateBy(ctx context.Context,...
Yes I meant the `Cacher` interface. I thought we should include `Release` method in the `Cacher` interface because it complements the `Cache` method, by disabling caching of a particular item....
In actual, nothing is optional. Both App and Data must be non-nil values. What happens internally is: 1. If the app is `noApp`: for encoding, we encode false and just...
### Location Many `*.go` files. ### Problem `TODO/BUG/FIXME` should be removed from the code, the new linter is also not happy with them. ### Proposal We collect them here and...
List of oddities that we noticed in *go-perun* will be collected here for triage: - [ ] 1. `channel.Nonce` is modelled as a `*big.Int` but describes a `[]byte` which can...
We currently do not have a `CONTRIBUTING.md`. It would be important to have one so that new and external developers can get familiar with our workflow. There is a template...
While writing a proposal for `perun-proposals`, I realized that, in general, we use little-endian byte order in `pkg/io` (see variable `byteOrder` in file `serialize.go`). But for `big.Int`s, we use `Byte()`...
Sometimes, especially in testing, we want to wait until a specific event has been processed by a watcher routine, as for example in https://github.com/hyperledger-labs/go-perun/pull/83#discussion_r665595730_ . It would be useful to...
#### Context Currently, 1. For outgoing updates, `updateGeneric` calls [`machine.Update`](https://github.com/hyperledger-labs/go-perun/blob/06c5c9577b85ee0e3b7147cd19ff68ec54e5e569/client/update.go#L170), which in turn checks [if machine is in `Acting` phase](https://github.com/hyperledger-labs/go-perun/blob/06c5c9577b85ee0e3b7147cd19ff68ec54e5e569/channel/statemachine.go#L90) 2. For incoming updates, [`CheckUpdate`](https://github.com/hyperledger-labs/go-perun/blob/06c5c9577b85ee0e3b7147cd19ff68ec54e5e569/client/update.go#L281) is called, which in turn...
### Location wallet/backend.go ### Problem The method `RandomWallet` returns a fixed wallet, but sounds like it would return a new random wallet every time it is called. ### Proposal Rename...