Skip to content
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

tDec epic - alpha release tracker #197

Merged
merged 125 commits into from
Jul 10, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
125 commits
Select commit Hold shift + click to select a range
16fb618
bump nucypher-core to 0.6.0
piotr-roslaniec Apr 26, 2023
ddde994
fix leaking mocks
piotr-roslaniec May 3, 2023
af6bba6
bump nucypher-core to 0.7.0
piotr-roslaniec May 3, 2023
4c35dd6
add ferveo-wasm to deps
piotr-roslaniec May 3, 2023
2258350
feat: add coordinator contract
piotr-roslaniec May 3, 2023
6f3eaf6
feat: add bare-bones impl of dkg client
piotr-roslaniec May 4, 2023
58755d9
Bump `nucypher-core` version (#193)
piotr-roslaniec May 4, 2023
a17e049
Merge remote-tracking branch 'upstream/tdec-epic' into integrate-ferveo
piotr-roslaniec May 4, 2023
89a50de
handle missing contracts
piotr-roslaniec May 4, 2023
390a3ab
add index to returnValueTest
piotr-roslaniec May 10, 2023
4f56060
Integrate `ferveo-wasm` into `nucypher-ts` (#196)
piotr-roslaniec May 10, 2023
fd708b8
Merge branch 'tdec-epic' into user-params#138
piotr-roslaniec May 10, 2023
a08b828
Support `index` in `returnValueTest` (#198)
piotr-roslaniec May 10, 2023
ad52ec1
feat: make index in return value test optional
piotr-roslaniec May 10, 2023
fa287d6
feat: support user-provided params in condition context
piotr-roslaniec May 10, 2023
9ebd747
fix after rebase
piotr-roslaniec May 10, 2023
97e61b2
test custom param validation
piotr-roslaniec May 10, 2023
c71b37a
refactor conditions dir structure
piotr-roslaniec May 10, 2023
04e8772
test: accept custom params in predefined methods
piotr-roslaniec May 10, 2023
6f4e6ff
refactor wallet auth into a seperate file
piotr-roslaniec May 11, 2023
055a17f
refactor supported chains out of condition class
piotr-roslaniec May 11, 2023
b02b063
replace tdec domain name in eip sig with cbd
piotr-roslaniec May 11, 2023
5415ad8
fix prettier
piotr-roslaniec May 11, 2023
63fabdb
fix tests
piotr-roslaniec May 11, 2023
85ff684
feat!: refactor conditions into a module
piotr-roslaniec May 11, 2023
5c09612
refactor conditions into subclasses with interfaces and a mixin
piotr-roslaniec May 11, 2023
d1b9818
feat!: remove unused revoked strategy
piotr-roslaniec May 11, 2023
d10d7b6
Remove unused `RevokedStrategy` (#203)
theref May 11, 2023
4126184
Fix mainnet porter URL
piotr-roslaniec May 11, 2023
7887d53
undefined is not a string
piotr-roslaniec May 11, 2023
9582060
Add support for user-defined params in `ConditionContext` (#199)
piotr-roslaniec May 12, 2023
f28908d
Refactor conditions into a separate directory struct (#200)
piotr-roslaniec May 12, 2023
ca14002
Integrate remaining items from SDK feedback (#201)
piotr-roslaniec May 12, 2023
0e180dc
move condition to conditions/base
piotr-roslaniec May 12, 2023
4e06f16
Merge remote-tracking branch 'upstream/tdec-epic' into refactor-condi…
piotr-roslaniec May 12, 2023
1066a72
Refactor conditions into modules & classes (#202)
piotr-roslaniec May 12, 2023
2cee252
test: refactor test structure
piotr-roslaniec May 15, 2023
d1e362e
chore: add codecov to ci
piotr-roslaniec May 15, 2023
68c69da
test: fix bad contract address
piotr-roslaniec May 15, 2023
bb842cd
Refactor conditions test suite (#207)
piotr-roslaniec May 15, 2023
2dfebd6
fix context parameters
piotr-roslaniec May 15, 2023
a0ea384
feat!: remove unused revocation kit
piotr-roslaniec May 15, 2023
49a6da9
Remove unused `RevocationKit` (#208)
piotr-roslaniec May 16, 2023
96291e8
reworked evm condition validation
piotr-roslaniec May 16, 2023
5bf6b74
reworked rpc condition validation
piotr-roslaniec May 16, 2023
278333a
self review
piotr-roslaniec May 16, 2023
6c4d9a0
remove limitations on standard contract type methods and params
piotr-roslaniec May 17, 2023
a22cb9b
address pr comments
piotr-roslaniec May 17, 2023
5d08d7b
address pr comments, part 2
piotr-roslaniec May 18, 2023
08e6e94
Address issues in condition and condition context (#209)
piotr-roslaniec May 22, 2023
284df4a
fix: struct deser
piotr-roslaniec May 29, 2023
76ac0f1
feat: add class metadata to serialized conditions
piotr-roslaniec May 30, 2023
006dbd8
Fix deserialization of protocol objects (#214)
piotr-roslaniec Jun 2, 2023
b6eb53e
feat: add tdec endpoint to porter
piotr-roslaniec May 17, 2023
cb50687
sketch a cbd flow with dkg
piotr-roslaniec May 18, 2023
b24af3f
fix e2e test
piotr-roslaniec May 19, 2023
e08197d
silence tsc warnings
piotr-roslaniec May 23, 2023
5280f4f
remove unused fields
piotr-roslaniec May 23, 2023
063621b
simplify naming
piotr-roslaniec May 30, 2023
a7a4cc8
update after rebase
piotr-roslaniec Jun 6, 2023
c613ca3
fix naming
piotr-roslaniec Jun 6, 2023
3cbcbac
Implement e2e flow with pre-existing DKG rituals for tDec (#210)
piotr-roslaniec Jun 6, 2023
3ea1b51
Add class metadata to serialized conditions (#215)
piotr-roslaniec Jun 6, 2023
1c596a0
fix tests
piotr-roslaniec Jun 7, 2023
e707abf
feat: update nucypher-core to 0.9.0
piotr-roslaniec Jun 7, 2023
2c8442c
Update `nucypher-core` to 0.9.0 (#216)
KPrasch Jun 8, 2023
938a2a3
Deprecate "timelock" condition in favor of TimeCondition with method …
derekpierre Jun 8, 2023
454a267
Chain value for EvmCondition should be a number instead of a string.
derekpierre Jun 9, 2023
b1319b1
Remove TimeLockCondition object in favor of TimeCondition (#218)
derekpierre Jun 9, 2023
f78a55f
feat: use e2e-encrypted decryption requests
piotr-roslaniec Jun 9, 2023
8371697
update coordinator contract
piotr-roslaniec Jun 9, 2023
a47e208
use coordinator provided session keys
piotr-roslaniec Jun 9, 2023
f9c43d0
properly establish session keys
piotr-roslaniec Jun 9, 2023
03eb03e
self review
piotr-roslaniec Jun 9, 2023
efcf670
refactor: evm and time cond to inherit from rpc
piotr-roslaniec Jun 12, 2023
e23b0cb
Update comment
piotr-roslaniec Jun 12, 2023
863983d
chore(ci): monitor bundle size
piotr-roslaniec Jun 12, 2023
2b68d2c
Monitor Js bundle size #212 (#221)
piotr-roslaniec Jun 13, 2023
989e6d5
Use e2e-encrypted tDec requests (#219)
piotr-roslaniec Jun 14, 2023
77278d6
feat!: rename EvmCondition to ContractCondition
piotr-roslaniec Jun 12, 2023
662b5f5
timelock doesn't take parameters
piotr-roslaniec Jun 12, 2023
96a92d5
fix leaking rpc condition parmeters to time condition schema
piotr-roslaniec Jun 13, 2023
aad7ebe
Refactor cond #206 (#220)
piotr-roslaniec Jun 14, 2023
81d23ef
feat: add conveniance method making encrypters
piotr-roslaniec Jun 12, 2023
5912dca
avoid reconstructing encrypter in strategy constructor
piotr-roslaniec Jun 12, 2023
0e23866
refactor: hide strategy fields and constructors
piotr-roslaniec Jun 13, 2023
b1a3332
remove redundant parameter
piotr-roslaniec Jun 14, 2023
edd85ac
fix after rebase
piotr-roslaniec Jun 14, 2023
d7db27a
feat: validate function abi params and method
piotr-roslaniec Jun 12, 2023
4f32411
fix after rebase
piotr-roslaniec Jun 14, 2023
7138a04
Validate `functionAbi`-related fields (#223)
piotr-roslaniec Jun 14, 2023
6c53683
apply pr suggestions
piotr-roslaniec Jun 15, 2023
c0d33d5
Add a convenience method for creating encrypters #125 (#222)
piotr-roslaniec Jun 16, 2023
5b5ba52
Initial work for implementing prefixed conditions in typescript.
derekpierre Jun 15, 2023
8052d3d
Remove class metadata entry from serialized conditions since predefin…
derekpierre Jun 15, 2023
90f87ba
Separate schema record from schema itself so that the schema objects …
derekpierre Jun 15, 2023
63c22f6
Compare ConditionSet objects correctly using objectEquals().
derekpierre Jun 15, 2023
68d533d
Improve condition deserialization code.
derekpierre Jun 16, 2023
86a69f6
Additional testing for invalid conditions whose type cannot be determ…
derekpierre Jun 16, 2023
e810f42
Add tests for contract condition with function abi defined.
derekpierre Jun 16, 2023
ca14ed0
Uncomment previously commented tests regarding the use of functionAbi…
derekpierre Jun 16, 2023
e39109f
Support prefix notation for compound conditions (#226)
derekpierre Jun 19, 2023
5ea1745
Add version to condition data.
derekpierre Jun 16, 2023
b3d0c39
Update ConditionSet.equals() method and add tests.
derekpierre Jun 19, 2023
80d4347
Rename `ConditionSet` to `ConditionLingo`.
derekpierre Jun 19, 2023
324d2d9
Additional testing for equality of `ConditionExpression` objects.
derekpierre Jun 20, 2023
8a599be
Apply RFCs from #229.
derekpierre Jun 20, 2023
553f930
Make incompatible version test more robust.
derekpierre Jun 21, 2023
b67cbc9
Versioned Conditions (#229)
derekpierre Jun 21, 2023
ccdeba0
add TODOs
piotr-roslaniec Jun 22, 2023
87e237f
feat!: hide dkg public params
piotr-roslaniec Jun 19, 2023
4cb467a
tdec runs e2e
piotr-roslaniec Jun 27, 2023
c2acc61
fix tests
piotr-roslaniec Jun 27, 2023
f682eb2
apply pr suggestions
piotr-roslaniec Jun 27, 2023
1b2ae4e
apply pr suggestions, part 2
piotr-roslaniec Jun 27, 2023
e076f1d
chore(release): 1.0.0-alpha.0
piotr-roslaniec Jun 27, 2023
78b3303
apply pr suggestions, part 3
piotr-roslaniec Jun 27, 2023
50dd01c
Implement feedback from integrating tDec flow (#227)
piotr-roslaniec Jun 27, 2023
32e6a94
use ethers abi parser to validate function abi
piotr-roslaniec Jun 16, 2023
37a2b72
apply pr suggestions
piotr-roslaniec Jun 28, 2023
162e2ba
apply pr suggestions
piotr-roslaniec Jun 28, 2023
5bd27b4
Update src/conditions/base/contract.ts
piotr-roslaniec Jun 28, 2023
d9d957e
Validate `functionAbi` using `ethers` ABI parser (#228)
piotr-roslaniec Jun 28, 2023
5695bc0
fix!: incorrect condition parsing leading to undefined variables in c…
piotr-roslaniec Jul 7, 2023
a0c34d8
chore(release): 1.0.0-alpha.1
piotr-roslaniec Jul 10, 2023
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
32 changes: 23 additions & 9 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
name: CI
on: [push, pull_request]
on: [ push, pull_request ]
jobs:
build_project:
name: Build, lint, and test on Node ${{ matrix.node }} and ${{ matrix.os }}

runs-on: ${{ matrix.os }}
strategy:
matrix:
node: ['16.x']
os: [ubuntu-latest]
node: [ '16.x' ]
os: [ ubuntu-latest ]

steps:
- name: Checkout repo
Expand All @@ -22,23 +22,37 @@ jobs:
- name: Install deps and build (with cache)
uses: bahmutov/npm-install@v1

- name: Test
run: yarn test
- name: Check
run: yarn run package-check

- name: Build
run: yarn build

- name: Check
run: yarn run package-check
- name: Test
run: yarn test

- name: Upload coverage to Codecov
uses: codecov/codecov-action@v3
with:
fail_ci_if_error: true

- name: Check bundle size
uses: sarthak-saxena/JSBundleSize@3.0.0
with:
# Skipping some commands with 'echo ok'
bootstrap: 'echo ok'
build_command: 'echo ok'
dist_path: 'build'
token: ${{ secrets.GITHUB_TOKEN }}

build_examples:
name: Build project examples

runs-on: ${{ matrix.os }}
strategy:
matrix:
node: ['16.x']
os: [ubuntu-latest]
node: [ '16.x' ]
os: [ ubuntu-latest ]
example:
[
'nodejs',
Expand Down
47 changes: 47 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,55 @@

All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.

## [1.0.0-alpha.1](https://github.com/nucypher/nucypher-ts/compare/v1.0.0-alpha.0...v1.0.0-alpha.1) (2023-07-10)


### ⚠ BREAKING CHANGES

* incorrect condition parsing leading to undefined variables in context

### Bug Fixes

* incorrect condition parsing leading to undefined variables in context ([5695bc0](https://github.com/nucypher/nucypher-ts/commit/5695bc0b83d97b23e9fb6f1d9b6c1f71cc604049))

## [1.0.0-alpha.0](https://github.com/nucypher/nucypher-ts/compare/v1.0.0-beta.1...v1.0.0-alpha.0) (2023-06-27)


### ⚠ BREAKING CHANGES

* hide dkg public params
* rename EvmCondition to ContractCondition
* remove unused revocation kit
* remove unused revoked strategy
* refactor conditions into a module

### Features

* add bare-bones impl of dkg client ([6f3eaf6](https://github.com/nucypher/nucypher-ts/commit/6f3eaf64d6b7c419d7b1159cd0a1a3264266e1ea))
* add class metadata to serialized conditions ([76ac0f1](https://github.com/nucypher/nucypher-ts/commit/76ac0f1ae56ffcf9bb8410f015f52e3af6c98af1))
* add conveniance method making encrypters ([81d23ef](https://github.com/nucypher/nucypher-ts/commit/81d23efb40f343cb84f22a99264b6836d2e482ac))
* add coordinator contract ([2258350](https://github.com/nucypher/nucypher-ts/commit/22583506e564d4525e632e35a3b70697b2e43eb9))
* add tdec endpoint to porter ([b6eb53e](https://github.com/nucypher/nucypher-ts/commit/b6eb53e1422c099d8c663ea5a97d82c67bf41d36))
* hide dkg public params ([87e237f](https://github.com/nucypher/nucypher-ts/commit/87e237fcbad8cab509de12d2f4ff27c8ab79dc20))
* make index in return value test optional ([ad52ec1](https://github.com/nucypher/nucypher-ts/commit/ad52ec174de3ad0ce1118b2fba7df47a96c262fb))
* refactor conditions into a module ([85ff684](https://github.com/nucypher/nucypher-ts/commit/85ff684efe3e4a9b32d628e65606770459d96a7c))
* remove unused revocation kit ([a0ea384](https://github.com/nucypher/nucypher-ts/commit/a0ea384ec813052c0fbab06e7f0644ebb105c089))
* remove unused revoked strategy ([d1b9818](https://github.com/nucypher/nucypher-ts/commit/d1b9818b0513f093094d10945fc943c1690b7bcb))
* rename EvmCondition to ContractCondition ([77278d6](https://github.com/nucypher/nucypher-ts/commit/77278d6cccacca87be176a0b807426a5a5b5c11f))
* support user-provided params in condition context ([fa287d6](https://github.com/nucypher/nucypher-ts/commit/fa287d6132155fa9a453b0f6e3afc76bd36b57eb))
* update nucypher-core to 0.9.0 ([e707abf](https://github.com/nucypher/nucypher-ts/commit/e707abf44665deda4df60ee838d72f1e743a52aa))
* use e2e-encrypted decryption requests ([f78a55f](https://github.com/nucypher/nucypher-ts/commit/f78a55fb362c5c2eccc07f34d35ab89cc34118f7))
* validate function abi params and method ([d7db27a](https://github.com/nucypher/nucypher-ts/commit/d7db27a90f8a27448568430a0654e6721813416e))


### Bug Fixes

* struct deser ([284df4a](https://github.com/nucypher/nucypher-ts/commit/284df4a26cb6c512749d918e079052808c4335c4))

## [1.0.0-beta.1](https://github.com/nucypher/nucypher-ts/compare/v1.0.0-beta.0...v1.0.0-beta.1) (2023-03-27)

### ⚠ BREAKING CHANGES
* `TimeLockCondition` no longer supported; instead `TimeCondition` with method name `blocktime` can be used

### ⚠ BREAKING CHANGES

Expand Down
7 changes: 4 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,9 @@ Full documentation can be found [here](https://docs.threshold.network/app-develo
> **Warning**
>
> `nucypher-ts` is under [active development](https://github.com/nucypher/nucypher-ts/pulls):
>
> - SDK does not support policy revocation.
> - We expect breaking changes.
>
> - SDK does not support policy revocation.
> - We expect breaking changes.
## Installation

Expand All @@ -26,6 +26,7 @@ To learn more, follow the tutorial at Threshold Network's [docs](https://docs.th
See [`nucypher-ts/examples`](https://github.com/nucypher/nucypher-ts/tree/main/examples) to find out how to integrate `nucypher-ts` into your favorite web framework.

We also provide two code samples of TAC applications:

- [nucypher/tdec-sandbox](https://github.com/nucypher/tdec-sandbox)
- [nucypher/tdec-nft-example](https://github.com/nucypher/tdec-nft-example)

Expand Down
Loading