Merge branch 'master' into knorrium/backend_unit_tests
This commit is contained in:
		
						commit
						9b6bbaf51c
					
				
							
								
								
									
										50
									
								
								.github/workflows/ci.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										50
									
								
								.github/workflows/ci.yml
									
									
									
									
										vendored
									
									
								
							@ -3,92 +3,94 @@ name: CI Pipeline for the Backend and Frontend
 | 
			
		||||
on:
 | 
			
		||||
  pull_request:
 | 
			
		||||
    types: [opened, review_requested, synchronize]
 | 
			
		||||
env:
 | 
			
		||||
  NODE_VERSION: 16.15.0
 | 
			
		||||
 | 
			
		||||
jobs:
 | 
			
		||||
  backend:
 | 
			
		||||
    if: "!contains(github.event.pull_request.labels.*.name, 'ops') && !contains(github.head_ref, 'ops/')"
 | 
			
		||||
    strategy:
 | 
			
		||||
      matrix:
 | 
			
		||||
        flavor: ['dev', 'prod']
 | 
			
		||||
    runs-on: 'ubuntu-latest'
 | 
			
		||||
        node: ["16.16.0", "18.5.0"]
 | 
			
		||||
        flavor: ["dev", "prod"]
 | 
			
		||||
      fail-fast: false
 | 
			
		||||
    runs-on: "ubuntu-latest"
 | 
			
		||||
 | 
			
		||||
    name: Backend (${{ matrix.flavor }})
 | 
			
		||||
    name: Backend (${{ matrix.flavor }}) - node ${{ matrix.node }}
 | 
			
		||||
    steps:
 | 
			
		||||
      - name: Checkout
 | 
			
		||||
        uses: actions/checkout@v3
 | 
			
		||||
        with:
 | 
			
		||||
          path: ${{ matrix.flavor }}
 | 
			
		||||
          path: ${{ matrix.node }}/${{ matrix.flavor }}
 | 
			
		||||
 | 
			
		||||
      - name: Setup Node
 | 
			
		||||
        uses: actions/setup-node@v3
 | 
			
		||||
        with:
 | 
			
		||||
          node-version: ${{ env.NODE_VERSION }}
 | 
			
		||||
          registry-url: 'https://registry.npmjs.org'
 | 
			
		||||
          node-version: ${{ matrix.node }}
 | 
			
		||||
          registry-url: "https://registry.npmjs.org"
 | 
			
		||||
 | 
			
		||||
      - name: Install
 | 
			
		||||
        if: ${{ matrix.flavor == 'dev'}}
 | 
			
		||||
        run: npm ci
 | 
			
		||||
        working-directory: ${{ matrix.flavor }}/backend
 | 
			
		||||
        working-directory: ${{ matrix.node }}/${{ matrix.flavor }}/backend
 | 
			
		||||
 | 
			
		||||
      - name: Install (Prod dependencies only)
 | 
			
		||||
        if: ${{ matrix.flavor == 'prod'}}
 | 
			
		||||
        run: npm ci --omit=dev --omit=optional
 | 
			
		||||
        working-directory: ${{ matrix.flavor }}/backend
 | 
			
		||||
        working-directory: ${{ matrix.node }}/${{ matrix.flavor }}/backend
 | 
			
		||||
 | 
			
		||||
      - name: Lint
 | 
			
		||||
        if: ${{ matrix.flavor == 'dev'}}
 | 
			
		||||
        run: npm run lint
 | 
			
		||||
        working-directory: ${{ matrix.flavor }}/backend
 | 
			
		||||
        working-directory: ${{ matrix.node }}/${{ matrix.flavor }}/backend
 | 
			
		||||
 | 
			
		||||
      - name: Test
 | 
			
		||||
      - name: Unit Tests
 | 
			
		||||
        if: ${{ matrix.flavor == 'dev'}}
 | 
			
		||||
        run: npm run test
 | 
			
		||||
        working-directory: ${{ matrix.flavor }}/backend
 | 
			
		||||
        working-directory: ${{ matrix.node }}/${{ matrix.flavor }}/backend
 | 
			
		||||
 | 
			
		||||
      - name: Build
 | 
			
		||||
        run: npm run build
 | 
			
		||||
        working-directory: ${{ matrix.flavor }}/backend
 | 
			
		||||
        working-directory: ${{ matrix.node }}/${{ matrix.flavor }}/backend
 | 
			
		||||
 | 
			
		||||
  frontend:
 | 
			
		||||
    if: "!contains(github.event.pull_request.labels.*.name, 'ops') && !contains(github.head_ref, 'ops/')"
 | 
			
		||||
    strategy:
 | 
			
		||||
      matrix:
 | 
			
		||||
        flavor: ['dev', 'prod']
 | 
			
		||||
    runs-on: 'ubuntu-latest'
 | 
			
		||||
        node: ["16.15.0", "18.5.0"]
 | 
			
		||||
        flavor: ["dev", "prod"]
 | 
			
		||||
      fail-fast: false
 | 
			
		||||
    runs-on: "ubuntu-latest"
 | 
			
		||||
 | 
			
		||||
    name: Frontend (${{ matrix.flavor }})
 | 
			
		||||
    name: Frontend (${{ matrix.flavor }}) - node ${{ matrix.node }}
 | 
			
		||||
    steps:
 | 
			
		||||
      - name: Checkout
 | 
			
		||||
        uses: actions/checkout@v3
 | 
			
		||||
        with:
 | 
			
		||||
          path: ${{ matrix.flavor }}
 | 
			
		||||
          path: ${{ matrix.node }}/${{ matrix.flavor }}
 | 
			
		||||
 | 
			
		||||
      - name: Setup Node
 | 
			
		||||
        uses: actions/setup-node@v3
 | 
			
		||||
        with:
 | 
			
		||||
          node-version: ${{ env.NODE_VERSION }}
 | 
			
		||||
          registry-url: 'https://registry.npmjs.org'
 | 
			
		||||
          node-version: ${{ matrix.node }}
 | 
			
		||||
          registry-url: "https://registry.npmjs.org"
 | 
			
		||||
 | 
			
		||||
      - name: Install (Prod dependencies only)
 | 
			
		||||
        run: npm ci --omit=dev --omit=optional
 | 
			
		||||
        if: ${{ matrix.flavor == 'prod'}}
 | 
			
		||||
        working-directory: ${{ matrix.flavor }}/frontend
 | 
			
		||||
        working-directory: ${{ matrix.node }}/${{ matrix.flavor }}/frontend
 | 
			
		||||
 | 
			
		||||
      - name: Install
 | 
			
		||||
        if: ${{ matrix.flavor == 'dev'}}
 | 
			
		||||
        run: npm ci
 | 
			
		||||
        working-directory: ${{ matrix.flavor }}/frontend
 | 
			
		||||
        working-directory: ${{ matrix.node }}/${{ matrix.flavor }}/frontend
 | 
			
		||||
 | 
			
		||||
      - name: Lint
 | 
			
		||||
        if: ${{ matrix.flavor == 'dev'}}
 | 
			
		||||
        run: npm run lint
 | 
			
		||||
        working-directory: ${{ matrix.flavor }}/frontend
 | 
			
		||||
        working-directory: ${{ matrix.node }}/${{ matrix.flavor }}/frontend
 | 
			
		||||
 | 
			
		||||
      # - name: Test
 | 
			
		||||
      #   run: npm run test
 | 
			
		||||
 | 
			
		||||
      - name: Build
 | 
			
		||||
        run: npm run build
 | 
			
		||||
        working-directory: ${{ matrix.flavor }}/frontend
 | 
			
		||||
        working-directory: ${{ matrix.node }}/${{ matrix.flavor }}/frontend
 | 
			
		||||
 | 
			
		||||
@ -168,7 +168,7 @@ class Blocks {
 | 
			
		||||
      blockExtended.extras.avgFeeRate = stats.avgfeerate;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if (['mainnet', 'testnet', 'signet', 'regtest'].includes(config.MEMPOOL.NETWORK)) {
 | 
			
		||||
    if (['mainnet', 'testnet', 'signet'].includes(config.MEMPOOL.NETWORK)) {
 | 
			
		||||
      let pool: PoolTag;
 | 
			
		||||
      if (blockExtended.extras?.coinbaseTx !== undefined) {
 | 
			
		||||
        pool = await this.$findBlockMiner(blockExtended.extras?.coinbaseTx);
 | 
			
		||||
@ -405,7 +405,7 @@ class Blocks {
 | 
			
		||||
 | 
			
		||||
        if (blockHeightTip >= 2016) {
 | 
			
		||||
          const previousPeriodBlockHash = await bitcoinApi.$getBlockHash(blockHeightTip - heightDiff - 2016);
 | 
			
		||||
          const previousPeriodBlock = await bitcoinApi.$getBlock(previousPeriodBlockHash);
 | 
			
		||||
          const previousPeriodBlock = await bitcoinClient.getBlock(previousPeriodBlockHash)
 | 
			
		||||
          this.previousDifficultyRetarget = (block.difficulty - previousPeriodBlock.difficulty) / previousPeriodBlock.difficulty * 100;
 | 
			
		||||
          logger.debug(`Initial difficulty adjustment data set.`);
 | 
			
		||||
        }
 | 
			
		||||
@ -527,13 +527,15 @@ class Blocks {
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    const block = await bitcoinApi.$getBlock(hash);
 | 
			
		||||
    let block = await bitcoinClient.getBlock(hash);
 | 
			
		||||
 | 
			
		||||
    // Not Bitcoin network, return the block as it
 | 
			
		||||
    if (['mainnet', 'testnet', 'signet'].includes(config.MEMPOOL.NETWORK) === false) {
 | 
			
		||||
      return block;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    block = prepareBlock(block);
 | 
			
		||||
 | 
			
		||||
    // Bitcoin network, add our custom data on top
 | 
			
		||||
    const transactions = await this.$getTransactionsExtended(hash, block.height, true);
 | 
			
		||||
    const blockExtended = await this.$getBlockExtended(block, transactions);
 | 
			
		||||
@ -577,7 +579,6 @@ class Blocks {
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  public async $getBlocks(fromHeight?: number, limit: number = 15): Promise<BlockExtended[]> {
 | 
			
		||||
    try {
 | 
			
		||||
    let currentHeight = fromHeight !== undefined ? fromHeight : this.getCurrentBlockHeight();
 | 
			
		||||
    const returnBlocks: BlockExtended[] = [];
 | 
			
		||||
 | 
			
		||||
@ -607,7 +608,7 @@ class Blocks {
 | 
			
		||||
        block = await this.$indexBlock(currentHeight);
 | 
			
		||||
        returnBlocks.push(block);
 | 
			
		||||
      } else if (nextHash != null) {
 | 
			
		||||
          block = prepareBlock(await bitcoinApi.$getBlock(nextHash));
 | 
			
		||||
        block = prepareBlock(await bitcoinClient.getBlock(nextHash));
 | 
			
		||||
        nextHash = block.previousblockhash;
 | 
			
		||||
        returnBlocks.push(block);
 | 
			
		||||
      }
 | 
			
		||||
@ -615,9 +616,6 @@ class Blocks {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    return returnBlocks;
 | 
			
		||||
    } catch (e) {
 | 
			
		||||
      throw e;
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  public getLastDifficultyAdjustmentTime(): number {
 | 
			
		||||
 | 
			
		||||
@ -3,14 +3,14 @@ import { BlockExtended } from '../mempool.interfaces';
 | 
			
		||||
export function prepareBlock(block: any): BlockExtended {
 | 
			
		||||
  return <BlockExtended>{
 | 
			
		||||
    id: block.id ?? block.hash, // hash for indexed block
 | 
			
		||||
    timestamp: block.timestamp ?? block.blockTimestamp, // blockTimestamp for indexed block
 | 
			
		||||
    timestamp: block.timestamp ?? block.time ?? block.blockTimestamp, // blockTimestamp for indexed block
 | 
			
		||||
    height: block.height,
 | 
			
		||||
    version: block.version,
 | 
			
		||||
    bits: block.bits,
 | 
			
		||||
    bits: (typeof block.bits === 'string' ? parseInt(block.bits, 16): block.bits),
 | 
			
		||||
    nonce: block.nonce,
 | 
			
		||||
    difficulty: block.difficulty,
 | 
			
		||||
    merkle_root: block.merkle_root,
 | 
			
		||||
    tx_count: block.tx_count,
 | 
			
		||||
    merkle_root: block.merkle_root ?? block.merkleroot,
 | 
			
		||||
    tx_count: block.tx_count ?? block.nTx,
 | 
			
		||||
    size: block.size,
 | 
			
		||||
    weight: block.weight,
 | 
			
		||||
    previousblockhash: block.previousblockhash,
 | 
			
		||||
 | 
			
		||||
@ -1,4 +1,4 @@
 | 
			
		||||
FROM node:16.15.0-buster-slim AS builder
 | 
			
		||||
FROM node:16.16.0-buster-slim AS builder
 | 
			
		||||
 | 
			
		||||
ARG commitHash
 | 
			
		||||
ENV DOCKER_COMMIT_HASH=${commitHash}
 | 
			
		||||
@ -11,7 +11,7 @@ RUN apt-get install -y build-essential python3 pkg-config
 | 
			
		||||
RUN npm install --omit=dev --omit=optional
 | 
			
		||||
RUN npm run build
 | 
			
		||||
 | 
			
		||||
FROM node:16.15.0-buster-slim
 | 
			
		||||
FROM node:16.16.0-buster-slim
 | 
			
		||||
 | 
			
		||||
WORKDIR /backend
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -1,4 +1,4 @@
 | 
			
		||||
FROM node:16.15.0-buster-slim AS builder
 | 
			
		||||
FROM node:16.16.0-buster-slim AS builder
 | 
			
		||||
 | 
			
		||||
ARG commitHash
 | 
			
		||||
ENV DOCKER_COMMIT_HASH=${commitHash}
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										8567
									
								
								frontend/package-lock.json
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										8567
									
								
								frontend/package-lock.json
									
									
									
										generated
									
									
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							@ -63,18 +63,18 @@
 | 
			
		||||
    "cypress:run:ci:staging": "node update-config.js TESTNET_ENABLED=true SIGNET_ENABLED=true LIQUID_ENABLED=true BISQ_ENABLED=true ITEMS_PER_PAGE=25 && npm run generate-config && start-server-and-test serve:local-staging 4200 cypress:run:record"
 | 
			
		||||
  },
 | 
			
		||||
  "dependencies": {
 | 
			
		||||
    "@angular-devkit/build-angular": "~14.0.5",
 | 
			
		||||
    "@angular/animations": "~14.0.5",
 | 
			
		||||
    "@angular/cli": "~14.0.5",
 | 
			
		||||
    "@angular/common": "~14.0.5",
 | 
			
		||||
    "@angular/compiler": "~14.0.5",
 | 
			
		||||
    "@angular/core": "~14.0.5",
 | 
			
		||||
    "@angular/forms": "~14.0.5",
 | 
			
		||||
    "@angular/localize": "~14.0.5",
 | 
			
		||||
    "@angular/platform-browser": "~14.0.5",
 | 
			
		||||
    "@angular/platform-browser-dynamic": "~14.0.5",
 | 
			
		||||
    "@angular/platform-server": "~14.0.5",
 | 
			
		||||
    "@angular/router": "~14.0.5",
 | 
			
		||||
    "@angular-devkit/build-angular": "~13.3.7",
 | 
			
		||||
    "@angular/animations": "~13.3.10",
 | 
			
		||||
    "@angular/cli": "~13.3.7",
 | 
			
		||||
    "@angular/common": "~13.3.10",
 | 
			
		||||
    "@angular/compiler": "~13.3.10",
 | 
			
		||||
    "@angular/core": "~13.3.10",
 | 
			
		||||
    "@angular/forms": "~13.3.10",
 | 
			
		||||
    "@angular/localize": "~13.3.10",
 | 
			
		||||
    "@angular/platform-browser": "~13.3.10",
 | 
			
		||||
    "@angular/platform-browser-dynamic": "~13.3.10",
 | 
			
		||||
    "@angular/platform-server": "~13.3.10",
 | 
			
		||||
    "@angular/router": "~13.3.10",
 | 
			
		||||
    "@fortawesome/angular-fontawesome": "~0.10.2",
 | 
			
		||||
    "@fortawesome/fontawesome-common-types": "~6.1.1",
 | 
			
		||||
    "@fortawesome/fontawesome-svg-core": "~6.1.1",
 | 
			
		||||
@ -87,22 +87,22 @@
 | 
			
		||||
    "browserify": "^17.0.0",
 | 
			
		||||
    "clipboard": "^2.0.10",
 | 
			
		||||
    "domino": "^2.1.6",
 | 
			
		||||
    "echarts": "~5.3.3",
 | 
			
		||||
    "echarts": "~5.3.2",
 | 
			
		||||
    "express": "^4.17.1",
 | 
			
		||||
    "lightweight-charts": "~3.8.0",
 | 
			
		||||
    "ngx-echarts": "~14.0.0",
 | 
			
		||||
    "ngx-echarts": "8.0.1",
 | 
			
		||||
    "ngx-infinite-scroll": "^10.0.1",
 | 
			
		||||
    "qrcode": "1.5.0",
 | 
			
		||||
    "rxjs": "~7.5.5",
 | 
			
		||||
    "tinyify": "^3.0.0",
 | 
			
		||||
    "tlite": "^0.1.9",
 | 
			
		||||
    "tslib": "~2.4.0",
 | 
			
		||||
    "zone.js": "~0.11.6"
 | 
			
		||||
    "zone.js": "~0.11.5"
 | 
			
		||||
  },
 | 
			
		||||
  "devDependencies": {
 | 
			
		||||
    "@angular/compiler-cli": "~14.0.5",
 | 
			
		||||
    "@angular/language-service": "~14.0.5",
 | 
			
		||||
    "@nguniversal/builders": "~14.0.3",
 | 
			
		||||
    "@angular/compiler-cli": "~13.3.10",
 | 
			
		||||
    "@angular/language-service": "~13.3.10",
 | 
			
		||||
    "@nguniversal/builders": "~13.1.1",
 | 
			
		||||
    "@types/express": "^4.17.0",
 | 
			
		||||
    "@types/node": "^12.11.1",
 | 
			
		||||
    "@typescript-eslint/eslint-plugin": "^5.30.5",
 | 
			
		||||
 | 
			
		||||
@ -529,7 +529,7 @@ if (browserWindowEnv && browserWindowEnv.BASE_MODULE === 'liquid') {
 | 
			
		||||
 | 
			
		||||
@NgModule({
 | 
			
		||||
  imports: [RouterModule.forRoot(routes, {
 | 
			
		||||
    initialNavigation: 'enabledNonBlocking',
 | 
			
		||||
    initialNavigation: 'enabled',
 | 
			
		||||
    scrollPositionRestoration: 'enabled',
 | 
			
		||||
    anchorScrolling: 'enabled',
 | 
			
		||||
    preloadingStrategy: PreloadAllModules
 | 
			
		||||
 | 
			
		||||
@ -15,7 +15,7 @@
 | 
			
		||||
        </td>
 | 
			
		||||
      </tr>
 | 
			
		||||
      <tr>
 | 
			
		||||
        <td class="td-width" i18n="transaction.value|Transaction value">Value</td>
 | 
			
		||||
        <td class="td-width" i18n="dashboard.latest-transactions.amount">Amount</td>
 | 
			
		||||
        <td><app-amount [satoshis]="value"></app-amount></td>
 | 
			
		||||
      </tr>
 | 
			
		||||
      <tr>
 | 
			
		||||
 | 
			
		||||
@ -12,7 +12,6 @@ if (browserWindowEnv.BASE_MODULE && (browserWindowEnv.BASE_MODULE === 'bisq' ||
 | 
			
		||||
  routes = [
 | 
			
		||||
    {
 | 
			
		||||
      path: '',
 | 
			
		||||
      pathMatch: 'full',
 | 
			
		||||
      redirectTo: 'api/rest'
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
@ -32,7 +31,6 @@ if (browserWindowEnv.BASE_MODULE && (browserWindowEnv.BASE_MODULE === 'bisq' ||
 | 
			
		||||
  routes = [
 | 
			
		||||
    {
 | 
			
		||||
      path: '',
 | 
			
		||||
      pathMatch: 'full',
 | 
			
		||||
      redirectTo: 'faq'
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
 | 
			
		||||
@ -91,7 +91,6 @@ const routes: Routes = [
 | 
			
		||||
          },
 | 
			
		||||
          {
 | 
			
		||||
            path: '',
 | 
			
		||||
            pathMatch: 'full',
 | 
			
		||||
            redirectTo: 'mempool',
 | 
			
		||||
          },
 | 
			
		||||
          {
 | 
			
		||||
 | 
			
		||||
@ -952,6 +952,10 @@
 | 
			
		||||
          <context context-type="sourcefile">src/app/bisq/bisq-transactions/bisq-transactions.component.html</context>
 | 
			
		||||
          <context context-type="linenumber">20,21</context>
 | 
			
		||||
        </context-group>
 | 
			
		||||
        <context-group purpose="location">
 | 
			
		||||
          <context context-type="sourcefile">src/app/components/block-overview-tooltip/block-overview-tooltip.component.html</context>
 | 
			
		||||
          <context context-type="linenumber">18</context>
 | 
			
		||||
        </context-group>
 | 
			
		||||
        <context-group purpose="location">
 | 
			
		||||
          <context context-type="sourcefile">src/app/dashboard/dashboard.component.html</context>
 | 
			
		||||
          <context context-type="linenumber">124,125</context>
 | 
			
		||||
@ -1363,7 +1367,7 @@
 | 
			
		||||
        <target>Echange</target>
 | 
			
		||||
        <context-group purpose="location">
 | 
			
		||||
          <context context-type="sourcefile">src/app/bisq/lightweight-charts-area/lightweight-charts-area.component.ts</context>
 | 
			
		||||
          <context context-type="linenumber">90</context>
 | 
			
		||||
          <context context-type="linenumber">99</context>
 | 
			
		||||
        </context-group>
 | 
			
		||||
      </trans-unit>
 | 
			
		||||
      <trans-unit id="bisq-graph-volume" datatype="html">
 | 
			
		||||
@ -1371,7 +1375,7 @@
 | 
			
		||||
        <target>Volume</target>
 | 
			
		||||
        <context-group purpose="location">
 | 
			
		||||
          <context context-type="sourcefile">src/app/bisq/lightweight-charts-area/lightweight-charts-area.component.ts</context>
 | 
			
		||||
          <context context-type="linenumber">91</context>
 | 
			
		||||
          <context context-type="linenumber">100</context>
 | 
			
		||||
        </context-group>
 | 
			
		||||
      </trans-unit>
 | 
			
		||||
      <trans-unit id="4b137ec8bf73a47063740b75c0c40d5fd3c48015" datatype="html">
 | 
			
		||||
@ -2076,16 +2080,6 @@
 | 
			
		||||
          <context context-type="linenumber">264,266</context>
 | 
			
		||||
        </context-group>
 | 
			
		||||
      </trans-unit>
 | 
			
		||||
      <trans-unit id="bc4c61d3713989e3c8c6610fca3ea1ca1cb19edb" datatype="html">
 | 
			
		||||
        <source>Value</source>
 | 
			
		||||
        <target>Valeur</target>
 | 
			
		||||
        <context-group purpose="location">
 | 
			
		||||
          <context context-type="sourcefile">src/app/components/block-overview-tooltip/block-overview-tooltip.component.html</context>
 | 
			
		||||
          <context context-type="linenumber">18</context>
 | 
			
		||||
        </context-group>
 | 
			
		||||
        <note priority="1" from="description">Transaction value</note>
 | 
			
		||||
        <note priority="1" from="meaning">transaction.value</note>
 | 
			
		||||
      </trans-unit>
 | 
			
		||||
      <trans-unit id="cb1b52c13b95fa29ea4044f2bbe0ac623b890c80" datatype="html">
 | 
			
		||||
        <source>Fee</source>
 | 
			
		||||
        <target>Frais</target>
 | 
			
		||||
 | 
			
		||||
@ -952,6 +952,10 @@
 | 
			
		||||
          <context context-type="sourcefile">src/app/bisq/bisq-transactions/bisq-transactions.component.html</context>
 | 
			
		||||
          <context context-type="linenumber">20,21</context>
 | 
			
		||||
        </context-group>
 | 
			
		||||
        <context-group purpose="location">
 | 
			
		||||
          <context context-type="sourcefile">src/app/components/block-overview-tooltip/block-overview-tooltip.component.html</context>
 | 
			
		||||
          <context context-type="linenumber">18</context>
 | 
			
		||||
        </context-group>
 | 
			
		||||
        <context-group purpose="location">
 | 
			
		||||
          <context context-type="sourcefile">src/app/dashboard/dashboard.component.html</context>
 | 
			
		||||
          <context context-type="linenumber">124,125</context>
 | 
			
		||||
@ -1363,7 +1367,7 @@
 | 
			
		||||
        <target>Handler</target>
 | 
			
		||||
        <context-group purpose="location">
 | 
			
		||||
          <context context-type="sourcefile">src/app/bisq/lightweight-charts-area/lightweight-charts-area.component.ts</context>
 | 
			
		||||
          <context context-type="linenumber">90</context>
 | 
			
		||||
          <context context-type="linenumber">99</context>
 | 
			
		||||
        </context-group>
 | 
			
		||||
      </trans-unit>
 | 
			
		||||
      <trans-unit id="bisq-graph-volume" datatype="html">
 | 
			
		||||
@ -1371,7 +1375,7 @@
 | 
			
		||||
        <target>Volum</target>
 | 
			
		||||
        <context-group purpose="location">
 | 
			
		||||
          <context context-type="sourcefile">src/app/bisq/lightweight-charts-area/lightweight-charts-area.component.ts</context>
 | 
			
		||||
          <context context-type="linenumber">91</context>
 | 
			
		||||
          <context context-type="linenumber">100</context>
 | 
			
		||||
        </context-group>
 | 
			
		||||
      </trans-unit>
 | 
			
		||||
      <trans-unit id="4b137ec8bf73a47063740b75c0c40d5fd3c48015" datatype="html">
 | 
			
		||||
@ -2076,16 +2080,6 @@
 | 
			
		||||
          <context context-type="linenumber">264,266</context>
 | 
			
		||||
        </context-group>
 | 
			
		||||
      </trans-unit>
 | 
			
		||||
      <trans-unit id="bc4c61d3713989e3c8c6610fca3ea1ca1cb19edb" datatype="html">
 | 
			
		||||
        <source>Value</source>
 | 
			
		||||
        <target>Verdi</target>
 | 
			
		||||
        <context-group purpose="location">
 | 
			
		||||
          <context context-type="sourcefile">src/app/components/block-overview-tooltip/block-overview-tooltip.component.html</context>
 | 
			
		||||
          <context context-type="linenumber">18</context>
 | 
			
		||||
        </context-group>
 | 
			
		||||
        <note priority="1" from="description">Transaction value</note>
 | 
			
		||||
        <note priority="1" from="meaning">transaction.value</note>
 | 
			
		||||
      </trans-unit>
 | 
			
		||||
      <trans-unit id="cb1b52c13b95fa29ea4044f2bbe0ac623b890c80" datatype="html">
 | 
			
		||||
        <source>Fee</source>
 | 
			
		||||
        <target>Avgift</target>
 | 
			
		||||
 | 
			
		||||
@ -878,6 +878,10 @@
 | 
			
		||||
          <context context-type="sourcefile">src/app/bisq/bisq-transactions/bisq-transactions.component.html</context>
 | 
			
		||||
          <context context-type="linenumber">20,21</context>
 | 
			
		||||
        </context-group>
 | 
			
		||||
        <context-group purpose="location">
 | 
			
		||||
          <context context-type="sourcefile">src/app/components/block-overview-tooltip/block-overview-tooltip.component.html</context>
 | 
			
		||||
          <context context-type="linenumber">18</context>
 | 
			
		||||
        </context-group>
 | 
			
		||||
        <context-group purpose="location">
 | 
			
		||||
          <context context-type="sourcefile">src/app/dashboard/dashboard.component.html</context>
 | 
			
		||||
          <context context-type="linenumber">124,125</context>
 | 
			
		||||
@ -1263,14 +1267,14 @@
 | 
			
		||||
        <source>Trades</source>
 | 
			
		||||
        <context-group purpose="location">
 | 
			
		||||
          <context context-type="sourcefile">src/app/bisq/lightweight-charts-area/lightweight-charts-area.component.ts</context>
 | 
			
		||||
          <context context-type="linenumber">90</context>
 | 
			
		||||
          <context context-type="linenumber">99</context>
 | 
			
		||||
        </context-group>
 | 
			
		||||
      </trans-unit>
 | 
			
		||||
      <trans-unit id="bisq-graph-volume" datatype="html">
 | 
			
		||||
        <source>Volume</source>
 | 
			
		||||
        <context-group purpose="location">
 | 
			
		||||
          <context context-type="sourcefile">src/app/bisq/lightweight-charts-area/lightweight-charts-area.component.ts</context>
 | 
			
		||||
          <context context-type="linenumber">91</context>
 | 
			
		||||
          <context context-type="linenumber">100</context>
 | 
			
		||||
        </context-group>
 | 
			
		||||
      </trans-unit>
 | 
			
		||||
      <trans-unit id="4b137ec8bf73a47063740b75c0c40d5fd3c48015" datatype="html">
 | 
			
		||||
@ -1918,15 +1922,6 @@
 | 
			
		||||
          <context context-type="linenumber">264,266</context>
 | 
			
		||||
        </context-group>
 | 
			
		||||
      </trans-unit>
 | 
			
		||||
      <trans-unit id="bc4c61d3713989e3c8c6610fca3ea1ca1cb19edb" datatype="html">
 | 
			
		||||
        <source>Value</source>
 | 
			
		||||
        <context-group purpose="location">
 | 
			
		||||
          <context context-type="sourcefile">src/app/components/block-overview-tooltip/block-overview-tooltip.component.html</context>
 | 
			
		||||
          <context context-type="linenumber">18</context>
 | 
			
		||||
        </context-group>
 | 
			
		||||
        <note priority="1" from="description">Transaction value</note>
 | 
			
		||||
        <note priority="1" from="meaning">transaction.value</note>
 | 
			
		||||
      </trans-unit>
 | 
			
		||||
      <trans-unit id="cb1b52c13b95fa29ea4044f2bbe0ac623b890c80" datatype="html">
 | 
			
		||||
        <source>Fee</source>
 | 
			
		||||
        <context-group purpose="location">
 | 
			
		||||
 | 
			
		||||
@ -82,11 +82,11 @@ pkg install -y zsh sudo git screen curl wget neovim rsync nginx openssl openssh-
 | 
			
		||||
 | 
			
		||||
### Node.js + npm
 | 
			
		||||
 | 
			
		||||
Build Node.js v16.15 and npm v8 from source using `nvm`:
 | 
			
		||||
Build Node.js v16.16.0 and npm v8 from source using `nvm`:
 | 
			
		||||
```
 | 
			
		||||
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | zsh
 | 
			
		||||
source $HOME/.zshrc
 | 
			
		||||
nvm install v16.15.0
 | 
			
		||||
nvm install v16.16.0 --shared-zlib
 | 
			
		||||
nvm alias default node
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -647,193 +647,193 @@ ext4CreateDir()
 | 
			
		||||
 | 
			
		||||
# does bitcoin exist?
 | 
			
		||||
 | 
			
		||||
##########
 | 
			
		||||
# dialog #
 | 
			
		||||
##########
 | 
			
		||||
 | 
			
		||||
: ${DIALOG=dialog}
 | 
			
		||||
 | 
			
		||||
: ${DIALOG_OK=0}
 | 
			
		||||
: ${DIALOG_CANCEL=1}
 | 
			
		||||
: ${DIALOG_HELP=2}
 | 
			
		||||
: ${DIALOG_EXTRA=3}
 | 
			
		||||
: ${DIALOG_ITEM_HELP=4}
 | 
			
		||||
: ${DIALOG_ESC=255}
 | 
			
		||||
 | 
			
		||||
: ${SIG_OFFNE=0}
 | 
			
		||||
: ${SIG_HUP=1}
 | 
			
		||||
: ${SIG_INT=2}
 | 
			
		||||
: ${SIG_QUIT=3}
 | 
			
		||||
: ${SIG_KILL=9}
 | 
			
		||||
: ${SIG_TERM=15}
 | 
			
		||||
 | 
			
		||||
input=`tempfile 2>/dev/null` || input=/tmp/input$$
 | 
			
		||||
output=`tempfile 2>/dev/null` || output=/tmp/test$$
 | 
			
		||||
trap "rm -f $input $output" $SIG_OFFNE $SIG_HUP $SIG_INT $SIG_TRAP $SIG_TERM
 | 
			
		||||
 | 
			
		||||
DIALOG_ERROR=254
 | 
			
		||||
export DIALOG_ERROR
 | 
			
		||||
 | 
			
		||||
backtitle="Mempool Fullnode Installer"
 | 
			
		||||
title="Mempool Fullnode Installer"
 | 
			
		||||
returncode=0
 | 
			
		||||
 | 
			
		||||
#################
 | 
			
		||||
# dialog part 1 #
 | 
			
		||||
#################
 | 
			
		||||
 | 
			
		||||
$CUT >$input <<-EOF
 | 
			
		||||
Tor:Enable Tor v3 HS Onion:ON
 | 
			
		||||
Certbot:Enable HTTPS using Certbot:ON
 | 
			
		||||
Mainnet:Enable Bitcoin Mainnet:ON
 | 
			
		||||
Mainnet-Minfee:Enable Bitcoin Mainnet Minfee:ON
 | 
			
		||||
Testnet:Enable Bitcoin Testnet:ON
 | 
			
		||||
Liquid:Enable Elements Liquid:ON
 | 
			
		||||
Bisq:Enable Bisq:ON
 | 
			
		||||
Lightmode:Enable Electrs Lightmode to save disk space:ON
 | 
			
		||||
Smalldisk:Disable Electrs Compaction to save disk space:ON
 | 
			
		||||
Firewall:Enable Firewall:ON
 | 
			
		||||
EOF
 | 
			
		||||
 | 
			
		||||
cat $input | sed -e 's/^/"/' -e 's/:/" "/g' -e 's/$/"/' >$output
 | 
			
		||||
cat $output >$input
 | 
			
		||||
 | 
			
		||||
$DIALOG --backtitle "${backtitle}" \
 | 
			
		||||
        --title "${title}" "$@" \
 | 
			
		||||
        --checklist "Toggle the features below to configure your fullnode:\n" \
 | 
			
		||||
        20 80 10 \
 | 
			
		||||
        --file $input 2> $output
 | 
			
		||||
 | 
			
		||||
retval=$?
 | 
			
		||||
 | 
			
		||||
tempfile=$output
 | 
			
		||||
if [ $retval != $DIALOG_OK ];then
 | 
			
		||||
    echo "Installation aborted."
 | 
			
		||||
    exit 1
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
if grep Tor $tempfile >/dev/null 2>&1;then
 | 
			
		||||
    TOR_INSTALL=ON
 | 
			
		||||
else
 | 
			
		||||
    TOR_INSTALL=OFF
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
if grep Certbot $tempfile >/dev/null 2>&1;then
 | 
			
		||||
    CERTBOT_INSTALL=ON
 | 
			
		||||
else
 | 
			
		||||
    CERTBOT_INSTALL=OFF
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
if grep Mainnet $tempfile >/dev/null 2>&1;then
 | 
			
		||||
    BITCOIN_MAINNET_ENABLE=ON
 | 
			
		||||
else
 | 
			
		||||
    BITCOIN_MAINNET_ENABLE=OFF
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
if grep Mainnet-Minfee $tempfile >/dev/null 2>&1;then
 | 
			
		||||
    BITCOIN_MAINNET_MINFEE_ENABLE=ON
 | 
			
		||||
else
 | 
			
		||||
    BITCOIN_MAINNET_MINFEE_ENABLE=OFF
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
if grep Testnet $tempfile >/dev/null 2>&1;then
 | 
			
		||||
    BITCOIN_TESTNET_ENABLE=ON
 | 
			
		||||
else
 | 
			
		||||
    BITCOIN_TESTNET_ENABLE=OFF
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
if grep Liquid $tempfile >/dev/null 2>&1;then
 | 
			
		||||
    ELEMENTS_INSTALL=ON
 | 
			
		||||
    ELEMENTS_LIQUID_ENABLE=ON
 | 
			
		||||
else
 | 
			
		||||
    ELEMENTS_INSTALL=OFF
 | 
			
		||||
    ELEMENTS_LIQUID_ENABLE=OFF
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
if grep Bisq $tempfile >/dev/null 2>&1;then
 | 
			
		||||
    BISQ_INSTALL=ON
 | 
			
		||||
    BISQ_MAINNET_ENABLE=ON
 | 
			
		||||
else
 | 
			
		||||
    BISQ_INSTALL=OFF
 | 
			
		||||
    BISQ_MAINNET_ENABLE=OFF
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
if grep Lightmode $tempfile >/dev/null 2>&1;then
 | 
			
		||||
    BITCOIN_ELECTRS_LIGHT_MODE=ON
 | 
			
		||||
else
 | 
			
		||||
    BITCOIN_ELECTRS_LIGHT_MODE=OFF
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
if grep Smalldisk $tempfile >/dev/null 2>&1;then
 | 
			
		||||
    BITCOIN_ELECTRS_LIGHT_MODE=ON
 | 
			
		||||
else
 | 
			
		||||
    BITCOIN_ELECTRS_LIGHT_MODE=OFF
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
#################
 | 
			
		||||
# dialog part 2 #
 | 
			
		||||
#################
 | 
			
		||||
 | 
			
		||||
$DIALOG --cr-wrap \
 | 
			
		||||
        --title "INPUT BOX" --clear \
 | 
			
		||||
        --inputbox "$@" \
 | 
			
		||||
"Enter the FQDN hostname for obtaining an SSL certificate using Certbot:" 0 0 "${HOSTNAME}" 2> $tempfile
 | 
			
		||||
HOSTNAME=$(cat $tempfile)
 | 
			
		||||
 | 
			
		||||
#################
 | 
			
		||||
# dialog part 3 #
 | 
			
		||||
#################
 | 
			
		||||
 | 
			
		||||
#   --form text height width formheight
 | 
			
		||||
#   [ label y x item y x flen ilen ]
 | 
			
		||||
    #"BISQ_BLOCKNOTIFY_HOST"             0 1 "${BISQ_BLOCKNOTIFY_HOST}"              0 30 0 0 \
 | 
			
		||||
 | 
			
		||||
$DIALOG --ok-label "Submit" \
 | 
			
		||||
    --backtitle "$backtitle" "$@" \
 | 
			
		||||
    --form "Your fullnode will be installed as follows:" 0 0 0 \
 | 
			
		||||
    "BISQ_LATEST_RELEASE"               1 1 "${BISQ_LATEST_RELEASE}"                1 35 35 0 \
 | 
			
		||||
    "BISQ_REPO_BRANCH"                  2 1 "${BISQ_REPO_BRANCH}"                   2 35 35 0 \
 | 
			
		||||
    "BISQ_REPO_NAME"                    3 1 "${BISQ_REPO_NAME}"                     3 35 35 0 \
 | 
			
		||||
    "BISQ_REPO_URL"                     4 1 "${BISQ_REPO_URL}"                      4 35 35 0 \
 | 
			
		||||
    "BITCOIN_ELECTRS_LATEST_RELEASE"    5 1 "${BITCOIN_ELECTRS_LATEST_RELEASE}"    5 35 35 0 \
 | 
			
		||||
    "BITCOIN_ELECTRS_LIGHT_MODE"        6 1 "${BITCOIN_ELECTRS_LIGHT_MODE}"        6 35 35 0 \
 | 
			
		||||
    "BITCOIN_ELECTRS_REPO_BRANCH"       7 1 "${BITCOIN_ELECTRS_REPO_BRANCH}"       7 35 35 0 \
 | 
			
		||||
    "BITCOIN_ELECTRS_REPO_NAME"         8 1 "${BITCOIN_ELECTRS_REPO_NAME}"         8 35 35 0 \
 | 
			
		||||
    "BITCOIN_ELECTRS_REPO_URL"          9 1 "${BITCOIN_ELECTRS_REPO_URL}"          9 35 35 0 \
 | 
			
		||||
    "BITCOIN_LATEST_RELEASE"            10 1 "${BITCOIN_LATEST_RELEASE}"            10 35 35 0 \
 | 
			
		||||
    "BITCOIN_MAINNET_ENABLE"            11 1 "${BITCOIN_MAINNET_ENABLE}"            11 35 35 0 \
 | 
			
		||||
    "BITCOIN_REPO_BRANCH"               12 1 "${BITCOIN_REPO_BRANCH}"               12 35 35 0 \
 | 
			
		||||
    "BITCOIN_REPO_NAME"                 13 1 "${BITCOIN_REPO_NAME}"                 13 35 35 0 \
 | 
			
		||||
    "BITCOIN_REPO_URL"                  14 1 "${BITCOIN_REPO_URL}"                  14 35 35 0 \
 | 
			
		||||
    "BITCOIN_TESTNET_ENABLE"            15 1 "${BITCOIN_TESTNET_ENABLE}"            15 35 35 0 \
 | 
			
		||||
    "ELEMENTS_INSTALL"                  16 1 "${ELEMENTS_INSTALL}"                  16 35 35 0 \
 | 
			
		||||
    "ELEMENTS_LATEST_RELEASE"           17 1 "${ELEMENTS_LATEST_RELEASE}"           17 35 35 0 \
 | 
			
		||||
    "ELEMENTS_LIQUID_ENABLE"            18 1 "${ELEMENTS_LIQUID_ENABLE}"            18 35 35 0 \
 | 
			
		||||
    "ELEMENTS_REPO_BRANCH"              19 1 "${ELEMENTS_REPO_BRANCH}"              19 35 35 0 \
 | 
			
		||||
    "ELEMENTS_REPO_NAME"                20 1 "${ELEMENTS_REPO_NAME}"                20 35 35 0 \
 | 
			
		||||
    "ELEMENTS_REPO_URL"                 21 1 "${ELEMENTS_REPO_URL}"                 21 35 35 0 \
 | 
			
		||||
    "MEMPOOL_LATEST_RELEASE"            22 1 "${MEMPOOL_LATEST_RELEASE}"            22 35 35 0 \
 | 
			
		||||
    "MEMPOOL_LIQUID_HTTP_HOST"          23 1 "${MEMPOOL_LIQUID_HTTP_HOST}"          23 35 35 0 \
 | 
			
		||||
    "MEMPOOL_LIQUID_HTTP_PORT"          24 1 "${MEMPOOL_LIQUID_HTTP_PORT}"          24 35 35 0 \
 | 
			
		||||
    "MEMPOOL_MAINNET_HTTP_HOST"         25 1 "${MEMPOOL_MAINNET_HTTP_HOST}"         25 35 35 0 \
 | 
			
		||||
    "MEMPOOL_MAINNET_HTTP_PORT"         26 1 "${MEMPOOL_MAINNET_HTTP_PORT}"         26 35 35 0 \
 | 
			
		||||
    "MEMPOOL_REPO_BRANCH"               27 1 "${MEMPOOL_REPO_BRANCH}"               27 35 35 0 \
 | 
			
		||||
    "MEMPOOL_REPO_NAME"                 28 1 "${MEMPOOL_REPO_NAME}"                 28 35 35 0 \
 | 
			
		||||
    "MEMPOOL_REPO_URL"                  29 1 "${MEMPOOL_REPO_URL}"                  29 35 35 0 \
 | 
			
		||||
    "MEMPOOL_TESTNET_HTTP_HOST"         30 1 "${MEMPOOL_TESTNET_HTTP_HOST}"         30 35 35 0 \
 | 
			
		||||
    "MEMPOOL_TESTNET_HTTP_PORT"         31 1 "${MEMPOOL_TESTNET_HTTP_PORT}"         31 35 35 0 \
 | 
			
		||||
    "MEMPOOL_TOR_HS"                    32 1 "${MEMPOOL_TOR_HS}"                    32 35 35 0 \
 | 
			
		||||
    "HOSTNAME"                          33 1 "${HOSTNAME}"                          33 35 35 0 \
 | 
			
		||||
    "TOR_INSTALL"                       34 1 "${TOR_INSTALL}"                       34 35 35 0 \
 | 
			
		||||
    "CERTBOT_INSTALL"                   35 1 "${CERTBOT_INSTALL}"                   35 35 35 0 \
 | 
			
		||||
2> $tempfile
 | 
			
		||||
 | 
			
		||||
retval=$?
 | 
			
		||||
 | 
			
		||||
if [ $retval != $DIALOG_OK ];then
 | 
			
		||||
    echo "Installation aborted."
 | 
			
		||||
    exit 1
 | 
			
		||||
fi
 | 
			
		||||
###########
 | 
			
		||||
## dialog #
 | 
			
		||||
###########
 | 
			
		||||
#
 | 
			
		||||
#: ${DIALOG=dialog}
 | 
			
		||||
#
 | 
			
		||||
#: ${DIALOG_OK=0}
 | 
			
		||||
#: ${DIALOG_CANCEL=1}
 | 
			
		||||
#: ${DIALOG_HELP=2}
 | 
			
		||||
#: ${DIALOG_EXTRA=3}
 | 
			
		||||
#: ${DIALOG_ITEM_HELP=4}
 | 
			
		||||
#: ${DIALOG_ESC=255}
 | 
			
		||||
#
 | 
			
		||||
#: ${SIG_OFFNE=0}
 | 
			
		||||
#: ${SIG_HUP=1}
 | 
			
		||||
#: ${SIG_INT=2}
 | 
			
		||||
#: ${SIG_QUIT=3}
 | 
			
		||||
#: ${SIG_KILL=9}
 | 
			
		||||
#: ${SIG_TERM=15}
 | 
			
		||||
#
 | 
			
		||||
#input=`tempfile 2>/dev/null` || input=/tmp/input$$
 | 
			
		||||
#output=`tempfile 2>/dev/null` || output=/tmp/test$$
 | 
			
		||||
#trap "rm -f $input $output" $SIG_OFFNE $SIG_HUP $SIG_INT $SIG_TRAP $SIG_TERM
 | 
			
		||||
#
 | 
			
		||||
#DIALOG_ERROR=254
 | 
			
		||||
#export DIALOG_ERROR
 | 
			
		||||
#
 | 
			
		||||
#backtitle="Mempool Fullnode Installer"
 | 
			
		||||
#title="Mempool Fullnode Installer"
 | 
			
		||||
#returncode=0
 | 
			
		||||
#
 | 
			
		||||
##################
 | 
			
		||||
## dialog part 1 #
 | 
			
		||||
##################
 | 
			
		||||
#
 | 
			
		||||
#$CUT >$input <<-EOF
 | 
			
		||||
#Tor:Enable Tor v3 HS Onion:ON
 | 
			
		||||
#Certbot:Enable HTTPS using Certbot:ON
 | 
			
		||||
#Mainnet:Enable Bitcoin Mainnet:ON
 | 
			
		||||
#Mainnet-Minfee:Enable Bitcoin Mainnet Minfee:ON
 | 
			
		||||
#Testnet:Enable Bitcoin Testnet:ON
 | 
			
		||||
#Liquid:Enable Elements Liquid:ON
 | 
			
		||||
#Bisq:Enable Bisq:ON
 | 
			
		||||
#Lightmode:Enable Electrs Lightmode to save disk space:ON
 | 
			
		||||
#Smalldisk:Disable Electrs Compaction to save disk space:ON
 | 
			
		||||
#Firewall:Enable Firewall:ON
 | 
			
		||||
#EOF
 | 
			
		||||
#
 | 
			
		||||
#cat $input | sed -e 's/^/"/' -e 's/:/" "/g' -e 's/$/"/' >$output
 | 
			
		||||
#cat $output >$input
 | 
			
		||||
#
 | 
			
		||||
#$DIALOG --backtitle "${backtitle}" \
 | 
			
		||||
#        --title "${title}" "$@" \
 | 
			
		||||
#        --checklist "Toggle the features below to configure your fullnode:\n" \
 | 
			
		||||
#        20 80 10 \
 | 
			
		||||
#        --file $input 2> $output
 | 
			
		||||
#
 | 
			
		||||
#retval=$?
 | 
			
		||||
#
 | 
			
		||||
#tempfile=$output
 | 
			
		||||
#if [ $retval != $DIALOG_OK ];then
 | 
			
		||||
#    echo "Installation aborted."
 | 
			
		||||
#    exit 1
 | 
			
		||||
#fi
 | 
			
		||||
#
 | 
			
		||||
#if grep Tor $tempfile >/dev/null 2>&1;then
 | 
			
		||||
#    TOR_INSTALL=ON
 | 
			
		||||
#else
 | 
			
		||||
#    TOR_INSTALL=OFF
 | 
			
		||||
#fi
 | 
			
		||||
#
 | 
			
		||||
#if grep Certbot $tempfile >/dev/null 2>&1;then
 | 
			
		||||
#    CERTBOT_INSTALL=ON
 | 
			
		||||
#else
 | 
			
		||||
#    CERTBOT_INSTALL=OFF
 | 
			
		||||
#fi
 | 
			
		||||
#
 | 
			
		||||
#if grep Mainnet $tempfile >/dev/null 2>&1;then
 | 
			
		||||
#    BITCOIN_MAINNET_ENABLE=ON
 | 
			
		||||
#else
 | 
			
		||||
#    BITCOIN_MAINNET_ENABLE=OFF
 | 
			
		||||
#fi
 | 
			
		||||
#
 | 
			
		||||
#if grep Mainnet-Minfee $tempfile >/dev/null 2>&1;then
 | 
			
		||||
#    BITCOIN_MAINNET_MINFEE_ENABLE=ON
 | 
			
		||||
#else
 | 
			
		||||
#    BITCOIN_MAINNET_MINFEE_ENABLE=OFF
 | 
			
		||||
#fi
 | 
			
		||||
#
 | 
			
		||||
#if grep Testnet $tempfile >/dev/null 2>&1;then
 | 
			
		||||
#    BITCOIN_TESTNET_ENABLE=ON
 | 
			
		||||
#else
 | 
			
		||||
#    BITCOIN_TESTNET_ENABLE=OFF
 | 
			
		||||
#fi
 | 
			
		||||
#
 | 
			
		||||
#if grep Liquid $tempfile >/dev/null 2>&1;then
 | 
			
		||||
#    ELEMENTS_INSTALL=ON
 | 
			
		||||
#    ELEMENTS_LIQUID_ENABLE=ON
 | 
			
		||||
#else
 | 
			
		||||
#    ELEMENTS_INSTALL=OFF
 | 
			
		||||
#    ELEMENTS_LIQUID_ENABLE=OFF
 | 
			
		||||
#fi
 | 
			
		||||
#
 | 
			
		||||
#if grep Bisq $tempfile >/dev/null 2>&1;then
 | 
			
		||||
#    BISQ_INSTALL=ON
 | 
			
		||||
#    BISQ_MAINNET_ENABLE=ON
 | 
			
		||||
#else
 | 
			
		||||
#    BISQ_INSTALL=OFF
 | 
			
		||||
#    BISQ_MAINNET_ENABLE=OFF
 | 
			
		||||
#fi
 | 
			
		||||
#
 | 
			
		||||
#if grep Lightmode $tempfile >/dev/null 2>&1;then
 | 
			
		||||
#    BITCOIN_ELECTRS_LIGHT_MODE=ON
 | 
			
		||||
#else
 | 
			
		||||
#    BITCOIN_ELECTRS_LIGHT_MODE=OFF
 | 
			
		||||
#fi
 | 
			
		||||
#
 | 
			
		||||
#if grep Smalldisk $tempfile >/dev/null 2>&1;then
 | 
			
		||||
#    BITCOIN_ELECTRS_LIGHT_MODE=ON
 | 
			
		||||
#else
 | 
			
		||||
#    BITCOIN_ELECTRS_LIGHT_MODE=OFF
 | 
			
		||||
#fi
 | 
			
		||||
#
 | 
			
		||||
##################
 | 
			
		||||
## dialog part 2 #
 | 
			
		||||
##################
 | 
			
		||||
#
 | 
			
		||||
#$DIALOG --cr-wrap \
 | 
			
		||||
#        --title "INPUT BOX" --clear \
 | 
			
		||||
#        --inputbox "$@" \
 | 
			
		||||
#"Enter the FQDN hostname for obtaining an SSL certificate using Certbot:" 0 0 "${HOSTNAME}" 2> $tempfile
 | 
			
		||||
#HOSTNAME=$(cat $tempfile)
 | 
			
		||||
#
 | 
			
		||||
##################
 | 
			
		||||
## dialog part 3 #
 | 
			
		||||
##################
 | 
			
		||||
#
 | 
			
		||||
##   --form text height width formheight
 | 
			
		||||
##   [ label y x item y x flen ilen ]
 | 
			
		||||
#    #"BISQ_BLOCKNOTIFY_HOST"             0 1 "${BISQ_BLOCKNOTIFY_HOST}"              0 30 0 0 \
 | 
			
		||||
#
 | 
			
		||||
#$DIALOG --ok-label "Submit" \
 | 
			
		||||
#    --backtitle "$backtitle" "$@" \
 | 
			
		||||
#    --form "Your fullnode will be installed as follows:" 0 0 0 \
 | 
			
		||||
#    "BISQ_LATEST_RELEASE"               1 1 "${BISQ_LATEST_RELEASE}"                1 35 35 0 \
 | 
			
		||||
#    "BISQ_REPO_BRANCH"                  2 1 "${BISQ_REPO_BRANCH}"                   2 35 35 0 \
 | 
			
		||||
#    "BISQ_REPO_NAME"                    3 1 "${BISQ_REPO_NAME}"                     3 35 35 0 \
 | 
			
		||||
#    "BISQ_REPO_URL"                     4 1 "${BISQ_REPO_URL}"                      4 35 35 0 \
 | 
			
		||||
#    "BITCOIN_ELECTRS_LATEST_RELEASE"    5 1 "${BITCOIN_ELECTRS_LATEST_RELEASE}"    5 35 35 0 \
 | 
			
		||||
#    "BITCOIN_ELECTRS_LIGHT_MODE"        6 1 "${BITCOIN_ELECTRS_LIGHT_MODE}"        6 35 35 0 \
 | 
			
		||||
#    "BITCOIN_ELECTRS_REPO_BRANCH"       7 1 "${BITCOIN_ELECTRS_REPO_BRANCH}"       7 35 35 0 \
 | 
			
		||||
#    "BITCOIN_ELECTRS_REPO_NAME"         8 1 "${BITCOIN_ELECTRS_REPO_NAME}"         8 35 35 0 \
 | 
			
		||||
#    "BITCOIN_ELECTRS_REPO_URL"          9 1 "${BITCOIN_ELECTRS_REPO_URL}"          9 35 35 0 \
 | 
			
		||||
#    "BITCOIN_LATEST_RELEASE"            10 1 "${BITCOIN_LATEST_RELEASE}"            10 35 35 0 \
 | 
			
		||||
#    "BITCOIN_MAINNET_ENABLE"            11 1 "${BITCOIN_MAINNET_ENABLE}"            11 35 35 0 \
 | 
			
		||||
#    "BITCOIN_REPO_BRANCH"               12 1 "${BITCOIN_REPO_BRANCH}"               12 35 35 0 \
 | 
			
		||||
#    "BITCOIN_REPO_NAME"                 13 1 "${BITCOIN_REPO_NAME}"                 13 35 35 0 \
 | 
			
		||||
#    "BITCOIN_REPO_URL"                  14 1 "${BITCOIN_REPO_URL}"                  14 35 35 0 \
 | 
			
		||||
#    "BITCOIN_TESTNET_ENABLE"            15 1 "${BITCOIN_TESTNET_ENABLE}"            15 35 35 0 \
 | 
			
		||||
#    "ELEMENTS_INSTALL"                  16 1 "${ELEMENTS_INSTALL}"                  16 35 35 0 \
 | 
			
		||||
#    "ELEMENTS_LATEST_RELEASE"           17 1 "${ELEMENTS_LATEST_RELEASE}"           17 35 35 0 \
 | 
			
		||||
#    "ELEMENTS_LIQUID_ENABLE"            18 1 "${ELEMENTS_LIQUID_ENABLE}"            18 35 35 0 \
 | 
			
		||||
#    "ELEMENTS_REPO_BRANCH"              19 1 "${ELEMENTS_REPO_BRANCH}"              19 35 35 0 \
 | 
			
		||||
#    "ELEMENTS_REPO_NAME"                20 1 "${ELEMENTS_REPO_NAME}"                20 35 35 0 \
 | 
			
		||||
#    "ELEMENTS_REPO_URL"                 21 1 "${ELEMENTS_REPO_URL}"                 21 35 35 0 \
 | 
			
		||||
#    "MEMPOOL_LATEST_RELEASE"            22 1 "${MEMPOOL_LATEST_RELEASE}"            22 35 35 0 \
 | 
			
		||||
#    "MEMPOOL_LIQUID_HTTP_HOST"          23 1 "${MEMPOOL_LIQUID_HTTP_HOST}"          23 35 35 0 \
 | 
			
		||||
#    "MEMPOOL_LIQUID_HTTP_PORT"          24 1 "${MEMPOOL_LIQUID_HTTP_PORT}"          24 35 35 0 \
 | 
			
		||||
#    "MEMPOOL_MAINNET_HTTP_HOST"         25 1 "${MEMPOOL_MAINNET_HTTP_HOST}"         25 35 35 0 \
 | 
			
		||||
#    "MEMPOOL_MAINNET_HTTP_PORT"         26 1 "${MEMPOOL_MAINNET_HTTP_PORT}"         26 35 35 0 \
 | 
			
		||||
#    "MEMPOOL_REPO_BRANCH"               27 1 "${MEMPOOL_REPO_BRANCH}"               27 35 35 0 \
 | 
			
		||||
#    "MEMPOOL_REPO_NAME"                 28 1 "${MEMPOOL_REPO_NAME}"                 28 35 35 0 \
 | 
			
		||||
#    "MEMPOOL_REPO_URL"                  29 1 "${MEMPOOL_REPO_URL}"                  29 35 35 0 \
 | 
			
		||||
#    "MEMPOOL_TESTNET_HTTP_HOST"         30 1 "${MEMPOOL_TESTNET_HTTP_HOST}"         30 35 35 0 \
 | 
			
		||||
#    "MEMPOOL_TESTNET_HTTP_PORT"         31 1 "${MEMPOOL_TESTNET_HTTP_PORT}"         31 35 35 0 \
 | 
			
		||||
#    "MEMPOOL_TOR_HS"                    32 1 "${MEMPOOL_TOR_HS}"                    32 35 35 0 \
 | 
			
		||||
#    "HOSTNAME"                          33 1 "${HOSTNAME}"                          33 35 35 0 \
 | 
			
		||||
#    "TOR_INSTALL"                       34 1 "${TOR_INSTALL}"                       34 35 35 0 \
 | 
			
		||||
#    "CERTBOT_INSTALL"                   35 1 "${CERTBOT_INSTALL}"                   35 35 35 0 \
 | 
			
		||||
#2> $tempfile
 | 
			
		||||
#
 | 
			
		||||
#retval=$?
 | 
			
		||||
#
 | 
			
		||||
#if [ $retval != $DIALOG_OK ];then
 | 
			
		||||
#    echo "Installation aborted."
 | 
			
		||||
#    exit 1
 | 
			
		||||
#fi
 | 
			
		||||
 | 
			
		||||
############################
 | 
			
		||||
# START DOING ACTUAL STUFF #
 | 
			
		||||
@ -842,8 +842,6 @@ fi
 | 
			
		||||
date
 | 
			
		||||
echo "[*] Mempool installation script for ${OS}"
 | 
			
		||||
 | 
			
		||||
set -x
 | 
			
		||||
 | 
			
		||||
###################################
 | 
			
		||||
# create filesystems if necessary #
 | 
			
		||||
###################################
 | 
			
		||||
@ -907,7 +905,7 @@ echo "[*] Installing nvm.sh from GitHub"
 | 
			
		||||
osSudo "${MEMPOOL_USER}" sh -c 'curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | zsh'
 | 
			
		||||
 | 
			
		||||
echo "[*] Building NodeJS via nvm.sh"
 | 
			
		||||
osSudo "${MEMPOOL_USER}" zsh -c 'source ~/.zshrc ; nvm install v16.15.0'
 | 
			
		||||
osSudo "${MEMPOOL_USER}" zsh -c 'source ~/.zshrc ; nvm install v16.16.0 --shared-zlib'
 | 
			
		||||
 | 
			
		||||
####################
 | 
			
		||||
# Tor installation #
 | 
			
		||||
@ -1613,7 +1611,10 @@ EOF
 | 
			
		||||
    ;;
 | 
			
		||||
esac
 | 
			
		||||
 | 
			
		||||
##### Build Mempool
 | 
			
		||||
 | 
			
		||||
echo "[*] Build Mempool"
 | 
			
		||||
osSudo "${MEMPOOL_USER}" sh -c "cd ${MEMPOOL_HOME} && ./upgrade"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -1692,8 +1693,21 @@ esac
 | 
			
		||||
 | 
			
		||||
##### finish
 | 
			
		||||
 | 
			
		||||
echo 'Please reboot to start all the services.'
 | 
			
		||||
case $OS in
 | 
			
		||||
 | 
			
		||||
    FreeBSD)
 | 
			
		||||
    ;;
 | 
			
		||||
 | 
			
		||||
    Debian)
 | 
			
		||||
        echo "This are the generated Tor addresses:"
 | 
			
		||||
        echo "${NGINX_MEMPOOL_ONION}"
 | 
			
		||||
        echo "${NGINX_BISQ_ONION}"
 | 
			
		||||
        echo "${NGINX_LIQUID_ONION}"
 | 
			
		||||
    ;;
 | 
			
		||||
esac
 | 
			
		||||
 | 
			
		||||
echo
 | 
			
		||||
echo 'Please reboot to start all the services.'
 | 
			
		||||
echo '[*] Done!'
 | 
			
		||||
 | 
			
		||||
exit 0
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user