Skip to content

Releases: utxostack/btc-assets-api

v2.0.0

08 May 06:25
4219f0e
Compare
Choose a tag to compare

What's Changed

  • fix(error): refactor global error handler to fix inaccurate error message by @ahonn in #111
  • feat(bitcoin)!: use mempool.space REST API by @ahonn in #96
  • chore(error): add filled count to sentry context by @ahonn in #113
  • feat(bitcoin): calculate fees when mempool.space recommend fees api unavailable by @ahonn in #114
  • fix: fix the state issue of inactive paymaster cell job by @ahonn in #118
  • docs: update env vars and add missing docs by @ahonn in #119
  • feat(unlock): add spore BTCTimeLock cells unlock support by @ahonn in #120
  • feat(bitcoin): add /bitcoin/v1/transactiona/:btc_txid/hex route by @ahonn in #123
  • feat(bitcoin): post btc transaction to multi electrs/btc nodes by @ahonn in #127
  • fix: fix bitcoin client error message handle by @ahonn in #129

Full Changelog: release/v1.5.0...release/v2.0.0

Upgrading to V2

We have released v2.0.0 for support mempool.space API as the primary Bitcoin data provider, and it is used to broadcast transactions. But it is still compatible with the electrs used previously.

There are two ways to upgrade:

Upgrading from v1.x.x and use electrs (compatible, by default)

Suppose you do not want to use the mempool.space API as the main data provider, you do not need to make any changes.

But we recommend you remove the following env vars for safety:

BITCOIN_JSON_RPC_URL=<http://bitcoin:8332>
BITCOIN_JSON_RPC_USERNAME=<rpc_username>
BITCOIN_JSON_RPC_PASSWORD=<rpc_password>

and add the following env vars to make sure to use electrs as the primary data provider, and add mempool.space API as a fallback:

BITCOIN_DATA_PROVIDER=electrs # recommend, electrs by default
BITCOIN_MEMPOOL_SPACE_API_URL=https://mempool.space # optional, mempool.space as the fallback

Upgrading from v1.x.x and using mempool.space API

The new feature in v2.0.0, we can use mempool.space API as the primary data provider, and use electrs as a fallback.

Add the following env vars:

BITCOIN_DATA_PROVIDER=mempool 
BITCOIN_MEMPOOL_SPACE_API_URL=https://mempool.space

If you want to use the previous electrs as a fallback, keep the original BITCOIN_ELECTRS_API_URL env var. Otherwise, remove this var to avoid using electrs.

BITCOIN_ELECTRS_API_URL=<http://electrs:3002> # optional, electrs as fallback

Recommended Fees API

If use mempool.space API as the primary data provider, then we can use /bitcoin/v1/fees/recommended to get the bitcoin fees. and we will calculate fees when mempool.space recommend fees API unavailable (see #114).

use electrs as the primary data provider and didn't set BITCOIN_MEMPOOL_SPACE_API_URL as a fallback, then recommended fees API will be unavailable

v1.5.0

25 Apr 11:17
c4549aa
Compare
Choose a tag to compare

What's Changed

  • feat: upgrade rgbpp sdk and support spore transfer by @ahonn in #98
  • fix(unlock): temporary skip cluster spore type cell unlock (patch #98) by @ahonn in #104
  • chore: remove vercel cron by @ahonn in #105

Full Changelog: release/v1.4.0...release/v1.5.0

v1.4.0

24 Apr 11:54
902c92f
Compare
Choose a tag to compare

What's Changed

  • test: add not exists transaction test cases by @ahonn in #76
  • docs(rgbpp): add type_script param description by @ahonn in #90
  • feat: get ckb txhash from job returnvalue by @ahonn in #93
  • fix(cron): optimize missing transactions retry logic by @ahonn in #87
  • fix(transaction): fix the pool rejected transaction by increasing the fee rate by @ahonn in #91
  • fix: fix pool reject resent tx duplicate cellDeps issue (patch for #91) by @ahonn in #94
  • refactor(sentry): improve sentry error handle by @ahonn in #88
  • feat: add request jwt token info to job data context by @ahonn in #95
  • fix: catch ckb rpc fetch error after transaction processed by @ahonn in #99
  • fix: update spv proof cache max age by @ahonn in #100

Full Changelog: release/v1.3.0...release/v1.4.0

v1.3.0

18 Apr 06:39
d1d9a57
Compare
Choose a tag to compare

What's Changed

  • docs: update .env.example and readme by @ahonn in #70
  • chore: add protect branches pre-commit hook by @ahonn in #67
  • feat: add with_data parameter to support return job data by @ahonn in #78
  • feat: job retry and ElectrsAPINotFoundError delayed optimization by @ahonn in #79
  • feat: add internal api for manually retry all failed jobs by @ahonn in #50
  • feat: add healthcheck by @ahonn in #77
  • feat: retry missing transactions when block confirmed by @ahonn in #80
  • chore: update sentry cron minitor name of retry missing transactions task by @ahonn in #85
  • feat: add env var for enable/disable paymaster receive UTXO check by @ahonn in #84

Full Changelog: release/v1.2.1...release/v1.3.0

v1.2.1

09 Apr 05:37
952b1bc
Compare
Choose a tag to compare

What's Changed

  • fix: fixed job failed when the transaction is not synchronized by @ahonn in #71
  • fix: catch electrs not found to avoid capture to sentry by @ahonn in #74
  • fix: add statusCode to ElectrsAPINotFoundError by @ahonn in #75

Full Changelog: release/v1.2.0...release/v1.2.1

v1.2.0

09 Apr 00:50
e63ba8a
Compare
Choose a tag to compare

What's Changed

  • feat: security mechanism by @ahonn in #51
  • fix: fix error handling of the Transaction service by @ahonn in #57
  • feat: upgrade sdk to update estimated ckb tx fee by @ahonn in #60
  • feat: add sentry simple rate env vars by @ahonn in #61
  • feat: update spv proof api cache control by @ahonn in #63
  • fix: get address unspent api compatible only_confirmed is undefined by @ahonn in #64
  • test: update test snapshots by @ahonn in #68

Full Changelog: release/v1.1.0...release/v1.2.0

v1.1.0

06 Apr 14:37
7f73f07
Compare
Choose a tag to compare

What's Changed

  • fix: update RATE_LIMIT_PER_MINUTE by @ahonn in #44
  • feat: verify paymaster btc_utxo when needPaymasterCell is true by @ahonn in #13
  • feat: add outputCapacityRange to avoid spent paymaster cell when unlock by @ahonn in #52

Full Changelog: release/v1.0.0...release/v1.1.0

v1.0.0

01 Apr 08:24
94314c2
Compare
Choose a tag to compare

What's Changed

  • feat: use JWT token audience as CORS origin by @ahonn in #2
  • feat: implement bitcoin api by @ahonn in #1
  • refactor: use zod validate by @ahonn in #5
  • feat: add authentication for token routes by @ahonn in #3
  • feat: authentication and docker files by @ahonn in #6
  • docs: add api docs description by @ahonn in #7
  • feat: check bitcoin JSON-RPC and electrs api network by @ahonn in #9
  • ci: add docker image build workflow by @ahonn in #10
  • docs: add readme and deployment guide by @ahonn in #22
  • ci: add deploy workflow by @ahonn in #23
  • feat: optimize transaction process by @ahonn in #21
  • feat: upgrade rgbpp sdk by @ahonn in #25
  • feat: remove deprecated params by @ahonn in #24
  • fix: add missing remove0x by @ahonn in #26
  • fix: BTCTimeLock unlock allow supported asset types only by @ahonn in #27
  • feat: add sentry events tag/context, captureException 5xx or unknown errors by @ahonn in #28
  • feat: simplify token route control by @ahonn in #29
  • chore: update sentry cron monitors config by @ahonn in #32
  • chore: update the API version showing in the docs by @ahonn in #33
  • fix: update the default value of env.PAYMASTER_CELL_CAPACITY by @ahonn in #37
  • chore: update api docs title by @ahonn in #38
  • feat: add only_confirmed query params to get utxo route by @ahonn in #40
  • fix: fix only_confirmed query params type and add test cases by @ahonn in #41
  • fix: update sentry job context by @ahonn in #42
  • feat: upgrade rgbpp-sdk to get mainnet deployment info by @ahonn in #43

Full Changelog: https://github.com/ckb-cell/btc-assets-api/commits/release/v1.0.0