-
Notifications
You must be signed in to change notification settings - Fork 40
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #115 from cashubtc/staging
Major Version 1.0.0
- Loading branch information
Showing
32 changed files
with
1,962 additions
and
1,440 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
name: Format Check | ||
|
||
on: [push] | ||
|
||
jobs: | ||
tests: | ||
runs-on: ubuntu-latest | ||
|
||
strategy: | ||
matrix: | ||
node-version: [18.x] | ||
# See supported Node.js release schedule at https://nodejs.org/en/about/releases/ | ||
|
||
steps: | ||
- uses: actions/checkout@v3 | ||
- name: Use Node.js ${{ matrix.node-version }} | ||
uses: actions/setup-node@v3 | ||
with: | ||
node-version: ${{ matrix.node-version }} | ||
cache: 'npm' | ||
- name: Install dependencies | ||
run: npm install | ||
- name: Check format | ||
run: npm run check-format |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
name: Nutshell integration | ||
|
||
on: [push, pull_request] | ||
|
||
jobs: | ||
integration-tests: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- name: Pull and start mint | ||
run: | | ||
docker run -d -p 3338:3338 --name nutshell -e MINT_LIGHTNING_BACKEND=FakeWallet -e MINT_LISTEN_HOST=0.0.0.0 -e MINT_LISTEN_PORT=3338 -e MINT_PRIVATE_KEY=TEST_PRIVATE_KEY cashubtc/nutshell:0.15.2 poetry run mint | ||
- name: Check running containers | ||
run: docker ps | ||
|
||
# - name: Sleep 5 seconds and curl on localhost:3338/v1/info | ||
# run: | | ||
# sleep 5 | ||
# curl localhost:3338/v1/info | ||
|
||
- name: Checkout cashu-ts repository | ||
uses: actions/checkout@v3 | ||
|
||
- name: Set up Node.js | ||
uses: actions/setup-node@v3 | ||
with: | ||
cache: 'npm' | ||
|
||
- run: npm ci | ||
- run: npm run compile | ||
- run: npm run test-integration |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
name: Publish Package to npmjs | ||
permissions: | ||
contents: read | ||
id-token: write | ||
on: | ||
release: | ||
types: [published] | ||
jobs: | ||
build: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- uses: actions/setup-node@v3 | ||
with: | ||
node-version: 20 | ||
registry-url: 'https://registry.npmjs.org' | ||
- run: npm i | ||
- run: npm run compile | ||
- run: npm publish --provenance | ||
env: | ||
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,3 +1,5 @@ | ||
dist | ||
node_modules | ||
package-lock.json | ||
package-lock.json | ||
coverage | ||
docs |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,114 @@ | ||
# Version 1.0.0 Migration guide | ||
|
||
⚠️ Upgrading to version 1.0.0 will come with breaking changes! Please follow the migration guide for a smooth transition to the new version. | ||
|
||
## Context | ||
|
||
In Version 1.0.0 the api version of mints has been upgraded to `v1`. Please read the `v1` [v1 cleanup PR](https://github.com/cashubtc/nuts/pull/55) to understand more about how the API has changed. | ||
|
||
## Breaking changes | ||
|
||
### ⚠️ Important! When upgrading to this version, the `hash2curve` function and the `default secret format` have changed. This means deterministic secret derivation will produce NOT THE SAME SECRETS as before. When upgrading to this version, wallets that have been using deterministic secrets (seed phrase) must reset counters and then `self spend`/`refresh` all proofs, so that the backups continue working. | ||
|
||
--- | ||
|
||
### Decoding LN invoices | ||
|
||
**Removed LN invoice decode:** | ||
Decoding LN invoices is no longer used inside the lib. | ||
|
||
**How to fix:** If you need to decode LN invoices, you can use | ||
|
||
> npm i [@gandlaf21/bolt11-decode](https://www.npmjs.com/package/@gandlaf21/bolt11-decode) | ||
--- | ||
|
||
### `CashuWallet` interface changes | ||
|
||
**`receive()` does no longer support multi-token tokens** | ||
|
||
To reduce complexity, simplify error handling and to prepare for token V4, this feature has been removed. only the first token inside a token will be processed | ||
|
||
**optional function AND constructor parameters are now in an onpional `options?` Object** | ||
|
||
Utility functions now have an `options` object for optional parameters, instead of passing them directly | ||
|
||
**`requestMint(amount: number)` --> `createMintQuote(amount: number)`** | ||
Now returns the following: | ||
|
||
```typescript | ||
type MintQuoteResponse = { | ||
request: string; | ||
quote: string; | ||
paid: boolean; | ||
expiry: number; | ||
}; | ||
``` | ||
|
||
where `request` is the invoice to be paid, and `quote` is the identifier used to pass to `mintTokens()`. | ||
|
||
**`requestTokens()` --> `mintTokens()`** | ||
|
||
--- | ||
|
||
**`createMeltQuote(invoice: string)`** is now used to get fee estimation and conversion quotes instead of `getFee()` and returns: | ||
|
||
```typescript | ||
type MeltQuoteResponse = { | ||
quote: string; | ||
amount: number; | ||
fee_reserve: number; | ||
paid: boolean; | ||
expiry: number; | ||
}; | ||
``` | ||
|
||
where `quote` is the identifier to pass to `meltTokens()` | ||
|
||
--- | ||
|
||
### Model changes | ||
|
||
**`MintKeys`--> `Keys`**: | ||
`MintKeys` now include the `keys`, `id` and `unit` | ||
|
||
```typescript | ||
type MintKeys = { | ||
id: string; | ||
unit: string; | ||
keys: Keys; | ||
}; | ||
|
||
type Keys = { [amount: number]: string }; | ||
``` | ||
|
||
--- | ||
|
||
**`MintKeyset`**: | ||
Used to be a string array, but now contains the additional fields `active` and `unit` | ||
|
||
```typescript | ||
type MintKeyset = { | ||
id: string; | ||
unit: string; | ||
active: boolean; | ||
}; | ||
``` | ||
|
||
--- | ||
|
||
**`BlindedMessages`:** now include the field `id`, corresponding with the mints `keysetId` | ||
|
||
```typescript | ||
type BlindedMessage { | ||
amount: number; | ||
B_: ProjPointType<bigint>; | ||
id: string; | ||
} | ||
``` | ||
|
||
--- | ||
|
||
### Pattern changes | ||
|
||
**removed `newKeys` from returns**: Functions no longer return `newKeys`. Wallets now specify the keyset they use in the BlindedMessage via the `id` field. |
Oops, something went wrong.