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

Ridvan rebase hsd 2.3.0 #50

Closed
wants to merge 232 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
232 commits
Select commit Hold shift + click to select a range
e35f708
test: demonstrate interactive name swaps
pinheadmz Aug 18, 2020
dd63d65
bench: create account with lookahead
pinheadmz Sep 7, 2020
62786ed
wallet: bump lookahead to 200
pinheadmz Aug 31, 2020
f9ca284
test: lookahead test requires 200 addresses
pinheadmz Sep 7, 2020
f12bb20
miner: parse minWeight option from Full Node
pinheadmz Sep 15, 2020
480d286
policy: set default minimum block weight to 5000
pinheadmz Sep 15, 2020
42b567c
test: miner including free TXs when minWeight is high enough
pinheadmz Sep 15, 2020
05a9b02
pkg: CHANGELOG
pinheadmz Sep 17, 2020
06c48ef
test: make cloudflare fake claims deterministic
pinheadmz Sep 22, 2020
ff54a15
Merge PR #517 'pinheadmz/cloudflare1'
pinheadmz Sep 23, 2020
a366682
test: add more time between claim and block in mempool reorg test
pinheadmz Sep 23, 2020
c85d9b4
Merge PR #518 'pinheadmz/cloudflare2'
pinheadmz Sep 23, 2020
25173cf
Merge pull request #514 from pinheadmz/free1
chjj Nov 22, 2020
dd2cf3c
Merge pull request #512 from pinheadmz/finalize2
chjj Nov 22, 2020
65b662a
Merge pull request #506 from pinheadmz/lookahead1
chjj Nov 22, 2020
a1409dc
Merge pull request #500 from pinheadmz/swap1
chjj Nov 22, 2020
8aab172
wallet: Deep Clean
pinheadmz Sep 3, 2020
9e19110
test: deep clean
pinheadmz Jan 4, 2021
2fd89c6
pkg: CHANGELOG
pinheadmz Sep 11, 2020
e5cb964
wallet-http: fix the return of POST /reveal and /redeem when no name …
peipeiInt Jan 8, 2021
4042141
Merge PR #532 from 'peipeiTu/reveal-all-fix'
pinheadmz Jan 11, 2021
56dc4d7
test: refactor mempool reorg test to only fakeClaim once
pinheadmz Jan 7, 2021
d384f6a
Merge PR #531 from 'pinheadmz/cloudflare3'
pinheadmz Jan 12, 2021
c5c47a8
Merge PR #511 from 'pinheadmz/deeprescan1'
pinheadmz Jan 12, 2021
0ce7d9d
test: cover mempool eviction when full
pinheadmz Sep 14, 2020
9355cc8
mempool: evict expired transactions regardless of mempool size
pinheadmz Sep 14, 2020
c5e50e6
fullnode: parse --mempool-expiry-time
pinheadmz Jan 12, 2021
1a086e4
Merge PR #515 from 'pinheadmz/expiry1'
pinheadmz Jan 12, 2021
c7c76f4
pkg: update deps.
chjj Jan 26, 2021
4e62b8a
net/seeds: update seeds.
chjj Jan 26, 2021
d304ff4
v2.3.0
chjj Jan 26, 2021
dff36d6
dns/records: bugfix assertion in TLSA JSON parsing
Aug 19, 2019
650f07e
seeds/testnet: update seeds list
boymanjor Aug 26, 2019
2d5ccc7
Change simnet parameters for dev.
turbomaze Nov 20, 2018
d8c7ebf
Change package.json to enable publishing to npm.
turbomaze Nov 20, 2018
c2ed8bd
Export more files.
turbomaze Nov 20, 2018
d75dfd7
Increase lookahead number.
turbomaze Nov 24, 2018
f2e1e9b
Change formatter rules to match handshake's.
turbomaze Jan 18, 2019
951ad66
Bump version number to 0.0.3.
turbomaze Jan 22, 2019
42b85b5
Load wallet options from the main node config.
turbomaze Jan 23, 2019
b1b7d64
Don't npmignore the names.json file.
turbomaze Jan 23, 2019
dc472d6
Bump version number to 0.0.6.
turbomaze Jan 28, 2019
454225a
Use the namebase-hs-client package instead.
turbomaze Jan 29, 2019
000622d
Bump version number to 0.0.7.
turbomaze Jan 29, 2019
c9925fa
Add vault module with Account that generates static address from config
Feb 12, 2019
4e204d2
Further increase the lookahead param.
turbomaze Feb 23, 2019
a555e98
Show the name that caused 'auction not found' and 'name has expired' …
turbomaze Feb 23, 2019
aa3591f
Bump version number to 0.0.8.
turbomaze Feb 23, 2019
ac32142
Bump version number to 0.0.9.
turbomaze Mar 20, 2019
fd15fa7
Add the package.lock file back.
turbomaze Apr 3, 2019
74c7259
Bump version number to 0.0.10.
turbomaze Apr 3, 2019
97d8c6a
Change simnet/regtest params.
turbomaze Apr 5, 2019
ba6d5bb
Bump version number to 0.0.11.
turbomaze Apr 5, 2019
33b4eb1
Change the regtest params again.
turbomaze Apr 16, 2019
ee38344
Bump version number to 0.0.12.
turbomaze Apr 16, 2019
a3d4b03
Fix broken regtest parameter.
turbomaze Apr 23, 2019
c86347b
Change the regtest renewal maturity to 1 block.
turbomaze Apr 23, 2019
668a72d
Bump version number to 0.0.15.
turbomaze May 21, 2019
78271bf
Add wallet helpers to get addresses without modifying state.
turbomaze Jun 25, 2019
f1a803b
Expose the get address helpers over http.
turbomaze Jun 25, 2019
ca18821
Add a test case for getting specific addresses.
turbomaze Jun 25, 2019
fd39361
Test getting change addresses too.
turbomaze Jun 25, 2019
011be8b
Bump version number to 0.0.20.
turbomaze Jun 25, 2019
2d3adb0
Bump version number to 0.0.21.
turbomaze Aug 10, 2019
02ae7c8
wallet-auction: create integration test
pinheadmz Jan 26, 2019
108c87b
txdb: allow doubleOpen after expiry
pinheadmz Jan 26, 2019
e3c76f2
wallet-auction-test: rename and fix
pinheadmz Apr 9, 2019
8e99726
Bump namebase-hsd version number to 0.0.22.
turbomaze Aug 10, 2019
b1ae7f0
Add requestmissingblocks rpc call that emits an event
Aug 30, 2019
8ac19d6
Bump version to 0.0.23
Aug 30, 2019
fc9cfa8
Bump version number to 0.0.24.
turbomaze Sep 10, 2019
55b1293
Add the domain name to a bunch of error messages.
turbomaze Sep 18, 2019
72e35ef
Bump the version number to 0.0.25.
turbomaze Sep 18, 2019
665a68b
Add bslint devDependency
Oct 23, 2019
b78edbb
gitignore: Ignore project-specific .vscode settings
Oct 23, 2019
30a5364
eslint: Fix all existing eslint errors
Oct 23, 2019
f7c3a53
wallet plugin: add ability to restore wallet from backup
Oct 15, 2019
7313933
Bump the version number to 0.0.26
Oct 16, 2019
b8d2968
wallet: add new rpc endpoint to set raw name states
turbomaze Nov 6, 2019
d17da67
Expose an rpc call to get a name's raw resource.
turbomaze Nov 6, 2019
6fb88f3
Bump the version number to 0.0.27.
turbomaze Nov 6, 2019
28e75c3
Create an emit namebase event rpc endpoint.
turbomaze Dec 5, 2019
4e92ab4
Revert "Add bslint devDependency"
turbomaze Dec 7, 2019
9a47381
Revert "Bump the version number to 0.0.26"
turbomaze Dec 7, 2019
f01bc40
Revert "wallet plugin: add ability to restore wallet from backup"
turbomaze Dec 7, 2019
7736b6b
Revert "wallet: include network in master key JSON serialization calls"
turbomaze Dec 7, 2019
301282c
Bump version to 0.0.29.
turbomaze Dec 7, 2019
c45c7e7
Change wallet-options to the more correct custom-options.
turbomaze Jan 7, 2020
ee8b2cd
Change package name back to hsd.
turbomaze Jan 29, 2020
67b439a
Update genesis.
turbomaze Feb 3, 2020
cadc983
Bubble up the sendrawairdrop error.
turbomaze Feb 19, 2020
41f4b94
Add handle function to intercept dns requests
nulven Mar 13, 2020
bcdcd6d
Add config flags
nulven Mar 13, 2020
4996186
Remove dnssec signatures
nulven Mar 13, 2020
a8c5bdd
Fix SOA issues
nulven Mar 15, 2020
f25fd39
Switch soa_rewrite to store nameserver
nulven Mar 15, 2020
15ed44d
Fix soa_rewrite variable check
nulven Mar 15, 2020
deac7fe
Remove hsd.zone
nulven Mar 15, 2020
b8dfc89
Fix attribute style
nulven Mar 15, 2020
6ffa291
Add dnssec changes as config
nulven Mar 15, 2020
39c420f
Move suffix changes to helper functions
nulven Mar 15, 2020
aafc237
Move suffix changes to helpers
nulven Mar 15, 2020
2f3360d
Fix suffix removal
nulven Mar 15, 2020
55f23c5
Fix the tuple return syntax error.
turbomaze Mar 15, 2020
9a43bc4
Fix the bugs with the hsd resolver modifications.
turbomaze Mar 15, 2020
93b18f6
add in-memory caching for idempotent bidding
rsolari Mar 17, 2020
5036ff9
use an LRU cache instead of an unbounded object
rsolari Mar 17, 2020
0a39c40
formatting fixes
rsolari Mar 17, 2020
6f7bc83
increase cache size & show my work
rsolari Mar 17, 2020
154ef06
Add idempotent rpc call
nulven Mar 28, 2020
cfd4650
Remove print statements
nulven Mar 28, 2020
2350f9f
Add raw update rpc call
nulven Mar 28, 2020
ba3ae7c
Fix function parameters
nulven Mar 28, 2020
95ff629
Fix cache
nulven Mar 28, 2020
17e80fc
Remove raw update change
nulven Mar 28, 2020
93e6d24
Revert raw update changes
nulven Mar 28, 2020
2ea8ea0
Add id to validate function
nulven Mar 28, 2020
a1603c3
Fix typo
nulven Mar 28, 2020
b665b1d
Fix the bid idempotent bug.
turbomaze Mar 28, 2020
189a714
Fix the send update call.
turbomaze Mar 28, 2020
328cd63
Modify the regtest parameters.
turbomaze Apr 21, 2020
6f0d74f
sendopenidempotent rpc method
RevCBH Jul 3, 2020
eb8a87c
PR feedback
RevCBH Jul 3, 2020
c00fe01
Fix fromCache not being sent
RevCBH Jul 3, 2020
9812e8d
Remove bslint.
turbomaze Jul 23, 2020
b7156f5
Fix buggy toJSON calls.
turbomaze Jul 23, 2020
202eeaf
Fix wrong constant bug in dns server.
turbomaze Jul 23, 2020
5a39254
wallet: expose a coin distribution endpoint for utxo summary statistics
turbomaze Jul 25, 2020
c438018
HTTP API endpoint for proxying sendupdateraw
RevCBH Jul 24, 2020
90ae5f3
/wallet/:id/coin-distribution response change
RevCBH Jul 25, 2020
0bb232d
createRawUpdate, not createUpdateRaw
RevCBH Jul 28, 2020
12ef1c3
wallet: double lock when funding
RevCBH Aug 3, 2020
bc509eb
'sweepdust' coin selection
RevCBH Aug 7, 2020
455b318
Don't include infinite OPENs when sweeping change txs
RevCBH Aug 7, 2020
4474fdb
PR feedback
RevCBH Aug 10, 2020
618968b
Support for clearing HSD caches
RevCBH Aug 27, 2020
31c75a3
PR feedback
RevCBH Aug 27, 2020
f8b80a6
GET /wallet/:id/balance/details endpoint
RevCBH Sep 4, 2020
33ae887
Idempotency caches for http
RevCBH Aug 5, 2020
16bcee5
PR feedback
RevCBH Aug 27, 2020
237257f
Signature fixes
RevCBH Aug 27, 2020
543a4c9
locked value/count in coin distribution
RevCBH Sep 8, 2020
6cd1186
wallet: deep rescan
pinheadmz Sep 3, 2020
6fe50f0
test: deep rescan
pinheadmz Sep 8, 2020
63c2218
wallet: keep bids when wiping for deep rescan
pinheadmz Sep 8, 2020
1de8c20
pkg: CHANGELOG
pinheadmz Sep 11, 2020
367742f
Update github workflows config.
turbomaze Oct 13, 2020
6566715
Fix lint errors.
turbomaze Oct 13, 2020
2207263
Fix broken custom options code for plugin config.
turbomaze Oct 13, 2020
7d233ef
test: modify deep rescan tests to be more robust to different network…
turbomaze Oct 14, 2020
4f1af24
test: fix issues with other test cases
turbomaze Oct 14, 2020
815f95c
test: fix hardcoded block counts in the auction tests.
turbomaze Oct 14, 2020
d92a1d9
test: fix hardcoded error message test for redeems
turbomaze Oct 14, 2020
a1b60fa
dns/server: fix bugs with suffixing/SOA rewriting
turbomaze Oct 14, 2020
75c48fd
test: deep rescan tests, fix alice/bob name order
turbomaze Oct 14, 2020
09923e7
Don't recurse if the question name matches the resolver suffix.
turbomaze Dec 2, 2020
c470013
batch open support on hsd full node
rozaydin Nov 27, 2020
524c791
removed comments from wallet-http-test
rozaydin Nov 27, 2020
7354afa
package.json and package-lock.json is updated
rozaydin Nov 30, 2020
55691cf
updated dependency to master branch and checked linting
rozaydin Nov 30, 2020
d30152d
renamed errors variable from errors to errorMessages
rozaydin Nov 30, 2020
06a00da
Add spaces in parens eslint rule.
turbomaze Dec 1, 2020
eddae6c
comments from code inspection
rozaydin Dec 3, 2020
b8d3693
package.json dependency update
rozaydin Dec 3, 2020
040145d
lint error fix and package-lock.json
rozaydin Dec 8, 2020
3a8d0d9
dependencies update
rozaydin Dec 11, 2020
6856427
wallet updated for batchReveal support
rozaydin Dec 11, 2020
8de904a
tests and refactoring
rozaydin Dec 13, 2020
0942d4d
linting issues
rozaydin Dec 13, 2020
bf06a86
changed string to String, removed mineBlocks statement from test
rozaydin Dec 14, 2020
ea2d133
inspection changes
rozaydin Dec 15, 2020
204c4be
inspection updates
rozaydin Dec 15, 2020
065ae77
partial bids support
rozaydin Dec 18, 2020
d64a850
linitng and test issues
rozaydin Dec 18, 2020
caa24bd
additonal inspection fixes
rozaydin Dec 18, 2020
56fb40c
updated wait duration for tx pool
rozaydin Dec 18, 2020
eb3b89d
TRANSFER and FINALIZE caches
RevCBH Dec 21, 2020
ca84134
batch bid initial commit
rozaydin Jan 3, 2021
1c65bb5
fixed failing tests, aligned the interface to expected
rozaydin Jan 3, 2021
9f0b1ed
batch bids first draft
rozaydin Jan 4, 2021
13f72f5
batch bids functionality
rozaydin Jan 13, 2021
4bd2887
eslint checks
rozaydin Jan 13, 2021
b872785
eslint fixes
rozaydin Jan 13, 2021
d69b43a
removed unused vars
rozaydin Jan 13, 2021
3bd68a6
modified test suit to prevent timeouts
rozaydin Jan 13, 2021
749b59c
removed unnecessary statement from test
rozaydin Jan 13, 2021
313d0ec
self review updates
rozaydin Jan 13, 2021
dd44093
self review updates
rozaydin Jan 13, 2021
547cfb9
updated a comment
rozaydin Jan 13, 2021
408bda0
fixed linting errors
rozaydin Jan 13, 2021
e4e46da
inspection fixes
rozaydin Jan 18, 2021
bd069d2
inspection updates
rozaydin Jan 22, 2021
b710c67
removed comments
rozaydin Jan 22, 2021
c94a537
inspection fix
rozaydin Jan 27, 2021
853c066
indentation fixes
rozaydin Jan 27, 2021
c84282d
Blacklist rfc2606 domains from the dns resolver.
turbomaze Jan 27, 2021
de8ba6e
Add GET /wallet/:id/ownsName/:name
RevCBH Jan 26, 2021
d43ffc2
PR feedback
RevCBH Jan 28, 2021
b6e104b
batch finish updates
rozaydin Feb 10, 2021
a175dbb
batchFinish initial draft
rozaydin Feb 11, 2021
2f8cac9
batch finish wallet code with cache integration
rozaydin Feb 13, 2021
734c800
self review updates
rozaydin Feb 13, 2021
3b759fe
self review updates
rozaydin Feb 13, 2021
0bd0bee
additional test for cache coverage
rozaydin Feb 13, 2021
d258765
records refactoring
rozaydin Feb 14, 2021
71f8777
removed comment
rozaydin Feb 10, 2021
12fe11d
minor improvement to prevent generating an extra receive address
rozaydin Feb 10, 2021
6653f81
self review changes
rozaydin Feb 14, 2021
141cce6
self review updates
rozaydin Feb 14, 2021
ddf1c0a
self review updates
rozaydin Feb 14, 2021
cbd2cae
updated packge.json to use hash for hs-client dependency
rozaydin Feb 17, 2021
30124f4
fixed a bug regarding the network types
rozaydin Feb 18, 2021
bf6c441
inspection updates
rozaydin Feb 18, 2021
e8b6c15
inspection updates
rozaydin Feb 18, 2021
5635df9
inspection updates
rozaydin Feb 18, 2021
bbae298
PR review updates
rozaydin Feb 19, 2021
1f6b762
review updates
rozaydin Feb 19, 2021
12c8bc7
Apply minor style cleanup.
turbomaze Feb 19, 2021
be12eac
Fix the batch finish data validator.
turbomaze Feb 19, 2021
39bc9f0
test updates
rozaydin Feb 19, 2021
4d784c4
rebase to hsd 3.2.0
rozaydin Feb 23, 2021
1064ba2
rebase 3.2.0
rozaydin Feb 24, 2021
40e4b19
hsd 3.2.0 rebase
rozaydin Feb 24, 2021
72292db
test alignment
rozaydin Feb 25, 2021
ac6ed21
update test
rozaydin Feb 25, 2021
1f471b1
failing tests
rozaydin Feb 25, 2021
053fee2
changed the lookahead param to 255
rozaydin Feb 25, 2021
8de1746
figured out error cases
rozaydin Feb 26, 2021
1f04c12
temp fix for lookahead param
rozaydin Feb 26, 2021
f817dde
finally all tests working, i have spent at least 3 hours bcoz of the …
rozaydin Feb 28, 2021
a7185e9
merged with production-namebase
rozaydin Mar 1, 2021
95b0f40
removed unused test
rozaydin Mar 1, 2021
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
38 changes: 36 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,40 @@
# HSD Release Notes & Changelog

## unreleased
## v2.3.0

### Node changes

- `FullNode` now parses option `--min-weight=<number>` (`min-weight: <number>` in
hsd.conf or `minWeight: <number>` in JavaScript object instantiation).
When assembling a block template, if there are not enough fee-paying transactions available,
the miner will add transactions up to the minimum weight that would normally be
ignored for being "free" (paying a fee below policy limit). The default value is
raised from `0` to `5000` (a 1-in, 2-out BID transaction has a weight of about `889`).

- Transactions that have sat unconfirmed in the mempool for 3 days will be evicted.
This is the default `MEMPOOL_EXPIRY_TIME` value set in `policy.js` but can be
configured (in seconds) with the `FullNode` option `--mempool-expiry-time`.

### Wallet API changes

- Adds new wallet HTTP endpoint `/deepclean` that requires a parameter
`I_HAVE_BACKED_UP_MY_WALLET=true`. This action wipes out balance and transaction
history in the wallet DB but retains key hashes and name maps. It should be used
only if the wallet state has been corrupted by issues like the
[reserved name registration bug](https://github.com/handshake-org/hsd/issues/454)
or the
[locked coins balance after FINALIZE bug](https://github.com/handshake-org/hsd/pull/464).
After the corrupt data has been cleared, **a walletDB rescan is required**.

### Node API changes

- Adds new wallet HTTP endpoint `/deeprescan` that requires a parameter
`I_HAVE_BACKED_UP_MY_WALLET=true`. This action wipes out balance and transaction
history in the wallet DB but retains key hashes and name maps. It should be used
only if the wallet state has been corrupted by issues like the
[reserved name registration bug](https://github.com/handshake-org/hsd/issues/454)
or the
[locked coins balance after FINALIZE bug](https://github.com/handshake-org/hsd/pull/464).

### Node API changes

Expand All @@ -15,7 +49,7 @@ or the
### Wallet changes

- Fixes a bug that ignored the effect of sending or receiving a FINALIZE on a
wallet's `lockedConfirmed` and `lockedUnconfirmed` balance.
wallet's `lockedConfirmed` and `lockedUnconfirmed` balance.

## v2.2.0

Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ $ npm install -g https://github.com/handshake-org/hsd.git

A `git` ref can be used to install a particular version by appending
a `#` and the name of the `git` ref to the URL. For example,
`https://github.com/handshake-org/hsd.git#v2.2.0`. It is recommended
`https://github.com/handshake-org/hsd.git#v2.3.0`. It is recommended
to use the [latest tagged release](https://github.com/handshake-org/hsd/releases).

If adding `hsd` as a dependency to a project, use the command:
Expand Down
29 changes: 29 additions & 0 deletions bench/account.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
'use strict';

const {tmpdir} = require('os');
const fs = require('fs');
const path = require('path');
const WalletDB = require('../lib/wallet/walletdb');
const bench = require('./bench');

const location = path.join(tmpdir(), 'hsd_account_bench_' + String(Date.now()));
const wdb = new WalletDB({
network: 'regtest',
memory: false,
location
});

(async () => {
await fs.mkdirSync(location);
await wdb.open();
const wallet = await wdb.create();

const end = bench('account');
for (let i = 0; i < 1000; i++) {
await wallet.createAccount({});
}
end(1000);
})().catch((err) => {
console.error(err.stack);
process.exit(1);
});
Loading