Skip to content

Commit

Permalink
Merge PR #807 from 'nodech/valid-update'
Browse files Browse the repository at this point in the history
  • Loading branch information
nodech committed May 30, 2023
2 parents 93ee442 + 2a04e60 commit b03d700
Show file tree
Hide file tree
Showing 5 changed files with 50 additions and 46 deletions.
6 changes: 5 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,11 @@

## v6.0.0

#### Wallet configuration
### Node and Wallet HTTP API
Validation and request paremeter errors will no longer return (and log) `500`
status code, instead will return `400`.

### Wallet configuration
`hsd.conf` can now be used to define wallet options, when wallet is running as a plugin.
Configurations with `wallet-` prefix will be passed to the wallet. `hsd.conf` wont be used
if the wallet is running in standalone mode.
Expand Down
2 changes: 1 addition & 1 deletion lib/node/http.js
Original file line number Diff line number Diff line change
Expand Up @@ -399,7 +399,7 @@ class HTTP extends Server {
const valid = Validator.fromRequest(req);
const hash = valid.bhash('hash');

assert(hash, 'Must pass hash.');
enforce(hash, 'Must pass hash.');

const invalid = this.mempool.rejects.test(hash, 'hex');

Expand Down
78 changes: 39 additions & 39 deletions lib/wallet/http.js
Original file line number Diff line number Diff line change
Expand Up @@ -838,8 +838,8 @@ class HTTP extends Server {
const valid = Validator.fromRequest(req);
const name = valid.str('name');

assert(name, 'Must pass name.');
assert(rules.verifyName(name), 'Must pass valid name.');
enforce(name, 'Must pass name.');
enforce(rules.verifyName(name), 'Must pass valid name.');

const height = this.wdb.height;
const network = this.network;
Expand Down Expand Up @@ -884,8 +884,8 @@ class HTTP extends Server {
const valid = Validator.fromRequest(req);
const name = valid.str('name');

assert(name, 'Must pass name.');
assert(rules.verifyName(name), 'Must pass valid name.');
enforce(name, 'Must pass name.');
enforce(rules.verifyName(name), 'Must pass valid name.');

const height = this.wdb.height;
const network = this.network;
Expand Down Expand Up @@ -934,7 +934,7 @@ class HTTP extends Server {
let own = valid.bool('own', false);

if (name)
assert(rules.verifyName(name), 'Must pass valid name.');
enforce(rules.verifyName(name), 'Must pass valid name.');

if (!name)
own = true;
Expand Down Expand Up @@ -973,7 +973,7 @@ class HTTP extends Server {
let own = valid.bool('own', false);

if (name)
assert(rules.verifyName(name), 'Must pass valid name.');
enforce(rules.verifyName(name), 'Must pass valid name.');

if (!name)
own = true;
Expand All @@ -994,8 +994,8 @@ class HTTP extends Server {
const valid = Validator.fromRequest(req);
const name = valid.str('name');

assert(name, 'Must pass name.');
assert(rules.verifyName(name), 'Must pass valid name.');
enforce(name, 'Must pass name.');
enforce(rules.verifyName(name), 'Must pass valid name.');

const ns = await req.wallet.getNameStateByName(name);

Expand All @@ -1017,10 +1017,10 @@ class HTTP extends Server {
const addr = valid.str('address');
const bid = valid.ufixed('bid');

assert(name, 'Name is required.');
assert(rules.verifyName(name), 'Valid name is required.');
assert(addr, 'Address is required.');
assert(bid != null, 'Bid is required.');
enforce(name, 'Name is required.');
enforce(rules.verifyName(name), 'Valid name is required.');
enforce(addr, 'Address is required.');
enforce(bid != null, 'Bid is required.');

let address;
try {
Expand Down Expand Up @@ -1051,8 +1051,8 @@ class HTTP extends Server {
const broadcast = valid.bool('broadcast', true);
const sign = valid.bool('sign', true);

assert(name, 'Name is required.');
assert(broadcast ? sign : true, 'Must sign when broadcasting.');
enforce(name, 'Name is required.');
enforce(broadcast ? sign : true, 'Must sign when broadcasting.');

const options = TransactionOptions.fromValidator(valid);
const mtx = await req.wallet.createOpen(name, options);
Expand All @@ -1078,10 +1078,10 @@ class HTTP extends Server {
const broadcast = valid.bool('broadcast', true);
const sign = valid.bool('sign', true);

assert(name, 'Name is required.');
assert(bid != null, 'Bid is required.');
assert(lockup != null, 'Lockup is required.');
assert(broadcast ? sign : true, 'Must sign when broadcasting.');
enforce(name, 'Name is required.');
enforce(bid != null, 'Bid is required.');
enforce(lockup != null, 'Lockup is required.');
enforce(broadcast ? sign : true, 'Must sign when broadcasting.');

const options = TransactionOptions.fromValidator(valid);
const mtx = await req.wallet.createBid(name, bid, lockup, options);
Expand All @@ -1107,11 +1107,11 @@ class HTTP extends Server {
const sign = valid.bool('sign', true);
const broadcastBid = valid.bool('broadcastBid');

assert(name, 'Name is required.');
assert(bid != null, 'Bid is required.');
assert(lockup != null, 'Lockup is required.');
assert(broadcastBid != null, 'broadcastBid is required.');
assert(broadcastBid ? sign : true, 'Must sign when broadcasting.');
enforce(name, 'Name is required.');
enforce(bid != null, 'Bid is required.');
enforce(lockup != null, 'Lockup is required.');
enforce(broadcastBid != null, 'broadcastBid is required.');
enforce(broadcastBid ? sign : true, 'Must sign when broadcasting.');

const options = TransactionOptions.fromValidator(valid);
const auctionTxs = await req.wallet.createAuctionTxs(
Expand Down Expand Up @@ -1144,7 +1144,7 @@ class HTTP extends Server {
const broadcast = valid.bool('broadcast', true);
const sign = valid.bool('sign', true);

assert(broadcast ? sign : true, 'Must sign when broadcasting.');
enforce(broadcast ? sign : true, 'Must sign when broadcasting.');

if (!name) {
const tx = await req.wallet.sendRevealAll();
Expand Down Expand Up @@ -1173,7 +1173,7 @@ class HTTP extends Server {
const broadcast = valid.bool('broadcast', true);
const sign = valid.bool('sign', true);

assert(broadcast ? sign : true, 'Must sign when broadcasting.');
enforce(broadcast ? sign : true, 'Must sign when broadcasting.');

const options = TransactionOptions.fromValidator(valid);

Expand Down Expand Up @@ -1205,9 +1205,9 @@ class HTTP extends Server {
const broadcast = valid.bool('broadcast', true);
const sign = valid.bool('sign', true);

assert(broadcast ? sign : true, 'Must sign when broadcasting.');
assert(name, 'Must pass name.');
assert(data, 'Must pass data.');
enforce(broadcast ? sign : true, 'Must sign when broadcasting.');
enforce(name, 'Must pass name.');
enforce(data, 'Must pass data.');

let resource;
try {
Expand Down Expand Up @@ -1238,8 +1238,8 @@ class HTTP extends Server {
const broadcast = valid.bool('broadcast', true);
const sign = valid.bool('sign', true);

assert(broadcast ? sign : true, 'Must sign when broadcasting.');
assert(name, 'Must pass name.');
enforce(broadcast ? sign : true, 'Must sign when broadcasting.');
enforce(name, 'Must pass name.');

const options = TransactionOptions.fromValidator(valid);
const mtx = await req.wallet.createRenewal(name, options);
Expand All @@ -1264,9 +1264,9 @@ class HTTP extends Server {
const broadcast = valid.bool('broadcast', true);
const sign = valid.bool('sign', true);

assert(broadcast ? sign : true, 'Must sign when broadcasting.');
assert(name, 'Must pass name.');
assert(address, 'Must pass address.');
enforce(broadcast ? sign : true, 'Must sign when broadcasting.');
enforce(name, 'Must pass name.');
enforce(address, 'Must pass address.');

const addr = Address.fromString(address, this.network);
const options = TransactionOptions.fromValidator(valid);
Expand All @@ -1291,8 +1291,8 @@ class HTTP extends Server {
const broadcast = valid.bool('broadcast', true);
const sign = valid.bool('sign', true);

assert(broadcast ? sign : true, 'Must sign when broadcasting.');
assert(name, 'Must pass name.');
enforce(broadcast ? sign : true, 'Must sign when broadcasting.');
enforce(name, 'Must pass name.');

const options = TransactionOptions.fromValidator(valid);
const mtx = await req.wallet.createCancel(name, options);
Expand All @@ -1316,8 +1316,8 @@ class HTTP extends Server {
const broadcast = valid.bool('broadcast', true);
const sign = valid.bool('sign', true);

assert(broadcast ? sign : true, 'Must sign when broadcasting.');
assert(name, 'Must pass name.');
enforce(broadcast ? sign : true, 'Must sign when broadcasting.');
enforce(name, 'Must pass name.');

const options = TransactionOptions.fromValidator(valid);
const mtx = await req.wallet.createFinalize(name, options);
Expand All @@ -1341,8 +1341,8 @@ class HTTP extends Server {
const broadcast = valid.bool('broadcast', true);
const sign = valid.bool('sign', true);

assert(broadcast ? sign : true, 'Must sign when broadcasting.');
assert(name, 'Must pass name.');
enforce(broadcast ? sign : true, 'Must sign when broadcasting.');
enforce(name, 'Must pass name.');

const options = TransactionOptions.fromValidator(valid);
const mtx = await req.wallet.createRevoke(name, options);
Expand Down
8 changes: 4 additions & 4 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@
"buffer-map": "~0.0.7",
"bufio": "~1.2.0",
"bupnp": "~0.2.6",
"bval": "~0.1.6",
"bval": "~0.1.8",
"bweb": "~0.1.11",
"goosig": "~0.10.0",
"n64": "~0.2.10",
Expand Down

0 comments on commit b03d700

Please sign in to comment.