Merge pull request #4760 from mempool/junderw/rust-gbt-build-final
Refactor rust-gbt and destroy all issues and be happy for all eternity
This commit is contained in:
		
						commit
						f851e821b4
					
				
							
								
								
									
										2
									
								
								.github/workflows/ci.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.github/workflows/ci.yml
									
									
									
									
										vendored
									
									
								
							| @ -29,7 +29,7 @@ jobs: | |||||||
| 
 | 
 | ||||||
|       - name: Read rust-toolchain file from repository |       - name: Read rust-toolchain file from repository | ||||||
|         id: gettoolchain |         id: gettoolchain | ||||||
|         run: echo "::set-output name=toolchain::$(cat rust-toolchain)" |         run: echo "::set-output name=toolchain::$(cat ./rust/gbt/rust-toolchain)" | ||||||
|         working-directory: ${{ matrix.node }}/${{ matrix.flavor }} |         working-directory: ${{ matrix.node }}/${{ matrix.flavor }} | ||||||
| 
 | 
 | ||||||
|       - name: Install ${{ steps.gettoolchain.outputs.toolchain }} Rust toolchain |       - name: Install ${{ steps.gettoolchain.outputs.toolchain }} Rust toolchain | ||||||
|  | |||||||
| @ -1,9 +0,0 @@ | |||||||
| [workspace] |  | ||||||
| resolver = "2" |  | ||||||
| members = [ |  | ||||||
| 	"./backend/rust-gbt", |  | ||||||
| ] |  | ||||||
| 
 |  | ||||||
| [profile.release] |  | ||||||
| lto = true |  | ||||||
| codegen-units = 1 |  | ||||||
							
								
								
									
										3
									
								
								backend/.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										3
									
								
								backend/.gitignore
									
									
									
									
										vendored
									
									
								
							| @ -54,3 +54,6 @@ Thumbs.db | |||||||
| 
 | 
 | ||||||
| # package folder (npm run package output) | # package folder (npm run package output) | ||||||
| /package | /package | ||||||
|  | 
 | ||||||
|  | # Rust GBT folder (We build externally first) | ||||||
|  | /rust-gbt | ||||||
|  | |||||||
| @ -6,7 +6,4 @@ cd package/node_modules | |||||||
| rm -r \ | rm -r \ | ||||||
|   typescript \ |   typescript \ | ||||||
|   @typescript-eslint \ |   @typescript-eslint \ | ||||||
|   @napi-rs \ |   @napi-rs | ||||||
|   ./rust-gbt/src \ |  | ||||||
|   ./rust-gbt/Cargo.toml \ |  | ||||||
|   ./rust-gbt/build.rs |  | ||||||
|  | |||||||
							
								
								
									
										37
									
								
								backend/package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										37
									
								
								backend/package-lock.json
									
									
									
										generated
									
									
									
								
							| @ -7,6 +7,7 @@ | |||||||
|     "": { |     "": { | ||||||
|       "name": "mempool-backend", |       "name": "mempool-backend", | ||||||
|       "version": "3.0.0-dev", |       "version": "3.0.0-dev", | ||||||
|  |       "hasInstallScript": true, | ||||||
|       "license": "GNU Affero General Public License v3.0", |       "license": "GNU Affero General Public License v3.0", | ||||||
|       "dependencies": { |       "dependencies": { | ||||||
|         "@babel/core": "^7.24.0", |         "@babel/core": "^7.24.0", | ||||||
| @ -42,6 +43,13 @@ | |||||||
|         "ts-node": "^10.9.1" |         "ts-node": "^10.9.1" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|  |     "../rust/gbt": { | ||||||
|  |       "version": "3.0.1", | ||||||
|  |       "extraneous": true, | ||||||
|  |       "engines": { | ||||||
|  |         "node": ">= 12" | ||||||
|  |       } | ||||||
|  |     }, | ||||||
|     "node_modules/@aashutoshrathi/word-wrap": { |     "node_modules/@aashutoshrathi/word-wrap": { | ||||||
|       "version": "1.2.6", |       "version": "1.2.6", | ||||||
|       "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", |       "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", | ||||||
| @ -1499,21 +1507,6 @@ | |||||||
|         "node": ">=6" |         "node": ">=6" | ||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|     "node_modules/@napi-rs/cli": { |  | ||||||
|       "version": "2.18.0", |  | ||||||
|       "resolved": "https://registry.npmjs.org/@napi-rs/cli/-/cli-2.18.0.tgz", |  | ||||||
|       "integrity": "sha512-lfSRT7cs3iC4L+kv9suGYQEezn5Nii7Kpu+THsYVI0tA1Vh59LH45p4QADaD7hvIkmOz79eEGtoKQ9nAkAPkzA==", |  | ||||||
|       "bin": { |  | ||||||
|         "napi": "scripts/index.js" |  | ||||||
|       }, |  | ||||||
|       "engines": { |  | ||||||
|         "node": ">= 10" |  | ||||||
|       }, |  | ||||||
|       "funding": { |  | ||||||
|         "type": "github", |  | ||||||
|         "url": "https://github.com/sponsors/Brooooooklyn" |  | ||||||
|       } |  | ||||||
|     }, |  | ||||||
|     "node_modules/@noble/hashes": { |     "node_modules/@noble/hashes": { | ||||||
|       "version": "1.3.0", |       "version": "1.3.0", | ||||||
|       "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.0.tgz", |       "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.0.tgz", | ||||||
| @ -7668,10 +7661,6 @@ | |||||||
|     "rust-gbt": { |     "rust-gbt": { | ||||||
|       "name": "gbt", |       "name": "gbt", | ||||||
|       "version": "3.0.1", |       "version": "3.0.1", | ||||||
|       "hasInstallScript": true, |  | ||||||
|       "dependencies": { |  | ||||||
|         "@napi-rs/cli": "2.18.0" |  | ||||||
|       }, |  | ||||||
|       "engines": { |       "engines": { | ||||||
|         "node": ">= 12" |         "node": ">= 12" | ||||||
|       } |       } | ||||||
| @ -8774,11 +8763,6 @@ | |||||||
|       "resolved": "https://registry.npmjs.org/@mempool/electrum-client/-/electrum-client-1.1.9.tgz", |       "resolved": "https://registry.npmjs.org/@mempool/electrum-client/-/electrum-client-1.1.9.tgz", | ||||||
|       "integrity": "sha512-mlvPiCzUlaETpYW3i6V87A24jjMYgsebaXtUo3WQyyLnYUuxs0KiXQ2mnKh3h15j8Xg/hfxeGIi+5OC9u0nftQ==" |       "integrity": "sha512-mlvPiCzUlaETpYW3i6V87A24jjMYgsebaXtUo3WQyyLnYUuxs0KiXQ2mnKh3h15j8Xg/hfxeGIi+5OC9u0nftQ==" | ||||||
|     }, |     }, | ||||||
|     "@napi-rs/cli": { |  | ||||||
|       "version": "2.18.0", |  | ||||||
|       "resolved": "https://registry.npmjs.org/@napi-rs/cli/-/cli-2.18.0.tgz", |  | ||||||
|       "integrity": "sha512-lfSRT7cs3iC4L+kv9suGYQEezn5Nii7Kpu+THsYVI0tA1Vh59LH45p4QADaD7hvIkmOz79eEGtoKQ9nAkAPkzA==" |  | ||||||
|     }, |  | ||||||
|     "@noble/hashes": { |     "@noble/hashes": { | ||||||
|       "version": "1.3.0", |       "version": "1.3.0", | ||||||
|       "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.0.tgz", |       "resolved": "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.0.tgz", | ||||||
| @ -12701,10 +12685,7 @@ | |||||||
|       } |       } | ||||||
|     }, |     }, | ||||||
|     "rust-gbt": { |     "rust-gbt": { | ||||||
|       "version": "file:rust-gbt", |       "version": "file:rust-gbt" | ||||||
|       "requires": { |  | ||||||
|         "@napi-rs/cli": "2.18.0" |  | ||||||
|       } |  | ||||||
|     }, |     }, | ||||||
|     "safe-buffer": { |     "safe-buffer": { | ||||||
|       "version": "5.2.1", |       "version": "5.2.1", | ||||||
|  | |||||||
| @ -22,10 +22,12 @@ | |||||||
|   "main": "index.ts", |   "main": "index.ts", | ||||||
|   "scripts": { |   "scripts": { | ||||||
|     "tsc": "./node_modules/typescript/bin/tsc -p tsconfig.build.json", |     "tsc": "./node_modules/typescript/bin/tsc -p tsconfig.build.json", | ||||||
|     "build": "npm run rust-build && npm run tsc && npm run create-resources", |     "build": "npm run tsc && npm run create-resources", | ||||||
|  |     "clean": "rm -rf ./dist/ ./node_modules/ ./package/ ./rust-gbt/", | ||||||
|     "create-resources": "cp ./src/tasks/price-feeds/mtgox-weekly.json ./dist/tasks && node dist/api/fetch-version.js", |     "create-resources": "cp ./src/tasks/price-feeds/mtgox-weekly.json ./dist/tasks && node dist/api/fetch-version.js", | ||||||
|     "package": "./npm_package.sh", |     "package": "./npm_package.sh", | ||||||
|     "package-rm-build-deps": "./npm_package_rm_build_deps.sh", |     "package-rm-build-deps": "./npm_package_rm_build_deps.sh", | ||||||
|  |     "preinstall": "cd ../rust/gbt && npm run build-release && npm run to-backend", | ||||||
|     "start": "node --max-old-space-size=2048 dist/index.js", |     "start": "node --max-old-space-size=2048 dist/index.js", | ||||||
|     "start-production": "node --max-old-space-size=16384 dist/index.js", |     "start-production": "node --max-old-space-size=16384 dist/index.js", | ||||||
|     "reindex-updated-pools": "npm run start-production --update-pools", |     "reindex-updated-pools": "npm run start-production --update-pools", | ||||||
| @ -34,9 +36,7 @@ | |||||||
|     "test:ci": "CI=true ./node_modules/.bin/jest --coverage", |     "test:ci": "CI=true ./node_modules/.bin/jest --coverage", | ||||||
|     "lint": "./node_modules/.bin/eslint . --ext .ts", |     "lint": "./node_modules/.bin/eslint . --ext .ts", | ||||||
|     "lint:fix": "./node_modules/.bin/eslint . --ext .ts --fix", |     "lint:fix": "./node_modules/.bin/eslint . --ext .ts --fix", | ||||||
|     "prettier": "./node_modules/.bin/prettier --write \"src/**/*.{js,ts}\"", |     "prettier": "./node_modules/.bin/prettier --write \"src/**/*.{js,ts}\"" | ||||||
|     "rust-clean": "cd rust-gbt && rm -f *.node index.d.ts index.js && rm -rf target && cd ../", |  | ||||||
|     "rust-build": "npm run rust-clean && cd rust-gbt && npm run build-release" |  | ||||||
|   }, |   }, | ||||||
|   "dependencies": { |   "dependencies": { | ||||||
|     "@babel/core": "^7.24.0", |     "@babel/core": "^7.24.0", | ||||||
|  | |||||||
							
								
								
									
										50
									
								
								backend/rust-gbt/index.d.ts
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										50
									
								
								backend/rust-gbt/index.d.ts
									
									
									
									
										vendored
									
									
								
							| @ -1,50 +0,0 @@ | |||||||
| /* tslint:disable */ |  | ||||||
| /* eslint-disable */ |  | ||||||
| 
 |  | ||||||
| /* auto-generated by NAPI-RS */ |  | ||||||
| 
 |  | ||||||
| export interface ThreadTransaction { |  | ||||||
|   uid: number |  | ||||||
|   order: number |  | ||||||
|   fee: number |  | ||||||
|   weight: number |  | ||||||
|   sigops: number |  | ||||||
|   effectiveFeePerVsize: number |  | ||||||
|   inputs: Array<number> |  | ||||||
| } |  | ||||||
| export interface ThreadAcceleration { |  | ||||||
|   uid: number |  | ||||||
|   delta: number |  | ||||||
| } |  | ||||||
| export class GbtGenerator { |  | ||||||
|   constructor() |  | ||||||
|   /** |  | ||||||
|    * # Errors |  | ||||||
|    * |  | ||||||
|    * Rejects if the thread panics or if the Mutex is poisoned. |  | ||||||
|    */ |  | ||||||
|   make(mempool: Array<ThreadTransaction>, accelerations: Array<ThreadAcceleration>, maxUid: number): Promise<GbtResult> |  | ||||||
|   /** |  | ||||||
|    * # Errors |  | ||||||
|    * |  | ||||||
|    * Rejects if the thread panics or if the Mutex is poisoned. |  | ||||||
|    */ |  | ||||||
|   update(newTxs: Array<ThreadTransaction>, removeTxs: Array<number>, accelerations: Array<ThreadAcceleration>, maxUid: number): Promise<GbtResult> |  | ||||||
| } |  | ||||||
| /** |  | ||||||
|  * The result from calling the gbt function. |  | ||||||
|  * |  | ||||||
|  * This tuple contains the following: |  | ||||||
|  *        blocks: A 2D Vector of transaction IDs (u32), the inner Vecs each represent a block. |  | ||||||
|  * block_weights: A Vector of total weights per block. |  | ||||||
|  *      clusters: A 2D Vector of transaction IDs representing clusters of dependent mempool transactions |  | ||||||
|  *         rates: A Vector of tuples containing transaction IDs (u32) and effective fee per vsize (f64) |  | ||||||
|  */ |  | ||||||
| export class GbtResult { |  | ||||||
|   blocks: Array<Array<number>> |  | ||||||
|   blockWeights: Array<number> |  | ||||||
|   clusters: Array<Array<number>> |  | ||||||
|   rates: Array<Array<number>> |  | ||||||
|   overflow: Array<number> |  | ||||||
|   constructor(blocks: Array<Array<number>>, blockWeights: Array<number>, clusters: Array<Array<number>>, rates: Array<Array<number>>, overflow: Array<number>) |  | ||||||
| } |  | ||||||
| @ -1,301 +0,0 @@ | |||||||
| /* tslint:disable */ |  | ||||||
| /* eslint-disable */ |  | ||||||
| /* prettier-ignore */ |  | ||||||
| 
 |  | ||||||
| /* auto-generated by NAPI-RS */ |  | ||||||
| 
 |  | ||||||
| const { existsSync, readFileSync } = require('fs') |  | ||||||
| const { join } = require('path') |  | ||||||
| 
 |  | ||||||
| const { platform, arch } = process |  | ||||||
| 
 |  | ||||||
| let nativeBinding = null |  | ||||||
| let localFileExisted = false |  | ||||||
| let loadError = null |  | ||||||
| 
 |  | ||||||
| function isMusl() { |  | ||||||
|   // For Node 10
 |  | ||||||
|   if (!process.report || typeof process.report.getReport !== 'function') { |  | ||||||
|     try { |  | ||||||
|       const lddPath = require('child_process').execSync('which ldd').toString().trim() |  | ||||||
|       return readFileSync(lddPath, 'utf8').includes('musl') |  | ||||||
|     } catch (e) { |  | ||||||
|       return true |  | ||||||
|     } |  | ||||||
|   } else { |  | ||||||
|     const { glibcVersionRuntime } = process.report.getReport().header |  | ||||||
|     return !glibcVersionRuntime |  | ||||||
|   } |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| switch (platform) { |  | ||||||
|   case 'android': |  | ||||||
|     switch (arch) { |  | ||||||
|       case 'arm64': |  | ||||||
|         localFileExisted = existsSync(join(__dirname, 'gbt.android-arm64.node')) |  | ||||||
|         try { |  | ||||||
|           if (localFileExisted) { |  | ||||||
|             nativeBinding = require('./gbt.android-arm64.node') |  | ||||||
|           } else { |  | ||||||
|             nativeBinding = require('gbt-android-arm64') |  | ||||||
|           } |  | ||||||
|         } catch (e) { |  | ||||||
|           loadError = e |  | ||||||
|         } |  | ||||||
|         break |  | ||||||
|       case 'arm': |  | ||||||
|         localFileExisted = existsSync(join(__dirname, 'gbt.android-arm-eabi.node')) |  | ||||||
|         try { |  | ||||||
|           if (localFileExisted) { |  | ||||||
|             nativeBinding = require('./gbt.android-arm-eabi.node') |  | ||||||
|           } else { |  | ||||||
|             nativeBinding = require('gbt-android-arm-eabi') |  | ||||||
|           } |  | ||||||
|         } catch (e) { |  | ||||||
|           loadError = e |  | ||||||
|         } |  | ||||||
|         break |  | ||||||
|       default: |  | ||||||
|         throw new Error(`Unsupported architecture on Android ${arch}`) |  | ||||||
|     } |  | ||||||
|     break |  | ||||||
|   case 'win32': |  | ||||||
|     switch (arch) { |  | ||||||
|       case 'x64': |  | ||||||
|         localFileExisted = existsSync( |  | ||||||
|           join(__dirname, 'gbt.win32-x64-msvc.node') |  | ||||||
|         ) |  | ||||||
|         try { |  | ||||||
|           if (localFileExisted) { |  | ||||||
|             nativeBinding = require('./gbt.win32-x64-msvc.node') |  | ||||||
|           } else { |  | ||||||
|             nativeBinding = require('gbt-win32-x64-msvc') |  | ||||||
|           } |  | ||||||
|         } catch (e) { |  | ||||||
|           loadError = e |  | ||||||
|         } |  | ||||||
|         break |  | ||||||
|       case 'ia32': |  | ||||||
|         localFileExisted = existsSync( |  | ||||||
|           join(__dirname, 'gbt.win32-ia32-msvc.node') |  | ||||||
|         ) |  | ||||||
|         try { |  | ||||||
|           if (localFileExisted) { |  | ||||||
|             nativeBinding = require('./gbt.win32-ia32-msvc.node') |  | ||||||
|           } else { |  | ||||||
|             nativeBinding = require('gbt-win32-ia32-msvc') |  | ||||||
|           } |  | ||||||
|         } catch (e) { |  | ||||||
|           loadError = e |  | ||||||
|         } |  | ||||||
|         break |  | ||||||
|       case 'arm64': |  | ||||||
|         localFileExisted = existsSync( |  | ||||||
|           join(__dirname, 'gbt.win32-arm64-msvc.node') |  | ||||||
|         ) |  | ||||||
|         try { |  | ||||||
|           if (localFileExisted) { |  | ||||||
|             nativeBinding = require('./gbt.win32-arm64-msvc.node') |  | ||||||
|           } else { |  | ||||||
|             nativeBinding = require('gbt-win32-arm64-msvc') |  | ||||||
|           } |  | ||||||
|         } catch (e) { |  | ||||||
|           loadError = e |  | ||||||
|         } |  | ||||||
|         break |  | ||||||
|       default: |  | ||||||
|         throw new Error(`Unsupported architecture on Windows: ${arch}`) |  | ||||||
|     } |  | ||||||
|     break |  | ||||||
|   case 'darwin': |  | ||||||
|     localFileExisted = existsSync(join(__dirname, 'gbt.darwin-universal.node')) |  | ||||||
|     try { |  | ||||||
|       if (localFileExisted) { |  | ||||||
|         nativeBinding = require('./gbt.darwin-universal.node') |  | ||||||
|       } else { |  | ||||||
|         nativeBinding = require('gbt-darwin-universal') |  | ||||||
|       } |  | ||||||
|       break |  | ||||||
|     } catch {} |  | ||||||
|     switch (arch) { |  | ||||||
|       case 'x64': |  | ||||||
|         localFileExisted = existsSync(join(__dirname, 'gbt.darwin-x64.node')) |  | ||||||
|         try { |  | ||||||
|           if (localFileExisted) { |  | ||||||
|             nativeBinding = require('./gbt.darwin-x64.node') |  | ||||||
|           } else { |  | ||||||
|             nativeBinding = require('gbt-darwin-x64') |  | ||||||
|           } |  | ||||||
|         } catch (e) { |  | ||||||
|           loadError = e |  | ||||||
|         } |  | ||||||
|         break |  | ||||||
|       case 'arm64': |  | ||||||
|         localFileExisted = existsSync( |  | ||||||
|           join(__dirname, 'gbt.darwin-arm64.node') |  | ||||||
|         ) |  | ||||||
|         try { |  | ||||||
|           if (localFileExisted) { |  | ||||||
|             nativeBinding = require('./gbt.darwin-arm64.node') |  | ||||||
|           } else { |  | ||||||
|             nativeBinding = require('gbt-darwin-arm64') |  | ||||||
|           } |  | ||||||
|         } catch (e) { |  | ||||||
|           loadError = e |  | ||||||
|         } |  | ||||||
|         break |  | ||||||
|       default: |  | ||||||
|         throw new Error(`Unsupported architecture on macOS: ${arch}`) |  | ||||||
|     } |  | ||||||
|     break |  | ||||||
|   case 'freebsd': |  | ||||||
|     if (arch !== 'x64') { |  | ||||||
|       throw new Error(`Unsupported architecture on FreeBSD: ${arch}`) |  | ||||||
|     } |  | ||||||
|     localFileExisted = existsSync(join(__dirname, 'gbt.freebsd-x64.node')) |  | ||||||
|     try { |  | ||||||
|       if (localFileExisted) { |  | ||||||
|         nativeBinding = require('./gbt.freebsd-x64.node') |  | ||||||
|       } else { |  | ||||||
|         nativeBinding = require('gbt-freebsd-x64') |  | ||||||
|       } |  | ||||||
|     } catch (e) { |  | ||||||
|       loadError = e |  | ||||||
|     } |  | ||||||
|     break |  | ||||||
|   case 'linux': |  | ||||||
|     switch (arch) { |  | ||||||
|       case 'x64': |  | ||||||
|         if (isMusl()) { |  | ||||||
|           localFileExisted = existsSync( |  | ||||||
|             join(__dirname, 'gbt.linux-x64-musl.node') |  | ||||||
|           ) |  | ||||||
|           try { |  | ||||||
|             if (localFileExisted) { |  | ||||||
|               nativeBinding = require('./gbt.linux-x64-musl.node') |  | ||||||
|             } else { |  | ||||||
|               nativeBinding = require('gbt-linux-x64-musl') |  | ||||||
|             } |  | ||||||
|           } catch (e) { |  | ||||||
|             loadError = e |  | ||||||
|           } |  | ||||||
|         } else { |  | ||||||
|           localFileExisted = existsSync( |  | ||||||
|             join(__dirname, 'gbt.linux-x64-gnu.node') |  | ||||||
|           ) |  | ||||||
|           try { |  | ||||||
|             if (localFileExisted) { |  | ||||||
|               nativeBinding = require('./gbt.linux-x64-gnu.node') |  | ||||||
|             } else { |  | ||||||
|               nativeBinding = require('gbt-linux-x64-gnu') |  | ||||||
|             } |  | ||||||
|           } catch (e) { |  | ||||||
|             loadError = e |  | ||||||
|           } |  | ||||||
|         } |  | ||||||
|         break |  | ||||||
|       case 'arm64': |  | ||||||
|         if (isMusl()) { |  | ||||||
|           localFileExisted = existsSync( |  | ||||||
|             join(__dirname, 'gbt.linux-arm64-musl.node') |  | ||||||
|           ) |  | ||||||
|           try { |  | ||||||
|             if (localFileExisted) { |  | ||||||
|               nativeBinding = require('./gbt.linux-arm64-musl.node') |  | ||||||
|             } else { |  | ||||||
|               nativeBinding = require('gbt-linux-arm64-musl') |  | ||||||
|             } |  | ||||||
|           } catch (e) { |  | ||||||
|             loadError = e |  | ||||||
|           } |  | ||||||
|         } else { |  | ||||||
|           localFileExisted = existsSync( |  | ||||||
|             join(__dirname, 'gbt.linux-arm64-gnu.node') |  | ||||||
|           ) |  | ||||||
|           try { |  | ||||||
|             if (localFileExisted) { |  | ||||||
|               nativeBinding = require('./gbt.linux-arm64-gnu.node') |  | ||||||
|             } else { |  | ||||||
|               nativeBinding = require('gbt-linux-arm64-gnu') |  | ||||||
|             } |  | ||||||
|           } catch (e) { |  | ||||||
|             loadError = e |  | ||||||
|           } |  | ||||||
|         } |  | ||||||
|         break |  | ||||||
|       case 'arm': |  | ||||||
|         localFileExisted = existsSync( |  | ||||||
|           join(__dirname, 'gbt.linux-arm-gnueabihf.node') |  | ||||||
|         ) |  | ||||||
|         try { |  | ||||||
|           if (localFileExisted) { |  | ||||||
|             nativeBinding = require('./gbt.linux-arm-gnueabihf.node') |  | ||||||
|           } else { |  | ||||||
|             nativeBinding = require('gbt-linux-arm-gnueabihf') |  | ||||||
|           } |  | ||||||
|         } catch (e) { |  | ||||||
|           loadError = e |  | ||||||
|         } |  | ||||||
|         break |  | ||||||
|       case 'riscv64': |  | ||||||
|         if (isMusl()) { |  | ||||||
|           localFileExisted = existsSync( |  | ||||||
|             join(__dirname, 'gbt.linux-riscv64-musl.node') |  | ||||||
|           ) |  | ||||||
|           try { |  | ||||||
|             if (localFileExisted) { |  | ||||||
|               nativeBinding = require('./gbt.linux-riscv64-musl.node') |  | ||||||
|             } else { |  | ||||||
|               nativeBinding = require('gbt-linux-riscv64-musl') |  | ||||||
|             } |  | ||||||
|           } catch (e) { |  | ||||||
|             loadError = e |  | ||||||
|           } |  | ||||||
|         } else { |  | ||||||
|           localFileExisted = existsSync( |  | ||||||
|             join(__dirname, 'gbt.linux-riscv64-gnu.node') |  | ||||||
|           ) |  | ||||||
|           try { |  | ||||||
|             if (localFileExisted) { |  | ||||||
|               nativeBinding = require('./gbt.linux-riscv64-gnu.node') |  | ||||||
|             } else { |  | ||||||
|               nativeBinding = require('gbt-linux-riscv64-gnu') |  | ||||||
|             } |  | ||||||
|           } catch (e) { |  | ||||||
|             loadError = e |  | ||||||
|           } |  | ||||||
|         } |  | ||||||
|         break |  | ||||||
|       case 's390x': |  | ||||||
|         localFileExisted = existsSync( |  | ||||||
|           join(__dirname, 'gbt.linux-s390x-gnu.node') |  | ||||||
|         ) |  | ||||||
|         try { |  | ||||||
|           if (localFileExisted) { |  | ||||||
|             nativeBinding = require('./gbt.linux-s390x-gnu.node') |  | ||||||
|           } else { |  | ||||||
|             nativeBinding = require('gbt-linux-s390x-gnu') |  | ||||||
|           } |  | ||||||
|         } catch (e) { |  | ||||||
|           loadError = e |  | ||||||
|         } |  | ||||||
|         break |  | ||||||
|       default: |  | ||||||
|         throw new Error(`Unsupported architecture on Linux: ${arch}`) |  | ||||||
|     } |  | ||||||
|     break |  | ||||||
|   default: |  | ||||||
|     throw new Error(`Unsupported OS: ${platform}, architecture: ${arch}`) |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| if (!nativeBinding) { |  | ||||||
|   if (loadError) { |  | ||||||
|     throw loadError |  | ||||||
|   } |  | ||||||
|   throw new Error(`Failed to load native binding`) |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| const { GbtGenerator, GbtResult } = nativeBinding |  | ||||||
| 
 |  | ||||||
| module.exports.GbtGenerator = GbtGenerator |  | ||||||
| module.exports.GbtResult = GbtResult |  | ||||||
							
								
								
									
										34
									
								
								backend/rust-gbt/package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										34
									
								
								backend/rust-gbt/package-lock.json
									
									
									
										generated
									
									
									
								
							| @ -1,34 +0,0 @@ | |||||||
| { |  | ||||||
|   "name": "gbt", |  | ||||||
|   "version": "3.0.1", |  | ||||||
|   "lockfileVersion": 3, |  | ||||||
|   "requires": true, |  | ||||||
|   "packages": { |  | ||||||
|     "": { |  | ||||||
|       "name": "gbt", |  | ||||||
|       "version": "3.0.1", |  | ||||||
|       "hasInstallScript": true, |  | ||||||
|       "dependencies": { |  | ||||||
|         "@napi-rs/cli": "2.18.0" |  | ||||||
|       }, |  | ||||||
|       "engines": { |  | ||||||
|         "node": ">= 12" |  | ||||||
|       } |  | ||||||
|     }, |  | ||||||
|     "node_modules/@napi-rs/cli": { |  | ||||||
|       "version": "2.18.0", |  | ||||||
|       "resolved": "https://registry.npmjs.org/@napi-rs/cli/-/cli-2.18.0.tgz", |  | ||||||
|       "integrity": "sha512-lfSRT7cs3iC4L+kv9suGYQEezn5Nii7Kpu+THsYVI0tA1Vh59LH45p4QADaD7hvIkmOz79eEGtoKQ9nAkAPkzA==", |  | ||||||
|       "bin": { |  | ||||||
|         "napi": "scripts/index.js" |  | ||||||
|       }, |  | ||||||
|       "engines": { |  | ||||||
|         "node": ">= 10" |  | ||||||
|       }, |  | ||||||
|       "funding": { |  | ||||||
|         "type": "github", |  | ||||||
|         "url": "https://github.com/sponsors/Brooooooklyn" |  | ||||||
|       } |  | ||||||
|     } |  | ||||||
|   } |  | ||||||
| } |  | ||||||
| @ -1,4 +1,8 @@ | |||||||
|  | package-lock.json | ||||||
|  | index.js | ||||||
|  | index.d.ts | ||||||
| *.node | *.node | ||||||
| **/node_modules | **/node_modules | ||||||
|  | **/target | ||||||
| **/.DS_Store | **/.DS_Store | ||||||
| npm-debug.log* | npm-debug.log* | ||||||
							
								
								
									
										261
									
								
								Cargo.lock → rust/gbt/Cargo.lock
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										261
									
								
								Cargo.lock → rust/gbt/Cargo.lock
									
									
									
										generated
									
									
									
								
							| @ -3,10 +3,25 @@ | |||||||
| version = 3 | version = 3 | ||||||
| 
 | 
 | ||||||
| [[package]] | [[package]] | ||||||
| name = "aho-corasick" | name = "addr2line" | ||||||
| version = "1.0.1" | version = "0.21.0" | ||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
| checksum = "67fc08ce920c31afb70f013dcce1bfc3a3195de6a228474e45e1f145b36f8d04" | checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb" | ||||||
|  | dependencies = [ | ||||||
|  |  "gimli", | ||||||
|  | ] | ||||||
|  | 
 | ||||||
|  | [[package]] | ||||||
|  | name = "adler" | ||||||
|  | version = "1.0.2" | ||||||
|  | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
|  | checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" | ||||||
|  | 
 | ||||||
|  | [[package]] | ||||||
|  | name = "aho-corasick" | ||||||
|  | version = "1.1.2" | ||||||
|  | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
|  | checksum = "b2969dcb958b36655471fc61f7e416fa76033bdd4bfed0678d8fee1e2d07a1f0" | ||||||
| dependencies = [ | dependencies = [ | ||||||
|  "memchr", |  "memchr", | ||||||
| ] | ] | ||||||
| @ -18,22 +33,43 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | |||||||
| checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" | checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" | ||||||
| 
 | 
 | ||||||
| [[package]] | [[package]] | ||||||
| name = "bitflags" | name = "backtrace" | ||||||
| version = "2.3.2" | version = "0.3.69" | ||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
| checksum = "6dbe3c979c178231552ecba20214a8272df4e09f232a87aef4320cf06539aded" | checksum = "2089b7e3f35b9dd2d0ed921ead4f6d318c27680d4a5bd167b3ee120edb105837" | ||||||
|  | dependencies = [ | ||||||
|  |  "addr2line", | ||||||
|  |  "cc", | ||||||
|  |  "cfg-if", | ||||||
|  |  "libc", | ||||||
|  |  "miniz_oxide", | ||||||
|  |  "object", | ||||||
|  |  "rustc-demangle", | ||||||
|  | ] | ||||||
|  | 
 | ||||||
|  | [[package]] | ||||||
|  | name = "bitflags" | ||||||
|  | version = "2.4.2" | ||||||
|  | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
|  | checksum = "ed570934406eb16438a4e976b1b4500774099c13b8cb96eec99f620f05090ddf" | ||||||
| 
 | 
 | ||||||
| [[package]] | [[package]] | ||||||
| name = "bytemuck" | name = "bytemuck" | ||||||
| version = "1.13.1" | version = "1.14.3" | ||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
| checksum = "17febce684fd15d89027105661fec94afb475cb995fbc59d2865198446ba2eea" | checksum = "a2ef034f05691a48569bd920a96c81b9d91bbad1ab5ac7c4616c1f6ef36cb79f" | ||||||
| 
 | 
 | ||||||
| [[package]] | [[package]] | ||||||
| name = "bytes" | name = "bytes" | ||||||
| version = "1.4.0" | version = "1.5.0" | ||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
| checksum = "89b2fd2a0dcf38d7971e2194b6b6eebab45ae01067456a7fd93d5547a61b70be" | checksum = "a2bd12c1caf447e69cd4528f47f94d203fd2582878ecb9e9465484c4148a8223" | ||||||
|  | 
 | ||||||
|  | [[package]] | ||||||
|  | name = "cc" | ||||||
|  | version = "1.0.90" | ||||||
|  | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
|  | checksum = "8cd6604a82acf3039f1144f54b8eb34e91ffba622051189e71b781822d5ee1f5" | ||||||
| 
 | 
 | ||||||
| [[package]] | [[package]] | ||||||
| name = "cfg-if" | name = "cfg-if" | ||||||
| @ -52,9 +88,9 @@ dependencies = [ | |||||||
| 
 | 
 | ||||||
| [[package]] | [[package]] | ||||||
| name = "ctor" | name = "ctor" | ||||||
| version = "0.2.2" | version = "0.2.7" | ||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
| checksum = "1586fa608b1dab41f667475b4a41faec5ba680aee428bfa5de4ea520fdc6e901" | checksum = "ad291aa74992b9b7a7e88c38acbbf6ad7e107f1d90ee8775b7bc1fc3394f485c" | ||||||
| dependencies = [ | dependencies = [ | ||||||
|  "quote", |  "quote", | ||||||
|  "syn", |  "syn", | ||||||
| @ -77,10 +113,16 @@ dependencies = [ | |||||||
|  "napi-derive", |  "napi-derive", | ||||||
|  "priority-queue", |  "priority-queue", | ||||||
|  "tracing", |  "tracing", | ||||||
|  "tracing-log 0.2.0", |  "tracing-log", | ||||||
|  "tracing-subscriber", |  "tracing-subscriber", | ||||||
| ] | ] | ||||||
| 
 | 
 | ||||||
|  | [[package]] | ||||||
|  | name = "gimli" | ||||||
|  | version = "0.28.1" | ||||||
|  | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
|  | checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253" | ||||||
|  | 
 | ||||||
| [[package]] | [[package]] | ||||||
| name = "hashbrown" | name = "hashbrown" | ||||||
| version = "0.14.3" | version = "0.14.3" | ||||||
| @ -89,12 +131,9 @@ checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604" | |||||||
| 
 | 
 | ||||||
| [[package]] | [[package]] | ||||||
| name = "hermit-abi" | name = "hermit-abi" | ||||||
| version = "0.2.6" | version = "0.3.9" | ||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
| checksum = "ee512640fe35acbfb4bb779db6f0d80704c2cacfa2e39b601ef3e3f47d1ae4c7" | checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024" | ||||||
| dependencies = [ |  | ||||||
|  "libc", |  | ||||||
| ] |  | ||||||
| 
 | 
 | ||||||
| [[package]] | [[package]] | ||||||
| name = "indexmap" | name = "indexmap" | ||||||
| @ -114,15 +153,15 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" | |||||||
| 
 | 
 | ||||||
| [[package]] | [[package]] | ||||||
| name = "libc" | name = "libc" | ||||||
| version = "0.2.146" | version = "0.2.153" | ||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
| checksum = "f92be4933c13fd498862a9e02a3055f8a8d9c039ce33db97306fd5a6caa7f29b" | checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd" | ||||||
| 
 | 
 | ||||||
| [[package]] | [[package]] | ||||||
| name = "libloading" | name = "libloading" | ||||||
| version = "0.8.2" | version = "0.8.3" | ||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
| checksum = "2caa5afb8bf9f3a2652760ce7d4f62d21c4d5a423e68466fca30df82f2330164" | checksum = "0c2a198fb6b0eada2a8df47933734e6d35d350665a33a3593d7164fa52c75c19" | ||||||
| dependencies = [ | dependencies = [ | ||||||
|  "cfg-if", |  "cfg-if", | ||||||
|  "windows-targets", |  "windows-targets", | ||||||
| @ -130,9 +169,9 @@ dependencies = [ | |||||||
| 
 | 
 | ||||||
| [[package]] | [[package]] | ||||||
| name = "log" | name = "log" | ||||||
| version = "0.4.19" | version = "0.4.21" | ||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
| checksum = "b06a4cde4c0f271a446782e3eff8de789548ce57dbc8eca9292c27f4a42004b4" | checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c" | ||||||
| 
 | 
 | ||||||
| [[package]] | [[package]] | ||||||
| name = "matchers" | name = "matchers" | ||||||
| @ -140,14 +179,23 @@ version = "0.1.0" | |||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
| checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558" | checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558" | ||||||
| dependencies = [ | dependencies = [ | ||||||
|  "regex-automata", |  "regex-automata 0.1.10", | ||||||
| ] | ] | ||||||
| 
 | 
 | ||||||
| [[package]] | [[package]] | ||||||
| name = "memchr" | name = "memchr" | ||||||
| version = "2.5.0" | version = "2.7.1" | ||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
| checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" | checksum = "523dc4f511e55ab87b694dc30d0f820d60906ef06413f93d4d7a1385599cc149" | ||||||
|  | 
 | ||||||
|  | [[package]] | ||||||
|  | name = "miniz_oxide" | ||||||
|  | version = "0.7.2" | ||||||
|  | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
|  | checksum = "9d811f3e15f28568be3407c8e7fdb6514c1cda3cb30683f15b6a1a1dc4ea14a7" | ||||||
|  | dependencies = [ | ||||||
|  |  "adler", | ||||||
|  | ] | ||||||
| 
 | 
 | ||||||
| [[package]] | [[package]] | ||||||
| name = "napi" | name = "napi" | ||||||
| @ -219,14 +267,23 @@ dependencies = [ | |||||||
| 
 | 
 | ||||||
| [[package]] | [[package]] | ||||||
| name = "num_cpus" | name = "num_cpus" | ||||||
| version = "1.15.0" | version = "1.16.0" | ||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
| checksum = "0fac9e2da13b5eb447a6ce3d392f23a29d8694bff781bf03a16cd9ac8697593b" | checksum = "4161fcb6d602d4d2081af7c3a45852d875a03dd337a6bfdd6e06407b61342a43" | ||||||
| dependencies = [ | dependencies = [ | ||||||
|  "hermit-abi", |  "hermit-abi", | ||||||
|  "libc", |  "libc", | ||||||
| ] | ] | ||||||
| 
 | 
 | ||||||
|  | [[package]] | ||||||
|  | name = "object" | ||||||
|  | version = "0.32.2" | ||||||
|  | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
|  | checksum = "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441" | ||||||
|  | dependencies = [ | ||||||
|  |  "memchr", | ||||||
|  | ] | ||||||
|  | 
 | ||||||
| [[package]] | [[package]] | ||||||
| name = "once_cell" | name = "once_cell" | ||||||
| version = "1.19.0" | version = "1.19.0" | ||||||
| @ -241,9 +298,9 @@ checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" | |||||||
| 
 | 
 | ||||||
| [[package]] | [[package]] | ||||||
| name = "pin-project-lite" | name = "pin-project-lite" | ||||||
| version = "0.2.9" | version = "0.2.13" | ||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
| checksum = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116" | checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58" | ||||||
| 
 | 
 | ||||||
| [[package]] | [[package]] | ||||||
| name = "priority-queue" | name = "priority-queue" | ||||||
| @ -258,31 +315,32 @@ dependencies = [ | |||||||
| 
 | 
 | ||||||
| [[package]] | [[package]] | ||||||
| name = "proc-macro2" | name = "proc-macro2" | ||||||
| version = "1.0.60" | version = "1.0.78" | ||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
| checksum = "dec2b086b7a862cf4de201096214fa870344cf922b2b30c167badb3af3195406" | checksum = "e2422ad645d89c99f8f3e6b88a9fdeca7fabeac836b1002371c4367c8f984aae" | ||||||
| dependencies = [ | dependencies = [ | ||||||
|  "unicode-ident", |  "unicode-ident", | ||||||
| ] | ] | ||||||
| 
 | 
 | ||||||
| [[package]] | [[package]] | ||||||
| name = "quote" | name = "quote" | ||||||
| version = "1.0.28" | version = "1.0.35" | ||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
| checksum = "1b9ab9c7eadfd8df19006f1cf1a4aed13540ed5cbc047010ece5826e10825488" | checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef" | ||||||
| dependencies = [ | dependencies = [ | ||||||
|  "proc-macro2", |  "proc-macro2", | ||||||
| ] | ] | ||||||
| 
 | 
 | ||||||
| [[package]] | [[package]] | ||||||
| name = "regex" | name = "regex" | ||||||
| version = "1.8.3" | version = "1.10.3" | ||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
| checksum = "81ca098a9821bd52d6b24fd8b10bd081f47d39c22778cafaa75a2857a62c6390" | checksum = "b62dbe01f0b06f9d8dc7d49e05a0785f153b00b2c227856282f671e0318c9b15" | ||||||
| dependencies = [ | dependencies = [ | ||||||
|  "aho-corasick", |  "aho-corasick", | ||||||
|  "memchr", |  "memchr", | ||||||
|  "regex-syntax 0.7.2", |  "regex-automata 0.4.6", | ||||||
|  |  "regex-syntax 0.8.2", | ||||||
| ] | ] | ||||||
| 
 | 
 | ||||||
| [[package]] | [[package]] | ||||||
| @ -294,6 +352,17 @@ dependencies = [ | |||||||
|  "regex-syntax 0.6.29", |  "regex-syntax 0.6.29", | ||||||
| ] | ] | ||||||
| 
 | 
 | ||||||
|  | [[package]] | ||||||
|  | name = "regex-automata" | ||||||
|  | version = "0.4.6" | ||||||
|  | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
|  | checksum = "86b83b8b9847f9bf95ef68afb0b8e6cdb80f498442f5179a29fad448fcc1eaea" | ||||||
|  | dependencies = [ | ||||||
|  |  "aho-corasick", | ||||||
|  |  "memchr", | ||||||
|  |  "regex-syntax 0.8.2", | ||||||
|  | ] | ||||||
|  | 
 | ||||||
| [[package]] | [[package]] | ||||||
| name = "regex-syntax" | name = "regex-syntax" | ||||||
| version = "0.6.29" | version = "0.6.29" | ||||||
| @ -302,36 +371,42 @@ checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" | |||||||
| 
 | 
 | ||||||
| [[package]] | [[package]] | ||||||
| name = "regex-syntax" | name = "regex-syntax" | ||||||
| version = "0.7.2" | version = "0.8.2" | ||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
| checksum = "436b050e76ed2903236f032a59761c1eb99e1b0aead2c257922771dab1fc8c78" | checksum = "c08c74e62047bb2de4ff487b251e4a92e24f48745648451635cec7d591162d9f" | ||||||
|  | 
 | ||||||
|  | [[package]] | ||||||
|  | name = "rustc-demangle" | ||||||
|  | version = "0.1.23" | ||||||
|  | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
|  | checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76" | ||||||
| 
 | 
 | ||||||
| [[package]] | [[package]] | ||||||
| name = "semver" | name = "semver" | ||||||
| version = "1.0.17" | version = "1.0.22" | ||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
| checksum = "bebd363326d05ec3e2f532ab7660680f3b02130d780c299bca73469d521bc0ed" | checksum = "92d43fe69e652f3df9bdc2b85b2854a0825b86e4fb76bc44d945137d053639ca" | ||||||
| 
 | 
 | ||||||
| [[package]] | [[package]] | ||||||
| name = "sharded-slab" | name = "sharded-slab" | ||||||
| version = "0.1.4" | version = "0.1.7" | ||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
| checksum = "900fba806f70c630b0a382d0d825e17a0f19fcd059a2ade1ff237bcddf446b31" | checksum = "f40ca3c46823713e0d4209592e8d6e826aa57e928f09752619fc696c499637f6" | ||||||
| dependencies = [ | dependencies = [ | ||||||
|  "lazy_static", |  "lazy_static", | ||||||
| ] | ] | ||||||
| 
 | 
 | ||||||
| [[package]] | [[package]] | ||||||
| name = "smallvec" | name = "smallvec" | ||||||
| version = "1.10.0" | version = "1.13.1" | ||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
| checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0" | checksum = "e6ecd384b10a64542d77071bd64bd7b231f4ed5940fba55e98c3de13824cf3d7" | ||||||
| 
 | 
 | ||||||
| [[package]] | [[package]] | ||||||
| name = "syn" | name = "syn" | ||||||
| version = "2.0.20" | version = "2.0.52" | ||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
| checksum = "fcb8d4cebc40aa517dfb69618fa647a346562e67228e2236ae0042ee6ac14775" | checksum = "b699d15b36d1f02c3e7c69f8ffef53de37aefae075d8488d4ba1a7788d574a07" | ||||||
| dependencies = [ | dependencies = [ | ||||||
|  "proc-macro2", |  "proc-macro2", | ||||||
|  "quote", |  "quote", | ||||||
| @ -340,9 +415,9 @@ dependencies = [ | |||||||
| 
 | 
 | ||||||
| [[package]] | [[package]] | ||||||
| name = "thread_local" | name = "thread_local" | ||||||
| version = "1.1.7" | version = "1.1.8" | ||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
| checksum = "3fdd6f064ccff2d6567adcb3873ca630700f00b5ad3f060c25b5dcfd9a4ce152" | checksum = "8b9ef9bad013ada3808854ceac7b46812a6465ba368859a37e2100283d2d719c" | ||||||
| dependencies = [ | dependencies = [ | ||||||
|  "cfg-if", |  "cfg-if", | ||||||
|  "once_cell", |  "once_cell", | ||||||
| @ -350,23 +425,21 @@ dependencies = [ | |||||||
| 
 | 
 | ||||||
| [[package]] | [[package]] | ||||||
| name = "tokio" | name = "tokio" | ||||||
| version = "1.28.2" | version = "1.36.0" | ||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
| checksum = "94d7b1cfd2aa4011f2de74c2c4c63665e27a71006b0a192dcd2710272e73dfa2" | checksum = "61285f6515fa018fb2d1e46eb21223fff441ee8db5d0f1435e8ab4f5cdb80931" | ||||||
| dependencies = [ | dependencies = [ | ||||||
|  "autocfg", |  "backtrace", | ||||||
|  "num_cpus", |  "num_cpus", | ||||||
|  "pin-project-lite", |  "pin-project-lite", | ||||||
|  "windows-sys", |  | ||||||
| ] | ] | ||||||
| 
 | 
 | ||||||
| [[package]] | [[package]] | ||||||
| name = "tracing" | name = "tracing" | ||||||
| version = "0.1.37" | version = "0.1.40" | ||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
| checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8" | checksum = "c3523ab5a71916ccf420eebdf5521fcef02141234bbc0b8a49f2fdc4544364ef" | ||||||
| dependencies = [ | dependencies = [ | ||||||
|  "cfg-if", |  | ||||||
|  "pin-project-lite", |  "pin-project-lite", | ||||||
|  "tracing-attributes", |  "tracing-attributes", | ||||||
|  "tracing-core", |  "tracing-core", | ||||||
| @ -374,9 +447,9 @@ dependencies = [ | |||||||
| 
 | 
 | ||||||
| [[package]] | [[package]] | ||||||
| name = "tracing-attributes" | name = "tracing-attributes" | ||||||
| version = "0.1.26" | version = "0.1.27" | ||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
| checksum = "5f4f31f56159e98206da9efd823404b79b6ef3143b4a7ab76e67b1751b25a4ab" | checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" | ||||||
| dependencies = [ | dependencies = [ | ||||||
|  "proc-macro2", |  "proc-macro2", | ||||||
|  "quote", |  "quote", | ||||||
| @ -385,25 +458,14 @@ dependencies = [ | |||||||
| 
 | 
 | ||||||
| [[package]] | [[package]] | ||||||
| name = "tracing-core" | name = "tracing-core" | ||||||
| version = "0.1.31" | version = "0.1.32" | ||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
| checksum = "0955b8137a1df6f1a2e9a37d8a6656291ff0297c1a97c24e0d8425fe2312f79a" | checksum = "c06d3da6113f116aaee68e4d601191614c9053067f9ab7f6edbcb161237daa54" | ||||||
| dependencies = [ | dependencies = [ | ||||||
|  "once_cell", |  "once_cell", | ||||||
|  "valuable", |  "valuable", | ||||||
| ] | ] | ||||||
| 
 | 
 | ||||||
| [[package]] |  | ||||||
| name = "tracing-log" |  | ||||||
| version = "0.1.3" |  | ||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" |  | ||||||
| checksum = "78ddad33d2d10b1ed7eb9d1f518a5674713876e97e5bb9b7345a7984fbb4f922" |  | ||||||
| dependencies = [ |  | ||||||
|  "lazy_static", |  | ||||||
|  "log", |  | ||||||
|  "tracing-core", |  | ||||||
| ] |  | ||||||
| 
 |  | ||||||
| [[package]] | [[package]] | ||||||
| name = "tracing-log" | name = "tracing-log" | ||||||
| version = "0.2.0" | version = "0.2.0" | ||||||
| @ -417,9 +479,9 @@ dependencies = [ | |||||||
| 
 | 
 | ||||||
| [[package]] | [[package]] | ||||||
| name = "tracing-subscriber" | name = "tracing-subscriber" | ||||||
| version = "0.3.17" | version = "0.3.18" | ||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
| checksum = "30a651bc37f915e81f087d86e62a18eec5f79550c7faff886f7090b4ea757c77" | checksum = "ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b" | ||||||
| dependencies = [ | dependencies = [ | ||||||
|  "matchers", |  "matchers", | ||||||
|  "nu-ansi-term", |  "nu-ansi-term", | ||||||
| @ -430,20 +492,20 @@ dependencies = [ | |||||||
|  "thread_local", |  "thread_local", | ||||||
|  "tracing", |  "tracing", | ||||||
|  "tracing-core", |  "tracing-core", | ||||||
|  "tracing-log 0.1.3", |  "tracing-log", | ||||||
| ] | ] | ||||||
| 
 | 
 | ||||||
| [[package]] | [[package]] | ||||||
| name = "unicode-ident" | name = "unicode-ident" | ||||||
| version = "1.0.9" | version = "1.0.12" | ||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
| checksum = "b15811caf2415fb889178633e7724bad2509101cde276048e013b9def5e51fa0" | checksum = "3354b9ac3fae1ff6755cb6db53683adb661634f67557942dea4facebec0fee4b" | ||||||
| 
 | 
 | ||||||
| [[package]] | [[package]] | ||||||
| name = "unicode-segmentation" | name = "unicode-segmentation" | ||||||
| version = "1.10.1" | version = "1.11.0" | ||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
| checksum = "1dd624098567895118886609431a7c3b8f516e41d30e0643f03d94592a147e36" | checksum = "d4c87d22b6e3f4a18d4d40ef354e97c90fcb14dd91d7dc0aa9d8a1172ebf7202" | ||||||
| 
 | 
 | ||||||
| [[package]] | [[package]] | ||||||
| name = "valuable" | name = "valuable" | ||||||
| @ -473,20 +535,11 @@ version = "0.4.0" | |||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
| checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" | checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" | ||||||
| 
 | 
 | ||||||
| [[package]] |  | ||||||
| name = "windows-sys" |  | ||||||
| version = "0.48.0" |  | ||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" |  | ||||||
| checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" |  | ||||||
| dependencies = [ |  | ||||||
|  "windows-targets", |  | ||||||
| ] |  | ||||||
| 
 |  | ||||||
| [[package]] | [[package]] | ||||||
| name = "windows-targets" | name = "windows-targets" | ||||||
| version = "0.48.0" | version = "0.52.4" | ||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
| checksum = "7b1eb6f0cd7c80c79759c929114ef071b87354ce476d9d94271031c0497adfd5" | checksum = "7dd37b7e5ab9018759f893a1952c9420d060016fc19a472b4bb20d1bdd694d1b" | ||||||
| dependencies = [ | dependencies = [ | ||||||
|  "windows_aarch64_gnullvm", |  "windows_aarch64_gnullvm", | ||||||
|  "windows_aarch64_msvc", |  "windows_aarch64_msvc", | ||||||
| @ -499,42 +552,42 @@ dependencies = [ | |||||||
| 
 | 
 | ||||||
| [[package]] | [[package]] | ||||||
| name = "windows_aarch64_gnullvm" | name = "windows_aarch64_gnullvm" | ||||||
| version = "0.48.0" | version = "0.52.4" | ||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
| checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc" | checksum = "bcf46cf4c365c6f2d1cc93ce535f2c8b244591df96ceee75d8e83deb70a9cac9" | ||||||
| 
 | 
 | ||||||
| [[package]] | [[package]] | ||||||
| name = "windows_aarch64_msvc" | name = "windows_aarch64_msvc" | ||||||
| version = "0.48.0" | version = "0.52.4" | ||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
| checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3" | checksum = "da9f259dd3bcf6990b55bffd094c4f7235817ba4ceebde8e6d11cd0c5633b675" | ||||||
| 
 | 
 | ||||||
| [[package]] | [[package]] | ||||||
| name = "windows_i686_gnu" | name = "windows_i686_gnu" | ||||||
| version = "0.48.0" | version = "0.52.4" | ||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
| checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241" | checksum = "b474d8268f99e0995f25b9f095bc7434632601028cf86590aea5c8a5cb7801d3" | ||||||
| 
 | 
 | ||||||
| [[package]] | [[package]] | ||||||
| name = "windows_i686_msvc" | name = "windows_i686_msvc" | ||||||
| version = "0.48.0" | version = "0.52.4" | ||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
| checksum = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00" | checksum = "1515e9a29e5bed743cb4415a9ecf5dfca648ce85ee42e15873c3cd8610ff8e02" | ||||||
| 
 | 
 | ||||||
| [[package]] | [[package]] | ||||||
| name = "windows_x86_64_gnu" | name = "windows_x86_64_gnu" | ||||||
| version = "0.48.0" | version = "0.52.4" | ||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
| checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1" | checksum = "5eee091590e89cc02ad514ffe3ead9eb6b660aedca2183455434b93546371a03" | ||||||
| 
 | 
 | ||||||
| [[package]] | [[package]] | ||||||
| name = "windows_x86_64_gnullvm" | name = "windows_x86_64_gnullvm" | ||||||
| version = "0.48.0" | version = "0.52.4" | ||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
| checksum = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953" | checksum = "77ca79f2451b49fa9e2af39f0747fe999fcda4f5e241b2898624dca97a1f2177" | ||||||
| 
 | 
 | ||||||
| [[package]] | [[package]] | ||||||
| name = "windows_x86_64_msvc" | name = "windows_x86_64_msvc" | ||||||
| version = "0.48.0" | version = "0.52.4" | ||||||
| source = "registry+https://github.com/rust-lang/crates.io-index" | source = "registry+https://github.com/rust-lang/crates.io-index" | ||||||
| checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a" | checksum = "32b752e52a2da0ddfbdbcc6fceadfeede4c939ed16d13e648833a61dfb611ed8" | ||||||
| @ -23,3 +23,7 @@ tracing-subscriber = { version = "0.3.15", features = ["env-filter"]} | |||||||
| 
 | 
 | ||||||
| [build-dependencies] | [build-dependencies] | ||||||
| napi-build = "2.1.2" | napi-build = "2.1.2" | ||||||
|  | 
 | ||||||
|  | [profile.release] | ||||||
|  | lto = true | ||||||
|  | codegen-units = 1 | ||||||
| @ -6,10 +6,12 @@ | |||||||
|   "types": "index.d.ts", |   "types": "index.d.ts", | ||||||
|   "scripts": { |   "scripts": { | ||||||
|     "artifacts": "napi artifacts", |     "artifacts": "napi artifacts", | ||||||
|     "build": "napi build --platform", |     "build": "npm install --no-save @napi-rs/cli@2.18.0 && npm run check-cargo-version && napi build --platform", | ||||||
|     "build-debug": "npm run build", |     "build-debug": "npm run build", | ||||||
|     "build-release": "npm run build -- --release --strip", |     "build-release": "npm run build -- --release --strip", | ||||||
|     "install": "npm run build-release", |     "check-cargo-version": "VER=$(cat rust-toolchain) ; if ! cargo version | grep \"cargo $VER\" >/dev/null ; then echo -e \"\\033[1;35m[[[[WARNING]]]]: cargo version mismatch with ./rust-toolchain version ($VER)!!!\\033[0m\" >&2; fi", | ||||||
|  |     "clean": "rm -rf ./target/ ./node_modules/ *.node package-lock.json", | ||||||
|  |     "to-backend": "FD=../../backend/rust-gbt/ ; rm -rf $FD && mkdir $FD && cp index.js index.d.ts package.json *.node $FD", | ||||||
|     "prepublishOnly": "napi prepublish -t npm", |     "prepublishOnly": "napi prepublish -t npm", | ||||||
|     "test": "cargo test" |     "test": "cargo test" | ||||||
|   }, |   }, | ||||||
| @ -24,9 +26,6 @@ | |||||||
|       ] |       ] | ||||||
|     } |     } | ||||||
|   }, |   }, | ||||||
|   "dependencies": { |  | ||||||
|     "@napi-rs/cli": "2.18.0" |  | ||||||
|   }, |  | ||||||
|   "engines": { |   "engines": { | ||||||
|     "node": ">= 12" |     "node": ">= 12" | ||||||
|   } |   } | ||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user