go-perun icon indicating copy to clipboard operation
go-perun copied to clipboard

🌔 Perun's Blockchain-Agnostic State Channels Framework in Go.

Results 47 go-perun issues
Sort by recently updated
recently updated
newest added

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...

refactor

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...

enhancement
good first issue
help wanted
umbrella

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...

documentation

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()`...

💥 Breaking API

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...

refactor