Files
stacks-blockchain-api/package.json
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

204 lines
8.6 KiB
JSON

{
"name": "@hirosystems/stacks-blockchain-api",
"version": "1.0.0",
"main": "index.js",
"scripts": {
"dev": "cross-env NODE_ENV=development STACKS_CHAIN_ID=0x80000000 ts-node-transpile-only src/index.ts",
"dev:watch": "cross-env NODE_ENV=development nodemon -e ts -x 'ts-node-transpile-only src/index.ts'",
"dev:integrated": "npm run devenv:build && concurrently npm:dev npm:devenv:deploy",
"dev:follower": "npm run devenv:build && concurrently npm:dev npm:devenv:follower",
"test": "cross-env NODE_ENV=development jest --config ./jest.config.js --coverage --runInBand",
"test:rosetta": "cross-env NODE_ENV=development jest --config ./jest.config.rosetta.js --coverage --runInBand",
"test:rosetta-cli:data": "cross-env NODE_ENV=development STACKS_CHAIN_ID=0x80000000 jest --config ./jest.config.rosetta-cli-data.js --runInBand",
"test:rosetta-cli:construction": "cross-env NODE_ENV=development STACKS_CHAIN_ID=0x80000000 jest --config ./jest.config.rosetta-cli-construction.js --runInBand",
"test:bns": "cross-env NODE_ENV=development jest --config ./jest.config.bns.js --coverage --runInBand",
"test:microblocks": "cross-env NODE_ENV=development jest --config ./jest.config.microblocks.js --coverage --runInBand",
"test:tokens": "cross-env NODE_ENV=development jest --config ./jest.config.tokens.js --coverage --runInBand",
"test:watch": "cross-env NODE_ENV=development jest --config ./jest.config.js --watch",
"test:integration": "npm run devenv:deploy -- -d && cross-env NODE_ENV=development jest --config ./jest.config.js --coverage --no-cache --runInBand; npm run devenv:stop",
"test:integration:rosetta": "npm run devenv:deploy -- -d && cross-env NODE_ENV=development jest --config ./jest.config.rosetta.js --coverage --no-cache --runInBand; npm run devenv:stop",
"test:integration:bns": "npm run devenv:deploy -- -d && cross-env NODE_ENV=development jest --config ./jest.config.bns.js --coverage --no-cache --runInBand; npm run devenv:stop",
"test:integration:microblocks": "npm run devenv:deploy:pg -- -d && cross-env NODE_ENV=development jest --config ./jest.config.microblocks.js --coverage --no-cache --runInBand; npm run devenv:stop:pg",
"test:integration:tokens": "npm run devenv:deploy -- -d && cross-env NODE_ENV=development jest --config ./jest.config.tokens.js --coverage --no-cache --runInBand; npm run devenv:stop",
"generate:git-info": "node ./git-info-generator.mjs",
"build": "npm run generate:git-info && rimraf ./lib && tsc -p tsconfig.build.json",
"build:tests": "tsc -p tsconfig.json",
"build:docs": "npm i --prefix docs && npm run build --prefix docs && npm i --prefix client && npm run generate:docs --prefix client",
"start": "node ./lib/index.js",
"lint": "npm run lint:eslint && npm run lint:prettier",
"lint:unused-exports": "ts-unused-exports tsconfig.json --ignoreFiles=src/migrations/*",
"lint:eslint": "eslint . --ext .js,.jsx,.ts,.tsx -f unix",
"lint:prettier": "prettier --check src/**/*.{ts,json}",
"lint:fix": "eslint . --ext .js,.jsx,.ts,.tsx -f unix --fix && prettier --write --check src/**/*.{ts,json}",
"migrate": "node-pg-migrate -m src/migrations",
"devenv:build": "docker-compose -f docker/docker-compose.dev.postgres.yml -f docker/docker-compose.dev.stacks-blockchain.yml -f docker/docker-compose.dev.bitcoind.yml -f docker/docker-compose.dev.rosetta-cli.yml build --no-cache",
"devenv:deploy": "docker-compose -f docker/docker-compose.dev.postgres.yml -f docker/docker-compose.dev.stacks-blockchain.yml -f docker/docker-compose.dev.bitcoind.yml up",
"devenv:deploy:pg": "docker-compose -f docker/docker-compose.dev.postgres.yml up",
"devenv:follower": "docker-compose -f docker/docker-compose.dev.postgres.yml -f docker/docker-compose.dev.stacks-blockchain-follower.yml up",
"devenv:stop": "docker-compose -f docker/docker-compose.dev.postgres.yml -f docker/docker-compose.dev.stacks-blockchain.yml -f docker/docker-compose.dev.bitcoind.yml down -v -t 0",
"devenv:stop:pg": "docker-compose -f docker/docker-compose.dev.postgres.yml kill",
"devenv:logs": "docker-compose -f docker/docker-compose.dev.postgres.yml -f docker/docker-compose.dev.stacks-blockchain.yml -f docker/docker-compose.dev.bitcoind.yml logs -t -f"
},
"repository": {
"type": "git",
"url": "git+https://github.com/hirosystems/stacks-blockchain-api.git"
},
"author": "Hiro Systems PBC <engineering@hiro.so> (https://hiro.so)",
"license": "GPL-3.0",
"bugs": {
"url": "https://github.com/hirosystems/stacks-blockchain-api/issues"
},
"homepage": "https://github.com/hirosystems/stacks-blockchain-api#readme",
"prettier": "@stacks/prettier-config",
"engines": {
"node": ">=16"
},
"engineStrict": true,
"release": {
"plugins": [
"@semantic-release/commit-analyzer",
"@semantic-release/release-notes-generator",
[
"@semantic-release/exec",
{
"execCwd": "client",
"prepareCmd": "npm install"
}
],
[
"@semantic-release/npm",
{
"pkgRoot": "./docs"
}
],
[
"@semantic-release/npm",
{
"pkgRoot": "./client"
}
],
"@semantic-release/github",
"@semantic-release/changelog",
"@semantic-release/git"
]
},
"commitlint": {
"extends": [
"@commitlint/config-conventional"
]
},
"husky": {
"hooks": {
"commit-msg": "commitlint -E HUSKY_GIT_PARAMS"
}
},
"dependencies": {
"@apidevtools/json-schema-ref-parser": "9.0.9",
"@promster/express": "6.0.0",
"@promster/server": "6.0.6",
"@promster/types": "3.2.2",
"@stacks/network": "1.2.2",
"@stacks/stacking": "v2.0.1",
"@stacks/transactions": "2.0.1",
"@types/express-list-endpoints": "4.0.1",
"@types/lru-cache": "5.1.1",
"@types/ws": "7.4.7",
"ajv": "6.12.6",
"bignumber.js": "9.0.2",
"bitcoinjs-lib": "5.2.0",
"bluebird": "3.7.2",
"bn.js": "4.12.0",
"c32check": "1.1.3",
"chokidar": "3.5.2",
"coinselect": "3.1.12",
"cors": "2.8.5",
"cross-env": "7.0.3",
"dotenv": "8.6.0",
"dotenv-flow": "3.2.0",
"escape-goat": "3.0.0",
"evt": "1.10.1",
"express": "4.17.2",
"express-list-endpoints": "5.0.0",
"express-winston": "4.2.0",
"getopts": "2.3.0",
"http-proxy-middleware": "2.0.1",
"jsonc-parser": "3.0.0",
"jsonrpc-lite": "2.2.0",
"lru-cache": "6.0.0",
"micro-base58": "0.5.1",
"node-fetch": "2.6.6",
"node-pg-migrate": "6.2.1",
"p-queue": "6.6.2",
"path-to-regexp": "6.2.0",
"pg": "8.7.1",
"pg-copy-streams": "5.1.1",
"pg-cursor": "2.7.1",
"pg-listen": "1.7.0",
"prom-client": "14.0.1",
"rpc-bitcoin": "2.0.0",
"socket.io": "4.4.0",
"source-map-support": "0.5.21",
"split2": "3.2.2",
"stacks-encoding-native-js": "0.1.0-alpha.9",
"strict-event-emitter-types": "2.0.0",
"ts-unused-exports": "7.0.3",
"typescript": "4.6.2",
"uuid": "8.3.2",
"winston": "3.3.3",
"ws": "7.5.6",
"zone-file": "2.0.0-beta.3"
},
"devDependencies": {
"@actions/core": "1.6.0",
"@actions/exec": "1.1.0",
"@actions/github": "2.2.0",
"@actions/io": "1.1.1",
"@commitlint/cli": "9.1.2",
"@commitlint/config-conventional": "10.0.0",
"@stacks/eslint-config": "1.2.0",
"@stacks/prettier-config": "0.0.10",
"@types/ajv": "1.0.0",
"@types/bluebird": "3.5.36",
"@types/bn.js": "4.11.6",
"@types/cors": "2.8.12",
"@types/dotenv-flow": "3.2.0",
"@types/express": "4.17.13",
"@types/is-ci": "3.0.0",
"@types/jest": "27.4.1",
"@types/node": "16.11.17",
"@types/node-fetch": "2.5.12",
"@types/pg": "7.14.11",
"@types/pg-copy-streams": "1.2.1",
"@types/source-map-support": "0.5.4",
"@types/split2": "2.1.6",
"@types/supertest": "2.0.11",
"@types/uuid": "7.0.5",
"@typescript-eslint/eslint-plugin": "5.15.0",
"@typescript-eslint/parser": "5.15.0",
"concurrently": "6.5.1",
"docker-compose": "0.23.14",
"eslint": "8.11.0",
"eslint-config-prettier": "8.5.0",
"eslint-plugin-prettier": "4.0.0",
"eslint-plugin-tsdoc": "0.2.14",
"husky": "4.3.8",
"is-ci": "3.0.1",
"jest": "27.5.1",
"nock": "13.2.1",
"nodemon": "2.0.15",
"pg-connection-string": "2.5.0",
"prettier": "2.2.1",
"rimraf": "3.0.2",
"rpc-websocket-client": "1.1.4",
"socket.io-client": "4.4.0",
"supertest": "4.0.2",
"ts-jest": "27.1.3",
"ts-node": "10.7.0",
"why-is-node-running": "2.2.0"
},
"optionalDependencies": {
"bufferutil": "4.0.5",
"utf-8-validate": "5.0.7"
}
}