Skip to content

The generated wasm-utils package does not specify nitro-protocol as a dependency #28

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
geoknee opened this issue Aug 26, 2021 · 0 comments
Assignees

Comments

@geoknee
Copy link
Contributor

geoknee commented Aug 26, 2021

It should, since the generated .d.ts files import some types from nitro-protocol.

We haven't spotted this issue yet because we depend on wasm-utils only in a monorepo that happens to have nitro-protocol installed into it. We will soon hit problems if there are multiple versions of nitro-protocol in play, due to incompatible types.

Unfortunately it seems that adding the dependency to package.json won't work:

rustwasm/wasm-pack#840

@geoknee geoknee self-assigned this Aug 26, 2021
geoknee added a commit to statechannels/statechannels that referenced this issue Aug 27, 2021
NiloCK pushed a commit to statechannels/statechannels that referenced this issue Aug 31, 2021
geoknee added a commit to statechannels/statechannels that referenced this issue Sep 2, 2021
…3758)

* Replace `outcome.sol` with `exit-format` package

- no logic changes
- highlighting scope of upcoming change set

* refactor: re-fit existing data to new Outcome type

- many adjustments in declaring Outcome literals
- no **substantive** logical changes
  - exception: removal of guarantor channel in `fixtures.ts`
  - notable: `computeOutcome` from `test-helpers.ts` is widely used
- some imports exist in this commit - I wouldn't think about them!

* chore(release): publish [skip ci]

 - @statechannels/[email protected]
 - [email protected]
 - [email protected]
 - @statechannels/[email protected]
 - @statechannels/[email protected]
 - @statechannels/[email protected]

* Bump path-parse from 1.0.6 to 1.0.7

Bumps [path-parse](https://github.com/jbgutierrez/path-parse) from 1.0.6 to 1.0.7.
- [Release notes](https://github.com/jbgutierrez/path-parse/releases)
- [Commits](https://github.com/jbgutierrez/path-parse/commits/v1.0.7)

---
updated-dependencies:
- dependency-name: path-parse
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <[email protected]>

* Replace `outcome.sol` with `exit-format` package

- no logic changes
- highlighting scope of upcoming change set

* Apply new Outcome type in example ForceMove apps

- few logical changes
- inviting comment on `// TODO should we check each allocation is...`

* Add `_executeSingleAssetExit`

- internal method used by `transfer` and `claim`

* Update `transfer()`

- logical change!
- Note:
  - explicit checks / effects / interactions flow
  - removal of internal `_transfer` method

* Update `claim()`

- logical change!
- paramaters pulled into the `ClaimArgs` struct
- explicit checks / effects / interactions
- event emits on source and target channel

* Remove `_computeNewAllocation(withGuarantee)()`

- pruning old internal fcns that were used in transfer, claim
- functionality now exists in compute_transfer_effects_and_interactions,
  compute_claim_effects_and_interactions

* Remove `payable` from destination param

- separated because I don't know why this was done!

* update NitroAdjudicator.sol

- explicit checks / effects / interactions
- using new `_executeExit` function

* Update `outcome.ts` to use exit-format

- replaces previous TS definitions of Outcome types
- exports exit-format types wrapped with nitro-familiar names (Outcome)

NOTE reduction in MAX_OUTCOME_ITEMS (2000 -> 600).
This is due to extra data per item (`metadata`, `allocationType`)

* refactor: re-fit existing data to new Outcome type

- many adjustments in declaring Outcome literals
- no **substantive** logical changes
  - exception: removal of guarantor channel in `fixtures.ts`
  - notable: `computeOutcome` from `test-helpers.ts` is widely used
- some imports exist in this commit - I wouldn't think about them!

* Remove `computeNewOutcome`

- temporary convenience
- reimplementation punted to bundling with implementation of updated
  virtual funding protocol

* Update `multi-asset-holder.ts` to use exit-format

includes off-chain mirror code for
compute_{transfer, claim}_effect_and_interactions

* Replace computeNewAllocation.test.ts with ...

computeTransferEffectsAndInteractions.test.ts

* Replace computeNewAllocationWithGuarantee.test ...

with computeClaimEffectsAndInteractions.test.ts

* Add encode-guarantee.test.ts

* minor changes

- remove unused function
- add assertions

* Workaround `any` assertions

see statechannels/native-utils#28

* Monorepo configuration updates

Changes here include temporary workarounds to enable a working merge to
master. As things stand, nitro-protocol's tests run against the
exit-format enabled version of that package, but **other** tests in the
monorepo are consuming a previous version of n-p from npm.

* Update gas benchmark script and fee schedule

Note streamlined virtual channel exit with no guarantee channels!

* gasFix

* replace magic string with constant

* add TODOs

* add references to #3759

* remove as unknown type cast

* remove comment

* fix test case

 so that it won't fail for the wrong reason

* fix single asset payment app

so that it checks the allocation type

* test: add revert message checking

Co-authored-by: github-actions <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: geoknee <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant