Commit Graph

1496 Commits

Author SHA1 Message Date
Matthew Little
9b77ca22fc fix: contract-call txs returning null args in some situations, closes #1188 (#1192)
see https://github.com/hirosystems/stacks-encoding-native-js/pull/3 for more info
2022-06-01 16:10:06 +02:00
semantic-release-bot
30f0c13631 chore(release): 4.0.0 [skip ci]
# [4.0.0](https://github.com/hirosystems/stacks-blockchain-api/compare/v3.0.3...v4.0.0) (2022-05-26)

### Bug Fixes

* `/v1/names/[:name]` name resolution ([#1159](https://github.com/hirosystems/stacks-blockchain-api/issues/1159)) ([e656520](e656520701))
* bns download script download path ([#1091](https://github.com/hirosystems/stacks-blockchain-api/issues/1091)) ([55fa41e](55fa41eb31))
* disable notifier for tests that don't need it ([#1102](https://github.com/hirosystems/stacks-blockchain-api/issues/1102)) ([9765cf0](9765cf0681))
* propagate chain id correctly to bns router ([#1180](https://github.com/hirosystems/stacks-blockchain-api/issues/1180)) ([3a0ead1](3a0ead18fd))
* resolve bns names correctly in `/v1/addresses/stacks/[:address]` ([#1175](https://github.com/hirosystems/stacks-blockchain-api/issues/1175)) ([8797ded](8797ded691))
* shorten token metadata pg notifications ([#1143](https://github.com/hirosystems/stacks-blockchain-api/issues/1143)) ([1f09c0e](1f09c0e2bf))
* treat incorrect `get-token-uri` none values as undefined ([#1183](https://github.com/hirosystems/stacks-blockchain-api/issues/1183)) ([33313b1](33313b1d78))
* use 128 max size when deserializing contract principals [#1181](https://github.com/hirosystems/stacks-blockchain-api/issues/1181) ([#1182](https://github.com/hirosystems/stacks-blockchain-api/issues/1182)) ([f4d4733](f4d4733ad4))

* feat!: prune garbage collected (256 blocks old) mempool txs (#1101) ([fe56756](fe56756cde)), closes [#1101](https://github.com/hirosystems/stacks-blockchain-api/issues/1101)

### Features

* [CPU optimizations] use native rust module for decoding Clarity values, binary transaction blobs, post-condition binary blobs, Stacks addresses ([#1094](https://github.com/hirosystems/stacks-blockchain-api/issues/1094)) ([f5c4da7](f5c4da7b87))
* add `pruned` event import mode that ignores some historical events ([#1125](https://github.com/hirosystems/stacks-blockchain-api/issues/1125)) ([da992d7](da992d77b1))
* add block height to responses in `/extended/v1/tokens/nft/holdings` ([#1151](https://github.com/hirosystems/stacks-blockchain-api/issues/1151)) ([7cc8bd0](7cc8bd0633))
* add strict ft/nft metadata processing mode for better error handling ([#1165](https://github.com/hirosystems/stacks-blockchain-api/issues/1165)) ([b9ca4bb](b9ca4bb69d))
* events-only endpoint for address and tx_id ([#1027](https://github.com/hirosystems/stacks-blockchain-api/issues/1027)) ([508afc7](508afc7b09))
* fetch subdomain list for bns name ([#1132](https://github.com/hirosystems/stacks-blockchain-api/issues/1132)) ([e34120f](e34120f70b))
* pin exact dependencies in package.json ([#1068](https://github.com/hirosystems/stacks-blockchain-api/issues/1068)) ([303eaaa](303eaaa8cd))

### BREAKING CHANGES

* use event-replay to upgrade, this version includes breaking changes to the db sql schema
2022-05-26 15:46:16 +00:00
Rafael Cárdenas
f9fb05481f Merge pull request #1185 from hirosystems/beta
release api v4.0.0
2022-05-26 10:38:59 -05:00
semantic-release-bot
eac238a699 chore(release): 4.0.0-beta.8 [skip ci]
# [4.0.0-beta.8](https://github.com/hirosystems/stacks-blockchain-api/compare/v4.0.0-beta.7...v4.0.0-beta.8) (2022-05-26)

### Bug Fixes

* treat incorrect `get-token-uri` none values as undefined ([#1183](https://github.com/hirosystems/stacks-blockchain-api/issues/1183)) ([33313b1](33313b1d78))
2022-05-26 13:51:19 +00:00
Rafael Cárdenas
33313b1d78 fix: treat incorrect get-token-uri none values as undefined (#1183) 2022-05-26 08:45:24 -05:00
semantic-release-bot
4e05e51a8a chore(release): 4.0.0-beta.7 [skip ci]
# [4.0.0-beta.7](https://github.com/hirosystems/stacks-blockchain-api/compare/v4.0.0-beta.6...v4.0.0-beta.7) (2022-05-25)

### Bug Fixes

* use 128 max size when deserializing contract principals [#1181](https://github.com/hirosystems/stacks-blockchain-api/issues/1181) ([#1182](https://github.com/hirosystems/stacks-blockchain-api/issues/1182)) ([f4d4733](f4d4733ad4))
2022-05-25 17:07:38 +00:00
Matthew Little
f4d4733ad4 fix: use 128 max size when deserializing contract principals #1181 (#1182) 2022-05-25 19:00:56 +02:00
semantic-release-bot
d1ad9db14f chore(release): 4.0.0-beta.6 [skip ci]
# [4.0.0-beta.6](https://github.com/hirosystems/stacks-blockchain-api/compare/v4.0.0-beta.5...v4.0.0-beta.6) (2022-05-20)

### Bug Fixes

* propagate chain id correctly to bns router ([#1180](https://github.com/hirosystems/stacks-blockchain-api/issues/1180)) ([3a0ead1](3a0ead18fd))
2022-05-20 15:20:55 +00:00
Rafael Cárdenas
3a0ead18fd fix: propagate chain id correctly to bns router (#1180) 2022-05-20 10:15:00 -05:00
semantic-release-bot
4538420e6e chore(release): 4.0.0-beta.5 [skip ci]
# [4.0.0-beta.5](https://github.com/hirosystems/stacks-blockchain-api/compare/v4.0.0-beta.4...v4.0.0-beta.5) (2022-05-17)

### Features

* add strict ft/nft metadata processing mode for better error handling ([#1165](https://github.com/hirosystems/stacks-blockchain-api/issues/1165)) ([b9ca4bb](b9ca4bb69d))
2022-05-17 15:58:41 +00:00
Rafael Cárdenas
b9ca4bb69d feat: add strict ft/nft metadata processing mode for better error handling (#1165)
* refactor: create root dir for token-metadata, separate into files

* feat: start creating retryable errors

* feat: catch all errors in one place

* fix: current tests

* feat: add strict flag and max retry env var

* style: comment nits

* style: remove unused exports

* fix: existing unit tests

* test: strict mode

* test: block metadata retry

* test: metadata uri timeout and max size

* chore: move retry_count column to separate migration

* fix: make fetch timeout dynamic

* feat: retry metadata uri fetch 5 times before failing
2022-05-17 10:51:39 -05:00
semantic-release-bot
968a671485 chore(release): 4.0.0-beta.4 [skip ci]
# [4.0.0-beta.4](https://github.com/hirosystems/stacks-blockchain-api/compare/v4.0.0-beta.3...v4.0.0-beta.4) (2022-05-17)

### Bug Fixes

* resolve bns names correctly in `/v1/addresses/stacks/[:address]` ([#1175](https://github.com/hirosystems/stacks-blockchain-api/issues/1175)) ([8797ded](8797ded691))
2022-05-17 15:47:34 +00:00
Rafael Cárdenas
8797ded691 fix: resolve bns names correctly in /v1/addresses/stacks/[:address] (#1175)
* fix: bns name resolution

* fix: name-transfer test
2022-05-17 10:41:29 -05:00
Rafael Cárdenas
666b8a60fb chore: fix openapi schema validation errors, clean up type definitions (#1170)
* fix: openapi lint validator

* fix: balances schema

* fix: add title to all entities

* fix: some additionalProperties and duplicate names

* fix: remove additional properties for rosetta

* fix: rosetta tests

* style: remove empty description
2022-05-13 15:25:11 -05:00
semantic-release-bot
d79abf0095 chore(release): 4.0.0-beta.3 [skip ci]
# [4.0.0-beta.3](https://github.com/hirosystems/stacks-blockchain-api/compare/v4.0.0-beta.2...v4.0.0-beta.3) (2022-05-11)

### Features

* add block height to responses in `/extended/v1/tokens/nft/holdings` ([#1151](https://github.com/hirosystems/stacks-blockchain-api/issues/1151)) ([7cc8bd0](7cc8bd0633))
2022-05-11 22:02:50 +00:00
M Hassan Tariq
7cc8bd0633 feat: add block height to responses in /extended/v1/tokens/nft/holdings (#1151)
* feat: added blocck_height in nft/holdings

* docs: updated examples for nft/holdings

* docs: updated block_height for nft and ft holdings examples
2022-05-11 16:56:41 -05:00
semantic-release-bot
87ef4575a4 chore(release): 4.0.0-beta.2 [skip ci]
# [4.0.0-beta.2](https://github.com/hirosystems/stacks-blockchain-api/compare/v4.0.0-beta.1...v4.0.0-beta.2) (2022-05-04)

### Bug Fixes

* `/v1/names/[:name]` name resolution ([#1159](https://github.com/hirosystems/stacks-blockchain-api/issues/1159)) ([e656520](e656520701))
2022-05-04 14:01:09 +00:00
Rafael Cárdenas
e656520701 fix: /v1/names/[:name] name resolution (#1159)
* chore: set up

* fix: bns name custody resolution

* fix: bns api tests

* fix: bns tests

* fix: datastore tests
2022-05-04 08:55:14 -05:00
semantic-release-bot
854324350d chore(release): 4.0.0-beta.1 [skip ci]
# [4.0.0-beta.1](https://github.com/hirosystems/stacks-blockchain-api/compare/v3.0.3...v4.0.0-beta.1) (2022-04-20)

### Bug Fixes

* bns download script download path ([#1091](https://github.com/hirosystems/stacks-blockchain-api/issues/1091)) ([55fa41e](55fa41eb31))
* disable notifier for tests that don't need it ([#1102](https://github.com/hirosystems/stacks-blockchain-api/issues/1102)) ([9765cf0](9765cf0681))
* shorten token metadata pg notifications ([#1143](https://github.com/hirosystems/stacks-blockchain-api/issues/1143)) ([1f09c0e](1f09c0e2bf))

* feat!: prune garbage collected (256 blocks old) mempool txs (#1101) ([fe56756](fe56756cde)), closes [#1101](https://github.com/hirosystems/stacks-blockchain-api/issues/1101)

### Features

* [CPU optimizations] use native rust module for decoding Clarity values, binary transaction blobs, post-condition binary blobs, Stacks addresses ([#1094](https://github.com/hirosystems/stacks-blockchain-api/issues/1094)) ([f5c4da7](f5c4da7b87))
* add `pruned` event import mode that ignores some historical events ([#1125](https://github.com/hirosystems/stacks-blockchain-api/issues/1125)) ([da992d7](da992d77b1))
* events-only endpoint for address and tx_id ([#1027](https://github.com/hirosystems/stacks-blockchain-api/issues/1027)) ([508afc7](508afc7b09))
* fetch subdomain list for bns name ([#1132](https://github.com/hirosystems/stacks-blockchain-api/issues/1132)) ([e34120f](e34120f70b))
* pin exact dependencies in package.json ([#1068](https://github.com/hirosystems/stacks-blockchain-api/issues/1068)) ([303eaaa](303eaaa8cd))

### BREAKING CHANGES

* use event-replay to upgrade, this version includes breaking changes to the db sql schema
2022-04-20 20:05:18 +00:00
Matthew Little
7747a9b5c7 chore(ci): upload code coverage to coveralls.io (#1146)
* chore(ci): upload code coverage to coveralls.io

* chore: enable coverage reporting on rosetta-cli tests
2022-04-15 08:54:31 +02:00
M Hassan Tariq
184fd406b5 chore: validate socket.io subscription topics (#1144)
* feat: added validation check for subscriptions

* fix: resolved export error

* refactor: added validation in middleware

* refactor: updated code according to suggestions

* fix: updated code to return multiple invalid topics upon subscription

* style: added space before comma-separated invalid topics
2022-04-14 19:11:06 -05:00
Rafael Cárdenas
20bf56156c fix!: duplicate block re-org scenario in /transactions (#1135)
* test: replicate re-org scenario

* fix: add index_block_hash and microblock_hash to reorgs

* style: remove old comment

* fix: canonical where

* fix: use unique constraint to join on txs

* test: restore correct test cases
2022-04-14 09:25:33 -05:00
Matthew Little
f5c4da7b87 feat: [CPU optimizations] use native rust module for decoding Clarity values, binary transaction blobs, post-condition binary blobs, Stacks addresses (#1094)
* feat: use native nodejs addon module for Stacks binary encoding and decoding (Clarity values, binary wire formats, addresses, etc)

* refactor: move transaction, post-condition, and clarity value decoding from js to native addon

* chore: fix rosetta pox contract-call parsing

* chore: use npm registry for stacks-encoding-native-js

* chore: fix unused export

* chore: commit dev file to be converted to unit tests

* refactor: use stacks-encoding-native lib for stacks-address operations

* chore: bump stacks-encoding-native lib

* chore: stacks-native-encoding version bump with fix for decoding multisig tx sender address

* chore: stacks-native-encoding version bump with fix for decoding zero-length prefixed contract call args

* test: introduce tests for on-btc-chain originating stx tx processing

* chore: prettier ignore json payload sample files

* chore: clear up type import syntax

* test: tests for on-btc-chain originating stx-lock tx processing

* feat: expand cpu profiling capabilties with distinct start and stop endpoints easier to use in scripts

* chore: fix compilation error in /utils

* feat: support for performing cpu profiling with the native addon

* fix: avoid re-injecting sourcemap support when running with ts-node

* chore: updates for latest stacks-native-encoding library function usage, only decode clarity value type signatures when needed

* chore: decode only clarity value repr string rather than deep value in several areas

* chore: fix package-lock.json

* feat: commit load testing script with sampled endpoint list

* chore: fix synthetic-stx-txs-tests

* chore: update to latest stacks-encoding-native types (using hex strings rather than js buffers)

* chore: bump stacks-encoding-native version

* chore: fix regular integration tests

* chore: fix bug with rosetta principal repr parsing

* chore: bump stacks-encoding-native version

* chore: add several TODO(perf) comments where buffers should be hex strings

* chore: remove stacks-native-encoding debug code that have since been converted into unit tests

* chore: remove debug code

* fix: bug fix for reverse file stream bug if read chunk starts with line-ending

* chore: wrap synthetic stx txs tests
2022-04-13 18:51:33 +02:00
Asim Mehmood
6b0c0b02cd feat!: add support for sponsor nonce in transactions (#1140)
* fix: add support for sponsor_nonce for txs and mempool transactions

* fix: fixed incorrect last executed nonce

* test: add test for nonces endpoint

* style: fixed style nit

* refactor: improve condition

* fix: fixed missing nonce to add support for sponsor_nonce
2022-04-13 10:38:18 -05:00
Asim Mehmood
508afc7b09 feat: events-only endpoint for address and tx_id (#1027)
* feat: wip- added api for events for address

* feat: added events query for tx and address

* docs: added docs for event endpoints

* test: update test builder to increase event index

* docs: fixed json typo

* docs: update examples

* refactor: cleanup

* feat: change event endpoint and ad txId and principal as query param

* docs: update docs for the endpoint

* perf: change query from multiple query to single union query

* fix: revert init.ts unnecessary changes

* fix: used tx_id instead of txId in query param

* refactor: use try catch only for relevant function

* fix: validate address and tx_id before sending to data layer

* fix: join tx to use micrblock sequence orderinging in events

* refactor: put 0x prefix on txId

* docs: update docs

* docs: update docs for transaction events endpoint

* refactor: refactor comments and test headers

* perf: added cache handler for tx/events endpoint

* fix: fixed conflicts

* style: change comment place
2022-04-13 09:27:45 -05:00
Rafael Cárdenas
1f09c0e2bf fix: shorten token metadata pg notifications (#1143) 2022-04-13 09:26:42 -05:00
M Hassan Tariq
cb1ec6bf42 test: added tests for Rosetta to increase coverage (#1141) 2022-04-11 10:16:42 -05:00
M Hassan Tariq
e34120f70b feat: fetch subdomain list for bns name (#1132)
* feat: endpoint to fetch subdomains for a name

* fix: resolved docs error

* fix: made requested changes

* style: minor changes
2022-04-11 10:12:49 -05:00
Rafael Cárdenas
da992d77b1 feat: add pruned event import mode that ignores some historical events (#1125)
* chore: move event replay functions to separate file

* feat: add fs-reverse

* feat: start reading block height

* feat: start ignoring prunable events

* refactor: name updates

* feat: integrate pruned mode, create replay helpers file

* fix: unused export

* feat: also try pruning microblock events

* feat: remove fs-reverse and implement again with modern streams

* docs: add mode to readme

* fix: avoid emitting LF bytes in reverse file stream, support CRLF endings, avoid multiple conversions between buffers and strings

* chore: explicit buffer utf8 conversion

* chore: test reading whole file with backpressure

* chore: remove unused waiter import

Co-authored-by: Matthew Little <zone117x@gmail.com>
2022-04-11 10:08:45 -05:00
M Hassan Tariq
303eaaa8cd feat: pin exact dependencies in package.json (#1068)
* refactor: used exact dependencies

* refactor: updated dependencies to use the latest versions
2022-04-11 09:55:26 -05:00
Matthew Little
a2987f7d14 Merge pull request #1134 from hirosystems/master
merge master into develop
2022-04-04 23:16:27 +02:00
semantic-release-bot
cd0c8aef94 chore(release): 3.0.3 [skip ci]
## [3.0.3](https://github.com/hirosystems/stacks-blockchain-api/compare/v3.0.2...v3.0.3) (2022-04-04)

### Bug Fixes

* addr txs count ([6a8f237](6a8f237b93))
* adjust pagination tests for new bug ([bf83110](bf8311038d))
* missing txs from address/transactions endpoint [#1119](https://github.com/hirosystems/stacks-blockchain-api/issues/1119) [#1098](https://github.com/hirosystems/stacks-blockchain-api/issues/1098) ([72de7d3](72de7d3cbe))
* pagination bug ([b22cc04](b22cc042cf))
* prefer a higher principal_tx count bug ([e14fe2c](e14fe2cd3b))
2022-04-04 21:12:31 +00:00
Matthew Little
e14fe2cd3b fix: prefer a higher principal_tx count bug 2022-04-04 23:07:31 +02:00
Matthew Little
bf8311038d fix: adjust pagination tests for new bug 2022-04-04 23:07:31 +02:00
Matthew Little
b22cc042cf fix: pagination bug 2022-04-04 23:07:31 +02:00
Matthew Little
6a8f237b93 fix: addr txs count 2022-04-04 23:07:31 +02:00
Matthew Little
72de7d3cbe fix: missing txs from address/transactions endpoint #1119 #1098 2022-04-04 23:07:31 +02:00
M Hassan Tariq
5b2e88b4a4 refactored rosetta tests - separated construction tests (#1103)
* test: refactored block/transaction

* test: separated construction from other tests and removed integration for other rosetta tests

* refactor: removed unnecessary imports

* test: failing test to check re-run for rosetta

* test: removed debugging error

* fix: added await for timeout in standByForPox

* refactor: removed rerunning of failure tests
2022-03-31 13:46:59 -06:00
M Hassan Tariq
9d01c209b2 Only load relevant rosetta transaction (#1072)
* refactor: loaded relevant tx only

* test: added test for coinbase tx

* refactor: added testMinerRewards

* style: refactored code according to comments
2022-03-31 11:28:27 -06:00
M Hassan Tariq
cacf9a6fcc Remove memory store and increase test coverage (#1011)
* test: added block and status tests

* test: added rosetta tests

* refactor: removed memory-store.ts

* fix: test failing to exit

* fix: failing error in api-tests.ts

* fix: fixed api-tests.ts

* refactor: removed unecessory comments

* refactor: removed unecessary global server

* revert: unnecessary changes
2022-03-31 11:27:37 -06:00
M Hassan Tariq
675ceeeb20 Example and test for contract call in /rosetta/v1/construction/preprocess (#1093)
* docs: added example for contract call

* style: updated doc styles
2022-03-31 11:26:09 -06:00
Rafael Cárdenas
6fe829c05b feat!: add mempool endpoint cache handlers (#1115)
* feat: add mempool digest materialized view

* fix: only use bit_xor if we're on pg14+

* chore: update pg version to 14 on docker compose

* feat: install mempool cache handler, add chain tip handler to other endpoints

* fix: comment tweaks

* fix: only error on missing chain_tip etags

* chore: add tests

* fix: check if bit_xor is available instead of pg version

* chore: add note about pg14 to readme

* feat: add mempool specific metrics

* style: readme spacing

* fix: set an explicit empty value for etags

* fix: empty value vs null value
2022-03-25 08:22:54 -06:00
Rafael Cárdenas
667d137d86 docs: add /v2/fees/transaction and deprecate /extended/v1/fee_rate (#1124)
* docs: add /v2/fees/transaction

* chore: generated types
2022-03-25 08:22:09 -06:00
semantic-release-bot
b5f4c4620f chore(release): 3.0.2 [skip ci]
## [3.0.2](https://github.com/hirosystems/stacks-blockchain-api/compare/v3.0.1...v3.0.2) (2022-03-23)

### Bug Fixes

* filter canonical txs correctly for account tx history ([#1120](https://github.com/hirosystems/stacks-blockchain-api/issues/1120)) ([eabe27b](eabe27b4ac))
2022-03-23 15:16:58 +00:00
Rafael Cárdenas
eabe27b4ac fix: filter canonical txs correctly for account tx history (#1120)
* fix: filter canonical txs correctly

* test: add result length check
2022-03-23 09:10:47 -06:00
hz
55fa41eb31 fix: bns download script download path (#1091)
update the script to download bns data to absolute path if user is in different path than `/`
2022-03-22 14:14:37 -06:00
CharlieC3
5c185355a2 ci: update notification message 2022-03-22 11:04:51 -04:00
CharlieC3
b863498cd7 ci: add step to send discord notif on release 2022-03-22 11:04:51 -04:00
Rafael Cárdenas
fe56756cde feat!: prune garbage collected (256 blocks old) mempool txs (#1101)
BREAKING CHANGE: use event-replay to upgrade, this version includes breaking changes to the db sql schema
2022-03-16 10:19:23 -06:00
Rafael Cárdenas
9765cf0681 fix: disable notifier for tests that don't need it (#1102) 2022-03-15 10:10:57 -06:00