Merge branch 'master' into mononaut/fix-mempool-block-skeleton
This commit is contained in:
		
						commit
						1df2c89cdb
					
				| @ -44,7 +44,8 @@ | ||||
|   }, | ||||
|   "ESPLORA": { | ||||
|     "REST_API_URL": "http://127.0.0.1:3000", | ||||
|     "UNIX_SOCKET_PATH": "/tmp/esplora-bitcoin-mainnet" | ||||
|     "UNIX_SOCKET_PATH": "/tmp/esplora-bitcoin-mainnet", | ||||
|     "RETRY_UNIX_SOCKET_AFTER": 30000 | ||||
|   }, | ||||
|   "SECOND_CORE_RPC": { | ||||
|     "HOST": "127.0.0.1", | ||||
|  | ||||
| @ -45,7 +45,8 @@ | ||||
|   }, | ||||
|   "ESPLORA": { | ||||
|     "REST_API_URL": "__ESPLORA_REST_API_URL__", | ||||
|     "UNIX_SOCKET_PATH": "__ESPLORA_UNIX_SOCKET_PATH__" | ||||
|     "UNIX_SOCKET_PATH": "__ESPLORA_UNIX_SOCKET_PATH__", | ||||
|     "RETRY_UNIX_SOCKET_AFTER": "__ESPLORA_RETRY_UNIX_SOCKET_AFTER__" | ||||
|   }, | ||||
|   "SECOND_CORE_RPC": { | ||||
|     "HOST": "__SECOND_CORE_RPC_HOST__", | ||||
|  | ||||
| @ -47,7 +47,7 @@ describe('Mempool Backend Config', () => { | ||||
| 
 | ||||
|       expect(config.ELECTRUM).toStrictEqual({ HOST: '127.0.0.1', PORT: 3306, TLS_ENABLED: true }); | ||||
| 
 | ||||
|       expect(config.ESPLORA).toStrictEqual({ REST_API_URL: 'http://127.0.0.1:3000', UNIX_SOCKET_PATH: null }); | ||||
|       expect(config.ESPLORA).toStrictEqual({ REST_API_URL: 'http://127.0.0.1:3000', UNIX_SOCKET_PATH: null, RETRY_UNIX_SOCKET_AFTER: 30000 }); | ||||
| 
 | ||||
|       expect(config.CORE_RPC).toStrictEqual({ | ||||
|         HOST: '127.0.0.1', | ||||
|  | ||||
| @ -107,7 +107,7 @@ function makeBlockTemplates(mempool: { [txid: string]: ThreadTransaction }) | ||||
| 
 | ||||
|     if (nextTx && !nextTx?.used) { | ||||
|       // Check if the package fits into this block
 | ||||
|       if (blockWeight + nextTx.ancestorWeight < config.MEMPOOL.BLOCK_WEIGHT_UNITS) { | ||||
|       if (blocks.length >= 7 || (blockWeight + nextTx.ancestorWeight < config.MEMPOOL.BLOCK_WEIGHT_UNITS)) { | ||||
|         const ancestors: AuditTransaction[] = Array.from(nextTx.ancestorMap.values()); | ||||
|         // sort ancestors by dependency graph (equivalent to sorting by ascending ancestor count)
 | ||||
|         const sortedTxSet = [...ancestors.sort((a, b) => { return (a.ancestorMap.size || 0) - (b.ancestorMap.size || 0); }), nextTx]; | ||||
| @ -175,34 +175,14 @@ function makeBlockTemplates(mempool: { [txid: string]: ThreadTransaction }) | ||||
|       overflow = []; | ||||
|     } | ||||
|   } | ||||
|   // pack any leftover transactions into the last block
 | ||||
|   for (const tx of overflow) { | ||||
|     if (!tx || tx?.used) { | ||||
|       continue; | ||||
| 
 | ||||
|   if (overflow.length > 0) { | ||||
|     logger.warn('GBT overflow list unexpectedly non-empty after final block constructed'); | ||||
|   } | ||||
|     blockWeight += tx.weight; | ||||
|     const mempoolTx = mempool[tx.txid]; | ||||
|     // update original copy of this tx with effective fee rate & relatives data
 | ||||
|     mempoolTx.effectiveFeePerVsize = tx.score; | ||||
|     if (tx.ancestorMap.size > 0) { | ||||
|       cpfpClusters[tx.txid] = Array.from(tx.ancestorMap?.values()).map(a => a.txid); | ||||
|       mempoolTx.cpfpRoot = tx.txid; | ||||
|   // add the final unbounded block if it contains any transactions
 | ||||
|   if (transactions.length > 0) { | ||||
|     blocks.push(transactions.map(t => mempool[t.txid])); | ||||
|   } | ||||
|     mempoolTx.cpfpChecked = true; | ||||
|     transactions.push(tx); | ||||
|     tx.used = true; | ||||
|   } | ||||
|   const blockTransactions = transactions.map(t => mempool[t.txid]); | ||||
|   restOfArray.forEach(tx => { | ||||
|     blockWeight += tx.weight; | ||||
|     tx.effectiveFeePerVsize = tx.feePerVsize; | ||||
|     tx.cpfpChecked = false; | ||||
|     blockTransactions.push(tx); | ||||
|   }); | ||||
|   if (blockTransactions.length) { | ||||
|     blocks.push(blockTransactions); | ||||
|   } | ||||
|   transactions = []; | ||||
| 
 | ||||
|   const end = Date.now(); | ||||
|   const time = end - start; | ||||
|  | ||||
| @ -205,7 +205,8 @@ Corresponding `docker-compose.yml` overrides: | ||||
| ```json | ||||
|   "ESPLORA": { | ||||
|     "REST_API_URL": "http://127.0.0.1:3000", | ||||
|     "UNIX_SOCKET_PATH": "/tmp/esplora-socket" | ||||
|     "UNIX_SOCKET_PATH": "/tmp/esplora-socket", | ||||
|     "RETRY_UNIX_SOCKET_AFTER": 30000 | ||||
|   }, | ||||
| ``` | ||||
| 
 | ||||
| @ -215,6 +216,7 @@ Corresponding `docker-compose.yml` overrides: | ||||
|     environment: | ||||
|       ESPLORA_REST_API_URL: "" | ||||
|       ESPLORA_UNIX_SOCKET_PATH: "" | ||||
|       ESPLORA_RETRY_UNIX_SOCKET_AFTER: "" | ||||
|       ... | ||||
| ``` | ||||
| 
 | ||||
|  | ||||
| @ -43,7 +43,8 @@ | ||||
|   }, | ||||
|   "ESPLORA": { | ||||
|     "REST_API_URL": "__ESPLORA_REST_API_URL__", | ||||
|     "UNIX_SOCKET_PATH": "__ESPLORA_UNIX_SOCKET_PATH__" | ||||
|     "UNIX_SOCKET_PATH": "__ESPLORA_UNIX_SOCKET_PATH__", | ||||
|     "RETRY_UNIX_SOCKET_AFTER": __ESPLORA_RETRY_UNIX_SOCKET_AFTER__ | ||||
|   }, | ||||
|   "SECOND_CORE_RPC": { | ||||
|     "HOST": "__SECOND_CORE_RPC_HOST__", | ||||
|  | ||||
| @ -47,6 +47,7 @@ __ELECTRUM_TLS_ENABLED__=${ELECTRUM_TLS_ENABLED:=false} | ||||
| # ESPLORA | ||||
| __ESPLORA_REST_API_URL__=${ESPLORA_REST_API_URL:=http://127.0.0.1:3000} | ||||
| __ESPLORA_UNIX_SOCKET_PATH__=${ESPLORA_UNIX_SOCKET_PATH:=null} | ||||
| __ESPLORA_RETRY_UNIX_SOCKET_AFTER__=${ESPLORA_RETRY_UNIX_SOCKET_AFTER:=30000} | ||||
| 
 | ||||
| # SECOND_CORE_RPC | ||||
| __SECOND_CORE_RPC_HOST__=${SECOND_CORE_RPC_HOST:=127.0.0.1} | ||||
| @ -168,6 +169,7 @@ sed -i "s/__ELECTRUM_TLS_ENABLED__/${__ELECTRUM_TLS_ENABLED__}/g" mempool-config | ||||
| 
 | ||||
| sed -i "s!__ESPLORA_REST_API_URL__!${__ESPLORA_REST_API_URL__}!g" mempool-config.json | ||||
| sed -i "s!__ESPLORA_UNIX_SOCKET_PATH__!${__ESPLORA_UNIX_SOCKET_PATH__}!g" mempool-config.json | ||||
| sed -i "s!__ESPLORA_RETRY_UNIX_SOCKET_AFTER__!${__ESPLORA_RETRY_UNIX_SOCKET_AFTER__}!g" mempool-config.json | ||||
| 
 | ||||
| sed -i "s/__SECOND_CORE_RPC_HOST__/${__SECOND_CORE_RPC_HOST__}/g" mempool-config.json | ||||
| sed -i "s/__SECOND_CORE_RPC_PORT__/${__SECOND_CORE_RPC_PORT__}/g" mempool-config.json | ||||
|  | ||||
| @ -137,10 +137,12 @@ export class StartComponent implements OnInit, OnDestroy { | ||||
|   } | ||||
| 
 | ||||
|   onMouseDown(event: MouseEvent) { | ||||
|     if (!(event.which > 1 || event.button > 0)) { | ||||
|       this.mouseDragStartX = event.clientX; | ||||
|       this.resetMomentum(event.clientX); | ||||
|       this.blockchainScrollLeftInit = this.blockchainContainer.nativeElement.scrollLeft; | ||||
|     } | ||||
|   } | ||||
|   onPointerDown(event: PointerEvent) { | ||||
|     if (this.isiOS) { | ||||
|       event.preventDefault(); | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user